GNOME Bugzilla – Bug 773029
[gucharmap] style-set signal problem
Last modified: 2016-10-21 23:34:15 UTC
When I try to change the font gucharmap crashes. » coredumpctl -1 dump PID: 3692 (gucharmap) UID: 1000 (oemer) GID: 100 (users) Signal: 11 (SEGV) Timestamp: So 2016-10-16 14:51:25 CEST (6min ago) Command Line: gucharmap Executable: /usr/bin/gucharmap Control Group: /user.slice/user-1000.slice/session-c1.scope Unit: session-c1.scope Slice: user-1000.slice Session: c1 Owner UID: 1000 (oemer) Boot ID: 0310c236a13246f7bf8376fc09f11a7c Machine ID: 4d6ec3ab73ed4008a2f8c7bf77e73ada Hostname: oemer Coredump: /var/lib/systemd/coredump/core.gucharmap.1000.0310c236a13246f7bf8376fc09f11a7c.3692.1476622285000000000000.lz4 Message: Process 3692 (gucharmap) of user 1000 dumped core. Stack trace of thread 3692: #0 0x00007f45aa9466b0 ____strtod_l_internal (libc.so.6) #1 0x00007f45abd250de n/a (libpango-1.0.so.0) #2 0x00007f45abd26781 pango_font_description_from_string (libpango-1.0.so.0) #3 0x00007f45ac52e3c0 n/a (libgtk-3.so.0) #4 0x00007f45ab20d34b g_type_create_instance (libgobject-2.0.so.0) #5 0x00007f45ab1ef1fb n/a (libgobject-2.0.so.0) #6 0x00007f45ab1f110e g_object_new_valist (libgobject-2.0.so.0) #7 0x00007f45ab1f13b1 g_object_new (libgobject-2.0.so.0) #8 0x00007f45ac534696 gtk_widget_get_style (libgtk-3.so.0) #9 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #10 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #11 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #12 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #13 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #14 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #15 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #16 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #17 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #18 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #19 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #20 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #21 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #22 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #23 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #24 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #25 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #26 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #27 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #28 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #29 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #30 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #31 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #32 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #33 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #34 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #35 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #36 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #37 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #38 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #39 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #40 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #41 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #42 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #43 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #44 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #45 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #46 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #47 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #48 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #49 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #50 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #51 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #52 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #53 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #54 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #55 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #56 0x00007f45ac7f0413 n/a (libgtk-3.so.0) #57 0x00007f45ac5346a6 gtk_widget_get_style (libgtk-3.so.0) #58 0x00007f45acd77151 n/a (libgucharmap_2_90.so.7) #59 0x00007f45ab1e9ecf g_closure_invoke (libgobject-2.0.so.0) #60 0x00007f45ab1fbf82 n/a (libgobject-2.0.so.0) #61 0x00007f45ab204bcc g_signal_emit_valist (libgobject-2.0.so.0) #62 0x00007f45ab204faf g_signal_emit (libgobject-2.0.so.0) #63 0x00007f45ac7f0413 n/a (libgtk-3.so.0) Stack trace of thread 3695: #0 0x00007f45aa9eb48d poll (libc.so.6) #1 0x00007f45aaf11786 n/a (libglib-2.0.so.0) #2 0x00007f45aaf1189c g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f459f0af4bd n/a (libdconfsettings.so) #4 0x00007f45aaf390d5 n/a (libglib-2.0.so.0) #5 0x00007f45aacb1454 start_thread (libpthread.so.0) #6 0x00007f45aa9f47df __clone (libc.so.6) Stack trace of thread 3693: #0 0x00007f45aa9eb48d poll (libc.so.6) #1 0x00007f45aaf11786 n/a (libglib-2.0.so.0) #2 0x00007f45aaf1189c g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f45aaf118e1 n/a (libglib-2.0.so.0) #4 0x00007f45aaf390d5 n/a (libglib-2.0.so.0) #5 0x00007f45aacb1454 start_thread (libpthread.so.0) #6 0x00007f45aa9f47df __clone (libc.so.6) Stack trace of thread 3697: #0 0x00007f45aa9eb48d poll (libc.so.6) #1 0x00007f459cd97121 n/a (libpulse.so.0) #2 0x00007f459cd888f1 pa_mainloop_poll (libpulse.so.0) #3 0x00007f459cd88f8e pa_mainloop_iterate (libpulse.so.0) #4 0x00007f459cd89040 pa_mainloop_run (libpulse.so.0) #5 0x00007f459cd97069 n/a (libpulse.so.0) #6 0x00007f459cb35ed8 n/a (libpulsecommon-9.0.so) #7 0x00007f45aacb1454 start_thread (libpthread.so.0) #8 0x00007f45aa9f47df __clone (libc.so.6) Stack trace of thread 3694: #0 0x00007f45aa9eb48d poll (libc.so.6) #1 0x00007f45aaf11786 n/a (libglib-2.0.so.0) #2 0x00007f45aaf11b12 g_main_loop_run (libglib-2.0.so.0) #3 0x00007f45ab4f7316 n/a (libgio-2.0.so.0) #4 0x00007f45aaf390d5 n/a (libglib-2.0.so.0) #5 0x00007f45aacb1454 start_thread (libpthread.so.0) #6 0x00007f45aa9f47df __clone (libc.so.6) Stack trace of thread 3696: #0 0x00007f45aa9eff19 syscall (libc.so.6) #1 0x00007f45aaf5703a g_cond_wait_until (libglib-2.0.so.0) #2 0x00007f45aaee5e89 n/a (libglib-2.0.so.0) #3 0x00007f45aaee64ac g_async_queue_timeout_pop (libglib-2.0.so.0) #4 0x00007f45aaf39b9d n/a (libglib-2.0.so.0) #5 0x00007f45aaf390d5 n/a (libglib-2.0.so.0) #6 0x00007f45aacb1454 start_thread (libpthread.so.0) #7 0x00007f45aa9f47df __clone (libc.so.6)
*** Bug 773187 has been marked as a duplicate of this bug. ***
Bisected to this gtk commit: https://git.gnome.org/browse/gtk+/commit/?id=0f116135f4a5033ce4e9dfa19f10624701fa615c Reverting this on 3.22 avoids the crash for me. No idea if gucharmap or gtk should be fixed.
-> gtk+ The commit inverses the order of setting priv->style and emitting the signal when called from gtk_widget_ensure_style.
The ordering is fixed here: https://git.gnome.org/browse/gtk+/commit/?h=gtk-3-22&id=e51d73afa3d94116ea99136263d300e25ead38ad