[Libreoffice-bugs] [Bug 136512] Infinite event loop in vcl/unx/gtk3/gtk3gtkdata.cxx

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Tue Sep 8 18:12:54 UTC 2020


https://bugs.documentfoundation.org/show_bug.cgi?id=136512

--- Comment #13 from Tom <mbox.789 at posteo.org> ---
OK.
- I did not re-built / re-compile LO.
- I added a breakdpoint ignoring 200 breaks to
  File: vcl/unx/gtk3/gtk3gtkframe.cxx
  Procedure: GtkSalFrame::signalStyleUpdated
  Line: 3300, see (BP)

  void GtkSalFrame::signalStyleUpdated(GtkWidget*, gpointer frame)
  {
    GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);

    // note: settings changed for multiple frames is avoided in winproc.cxx
       ImplHandleSettings
(BP)   GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, 
       SalEvent::SettingsChanged );

    // fire off font-changed when the system cairo font hints change

BTW, line 3336 in gtk3gtkframe.cxx of my source code is in procedure
GtkSalFrame::signalWindowState. So, I added the breakpoint to line 3300,
instead.

I ran a backtrace and got:

#0  GtkSalFrame::signalStyleUpdated (frame=0x16283f0) at
vcl/unx/gtk3/gtk3gtkframe.cxx:3300
#1  0x00007fffe93b9fa5 in g_closure_invoke () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2  0x00007fffe93cbfc1 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007fffe93d4d5c in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007fffe93d508f in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007fffe93ba1d4 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007fffe93d49a6 in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007fffe93d508f in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007fffdfc77f56 in gtk_style_context_do_invalidate (context=0x1420ec0,
changes=0x18199f0) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkstylecontext.c:2415
#9  0x00007fffdfb48093 in gtk_css_widget_node_validate (node=0x149b430) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkcsswidgetnode.c:132
#10 0x00007fffdfb2fabd in gtk_css_node_validate_internal (cssnode=0x149b430,
timestamp=1283607254) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkcssnode.c:1284
#11 0x00007fffdfb1c466 in gtk_container_idle_sizer (clock=0x11a2740,
container=0x1229350) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkcontainer.c:2014
#12 0x00007fffe93ba1d4 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007fffe93d49a6 in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007fffe93d5555 in g_signal_emit_by_name () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007fffdf71ff28 in gdk_frame_clock_paint_idle (data=0x11a2740) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gdk/gdkframeclockidle.c:408
#16 0x00007fffdf70f3c8 in gdk_threads_dispatch (data=0x12d70e0) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gdk/gdk.c:719
#17 0x00007fffe90e3ab3 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007fffe90e304a in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fffe90e33f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fffe90e349c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fffe0438991 in GtkSalData::Yield (this=0x5082a0, bWait=true,
bHandleAllCurrentEvents=false) at vcl/unx/gtk3/gtk3gtkdata.cxx:385
#22 0x00007fffe043bfa8 in GtkInstance::DoYield (this=0x5079d0, bWait=true,
bHandleAllCurrentEvents=false) at vcl/unx/gtk3/gtk3gtkinst.cxx:387
#23 0x00007ffff063becb in ImplYield (i_bWait=true, i_bAllEvents=false) at
vcl/source/app/svapp.cxx:455
#24 0x00007ffff063c3ed in Application::Yield () at vcl/source/app/svapp.cxx:519
#25 0x00007ffff063bcb1 in Application::Execute () at
vcl/source/app/svapp.cxx:434
#26 0x00007ffff7c291f0 in (anonymous namespace)::Desktop::Main
(this=0x7fffffffdfc0) at desktop/source/app/app.cxx:1602
#27 0x00007ffff064dda5 in ImplSVMain () at vcl/source/app/svmain.cxx:200
#28 0x00007ffff064deca in SVMain () at vcl/source/app/svmain.cxx:232
#29 0x00007ffff7c7a92b in soffice_main () at
desktop/source/app/sofficemain.cxx:98
#30 0x0000000000400796 in sal_main () at desktop/source/app/main.c:48
#31 0x000000000040077c in main (argc=1, argv=0x7fffffffe308) at
desktop/source/app/main.c:47

I repeated the experiement and ran another backtrace. The result differed only
as items #8 (changes=...) and #10 (timestamp=...) are concerned. Here they are:

#8  0x00007fffdfc77f56 in gtk_style_context_do_invalidate (context=0x1420ec0,
changes=0x18199f0) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkstylecontext.c:2415
...
#10 0x00007fffdfb2fabd in gtk_css_node_validate_internal (cssnode=0x149b430,
timestamp=1283607254) at
/build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtkcssnode.c:1284

Regards
Tom

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20200908/d9eafe0a/attachment.htm>


More information about the Libreoffice-bugs mailing list