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 645228 - segfault on "Move on Toolbar"
segfault on "Move on Toolbar"
Status: RESOLVED FIXED
Product: libegg
Classification: Other
Component: toolbar
unspecified
Other Linux
: High critical
: ---
Assigned To: Soren Sandmann Pedersen
Libegg maintenance
Depends on:
Blocks:
 
 
Reported: 2011-03-19 15:54 UTC by Steve
Modified: 2011-04-03 15:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
stack trace (4.16 KB, application/octet-stream)
2011-04-02 17:46 UTC, Adam Dingle
  Details
dnddevice.diff (930 bytes, patch)
2011-04-02 22:06 UTC, Xan Lopez
none Details | Review
dndfix.diff (931 bytes, patch)
2011-04-03 00:15 UTC, Xan Lopez
none Details | Review
dndfix.diff (1.85 KB, patch)
2011-04-03 15:37 UTC, Xan Lopez
none Details | Review

Description Steve 2011-03-19 15:54:06 UTC
Epiphany 2.91.91.1 built on Slackware-current.

Right-click on bookmark on Toolbar and select "Move on Toolbar" causes Epiphany to segfault.
Comment 1 Akhil Laddha 2011-03-20 01:18:32 UTC
Thanks for taking the time to report this bug.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 2 Adam Dingle 2011-04-02 17:46:07 UTC
I'm seeing this too.  I'm using Epiphany trunk on Fedora 15 alpha.  I'll attach a stack trace.
Comment 3 Adam Dingle 2011-04-02 17:46:30 UTC
Created attachment 184957 [details]
stack trace
Comment 4 Xan Lopez 2011-04-02 21:55:20 UTC
The bt:


Thread 1 (Thread 0xb7fd3ab0 (LWP 18659))

  • #0 g_type_check_instance_cast
    at gtype.c line 3994
  • #1 gdk_window_cache_new
    at gdkdnd-x11.c line 506
  • #2 gdk_window_cache_get
    at gdkdnd-x11.c line 641
  • #3 drag_context_find_window_cache
    at gdkdnd-x11.c line 3275
  • #4 gdk_x11_drag_context_find_window
    at gdkdnd-x11.c line 3297
  • #5 gdk_drag_find_window_for_screen
    at gdkdnd.c line 278
  • #6 gtk_drag_update_idle
    at gtkdnd.c line 3963
  • #7 gdk_threads_dispatch
    at gdk.c line 754
  • #8 g_idle_dispatch
    at gmain.c line 4545
  • #9 g_main_dispatch
    at gmain.c line 2440
  • #10 g_main_context_dispatch
    at gmain.c line 3013
  • #11 g_main_context_iterate
    at gmain.c line 3091
  • #12 g_main_loop_run
    at gmain.c line 3299
  • #13 gtk_main
    at gtkmain.c line 1358
  • #14 main
    at ../../src/ephy-main.c line 747

Seems like a GTK+ bug to me?
Comment 5 Xan Lopez 2011-04-02 21:58:42 UTC
Running with fatal warnings:


Gdk-CRITICAL **: gdk_device_get_source: assertion `GDK_IS_DEVICE (device)' failed
aborting...

Program received signal SIGTRAP, Trace/breakpoint trap.
0x022255fb in g_logv (log_domain=0x36e037 "Gdk", log_level=G_LOG_LEVEL_CRITICAL, format=0x22a2ddc "%s: assertion `%s' failed", 
    args1=0xbfffcb7c "\254\345\066") at gmessages.c:553
553			G_BREAKPOINT ();
(gdb) bt
  • #0 g_logv
    at gmessages.c line 553
  • #1 g_log
    at gmessages.c line 577
  • #2 g_return_if_fail_warning
  • #3 gdk_device_get_source
    at gdkdevice.c line 645
  • #4 gtk_drag_begin_internal
    at gtkdnd.c line 2325
  • #5 gtk_drag_begin
    at gtkdnd.c line 2548
  • #6 move_item_cb
    at ../../../lib/egg/egg-editable-toolbar.c line 309
  • #7 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 79
  • #8 g_closure_invoke
    at gclosure.c line 767
  • #9 signal_emit_unlocked_R
    at gsignal.c line 3256
  • #10 g_signal_emit_valist
    at gsignal.c line 2987
  • #11 g_signal_emit
    at gsignal.c line 3044
  • #12 _gtk_action_emit_activate
    at gtkaction.c line 799
  • #13 gtk_action_activate
    at gtkaction.c line 829
  • #14 gtk_real_menu_item_activate
    at gtkmenuitem.c line 1734
  • #15 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 79
  • #16 g_type_class_meta_marshal
    at gclosure.c line 878
  • #17 g_closure_invoke
    at gclosure.c line 767
  • #18 signal_emit_unlocked_R
    at gsignal.c line 3186
  • #19 g_signal_emit_valist
    at gsignal.c line 2987
  • #20 g_signal_emit
    at gsignal.c line 3044
  • #21 gtk_widget_activate
    at gtkwidget.c line 6109
  • #22 gtk_menu_shell_activate_item
    at gtkmenushell.c line 1403
  • #23 gtk_menu_shell_button_release
    at gtkmenushell.c line 803
  • #24 gtk_menu_button_release
    at gtkmenu.c line 3489
  • #25 _gtk_marshal_BOOLEAN__BOXED
  • #26 g_type_class_meta_marshal
    at gclosure.c line 878
  • #27 g_closure_invoke
    at gclosure.c line 767
  • #28 signal_emit_unlocked_R
    at gsignal.c line 3294
  • #29 g_signal_emit_valist
    at gsignal.c line 2997
  • #30 g_signal_emit
    at gsignal.c line 3044
  • #31 gtk_widget_event_internal
    at gtkwidget.c line 6078
  • #32 gtk_widget_event
    at gtkwidget.c line 5794
  • #33 gtk_propagate_event
    at gtkmain.c line 2597
  • #34 gtk_main_do_event
    at gtkmain.c line 1872
  • #35 _gdk_event_emit
    at gdkevents.c line 71
  • #36 gdk_event_source_dispatch
    at gdkeventsource.c line 318
  • #37 g_main_dispatch
    at gmain.c line 2440
  • #38 g_main_context_dispatch
    at gmain.c line 3013
  • #39 g_main_context_iterate
    at gmain.c line 3091
  • #40 g_main_loop_run
    at gmain.c line 3299
  • #41 gtk_main
    at gtkmain.c line 1358
  • #42 main
    at ../../src/ephy-main.c line 747

Comment 6 Xan Lopez 2011-04-02 22:06:42 UTC
Created attachment 184994 [details] [review]
dnddevice.diff

This seems to fix the bug, the problem was in libegg.
Comment 7 Xan Lopez 2011-04-03 00:15:13 UTC
Created attachment 184999 [details] [review]
dndfix.diff

Matthias suggests to use gdk_event_get_device since it's a bit more in line with the surrounding code.
Comment 8 Xan Lopez 2011-04-03 15:37:36 UTC
Created attachment 185034 [details] [review]
dndfix.diff

Use gdk_event_set_device.
Comment 9 Xan Lopez 2011-04-03 15:41:22 UTC
Fixed in master (both of ephy and libegg).