After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 773029 - [gucharmap] style-set signal problem
[gucharmap] style-set signal problem
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
3.22.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
: 773187 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-10-16 12:58 UTC by oemer+gnome
Modified: 2016-10-21 23:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description oemer+gnome 2016-10-16 12:58:57 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)
Comment 1 Christian Persch 2016-10-18 20:59:22 UTC
*** Bug 773187 has been marked as a duplicate of this bug. ***
Comment 2 userwithuid 2016-10-18 23:58:13 UTC
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.
Comment 3 Christian Persch 2016-10-19 08:34:08 UTC
-> gtk+

The commit inverses the order of setting priv->style and emitting the signal when called from gtk_widget_ensure_style.