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 707328 - Segmentation fault when running on Wayland compositor
Segmentation fault when running on Wayland compositor
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Backend: Wayland
3.9.x
Other Linux
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2013-09-02 22:00 UTC by Armin K.
Modified: 2013-09-16 23:04 UTC
See Also:
GNOME target: 3.10
GNOME version: ---


Attachments
Possible Fix (829 bytes, patch)
2013-09-16 14:30 UTC, Armin K.
none Details | Review

Description Armin K. 2013-09-02 22:00:18 UTC
Latest git master dumps core when running in a Wayland compositor (weston).

Steps to reproduce:

Start evince from weston-terminal
Click on gtkmenu (gmenu?), it opens fine.
Move cursor, let the menu disappear.
Click again on gtkmenu (gmenu?).
Core dumped.

GTK+ stack is mostly latest available.

Backtrace here:

  • #0 wl_proxy_marshal
    at wayland-client.c line 420
  • #1 wl_surface_set_opaque_region
    at /usr/include/wayland-client-protocol.h line 1484
  • #2 gdk_wayland_window_set_opaque_region
    at gdkwindow-wayland.c line 2065
  • #3 update_opaque_region
    at gtkwindow.c line 6550
  • #4 _gtk_window_set_allocation
    at gtkwindow.c line 6603
  • #5 gtk_window_size_allocate
    at gtkwindow.c line 6672
  • #6 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #7 _g_closure_invoke_va
    at gclosure.c line 840
  • #8 g_signal_emit_valist
    at gsignal.c line 3238
  • #9 g_signal_emit
    at gsignal.c line 3386
  • #10 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 5552
  • #11 gtk_widget_size_allocate
    at gtkwidget.c line 5619
  • #12 gtk_window_show
    at gtkwindow.c line 5390
  • #13 g_closure_invoke
    at gclosure.c line 777
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3516
  • #15 g_signal_emit_valist
    at gsignal.c line 3330
  • #16 g_signal_emit
    at gsignal.c line 3386
  • #17 gtk_widget_show
    at gtkwidget.c line 4327
  • #18 gtk_menu_popup_for_device
  • #19 popup_menu
    at gtkmenubutton.c line 414
  • #20 gtk_menu_button_button_press_event
    at gtkmenubutton.c line 450
  • #21 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #22 _g_closure_invoke_va
    at gclosure.c line 840
  • #23 g_signal_emit_valist
    at gsignal.c line 3238
  • #24 g_signal_emit
    at gsignal.c line 3386
  • #25 gtk_widget_event_internal
    at gtkwidget.c line 7146
  • #26 gtk_widget_event
    at gtkwidget.c line 6808
  • #27 propagate_event_up
    at gtkmain.c line 2392
  • #28 propagate_event
    at gtkmain.c line 2500
  • #29 gtk_main_do_event
    at gtkmain.c line 1715
  • #30 gdk_event_source_dispatch
    at gdkeventsource.c line 88
  • #31 g_main_dispatch
    at gmain.c line 3065
  • #32 g_main_context_dispatch
    at gmain.c line 3641
  • #33 g_main_context_iterate
    at gmain.c line 3712
  • #34 g_main_context_iteration
    at gmain.c line 3773
  • #35 g_application_run
    at gapplication.c line 1635
  • #36 main
    at main.c line 332

Comment 1 Germán Poo-Caamaño 2013-09-03 15:54:56 UTC
Re-assigning.  This does not seem to be a bug in evince, but triggered by evince.
Comment 2 Armin K. 2013-09-03 20:18:58 UTC
Right, it is also triggered by gnome-disks program which also uses gtkmenu.
Comment 3 Armin K. 2013-09-16 13:33:56 UTC
It happens to any app using any menu entry (ie, File) if you click on it again after it was hidden after first click. Reproducible with any app. It looks that on closing the menu, it frees something that shouldn't be freed, or it doesn't allocate it again when you click the menu.
Comment 4 Armin K. 2013-09-16 14:30:43 UTC
Created attachment 255033 [details] [review]
Possible Fix