Drag and drop crashes Docky when Nautilus is not drawing the desktop

Bug #574817 reported by g
44
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Docky
Fix Released
Medium
Robert Dyer

Bug Description

I've had docky running smoothly for a day, but then all the sudden something broken and would not recover.

I am running Ubuntu 10.04 Lucid Lynx x64 with an NVidia 7950gx2. NVidia driver version is 195.36.15

Although I have been encountering this with "Twinview" enabled, all debugging output posted below are from single screen setup (Twinview disabled).

At the current state I can reproduce this very easily.

1. Starting with reset of docky...

{{{
rm -r ~/.local/share/docky
gconftool-2 --recursive-unset /apps/docky-2
}}}

2. Launch docky with debugging
docky --sync -d 2>&1 | tee docky_crash.log

3. Add 3 docks (bottom, left, right), with or without adding any docklets or helps to it (it doesn't make a difference).

4. Drag & Drop a launcher (e.g. Mozilla Firefox) into it.

I have testing this with both compiz and metacity.

This is how it crashes with metacity:
{{{
docky --sync -d 2>&1 | tee docky_crash.log
[Info 23:54:43.970] Docky version: 2.0.2 Release
[Info 23:54:43.994] Kernel version: 2.6.32.21
[Info 23:54:43.995] CLR version: 2.0.50727.1433
[Debug 23:54:44.309] [UserArgs] BufferTime = 10
[Debug 23:54:44.310] [UserArgs] MaxSize = 2147483647
[Debug 23:54:44.310] [UserArgs] NetbookMode = False
[Debug 23:54:44.310] [UserArgs] NoPollCursor = False
[Debug 23:54:44.936] Key Theme does not exist, creating.
[Info 23:54:44.939] [DockController] Setting theme: Classic
[Debug 23:54:44.953] Key ActiveDocks does not exist, creating.
[Debug 23:54:45.229] Key FirstRun does not exist, creating.
[Debug 23:54:45.258] Key CurrentDesktopOnly does not exist, creating.
[Debug 23:54:45.283] Key Dock1/Plugins does not exist, creating.
[Debug 23:54:45.283] Key Dock1/SortList does not exist, creating.
[Debug 23:54:45.290] Key Dock1/Autohide does not exist, creating.
[Debug 23:54:45.291] Key Dock1/Position does not exist, creating.
[Debug 23:54:45.298] Key Dock1/PanelMode does not exist, creating.
[Debug 23:54:45.300] Key Dock1/ZoomEnabled does not exist, creating.
[Debug 23:54:45.301] Key Dock1/ZoomPercent does not exist, creating.
[Debug 23:54:45.305] Key Dock1/IconSize does not exist, creating.
[Debug 23:54:45.306] Key Dock1/FadeOnHide does not exist, creating.
[Debug 23:54:45.306] Key Dock1/ThreeDimensional does not exist, creating.
[Debug 23:54:45.307] Key Dock1/IndicateMultipleWindows does not exist, creating.
[Debug 23:54:45.368] Key DockyItem does not exist, creating.
[Debug 23:54:45.372] Key Dock1/MonitorNumber does not exist, creating.
[Debug 23:54:45.571] Key UrgentHue does not exist, creating.
[Debug 23:54:45.598] Key Dock1/FadeOpacity does not exist, creating.
[Debug 23:54:46.262] Key banshee_control_py does not exist, creating.
[Debug 23:54:46.267] Key banshee_control_pyc does not exist, creating.
[Debug 23:54:46.268] Key deluge_badge_py does not exist, creating.
[Debug 23:54:46.268] Key deluge_badge_pyc does not exist, creating.
[Debug 23:54:46.269] Key gajim_badge_py does not exist, creating.
[Debug 23:54:46.269] Key gajim_badge_pyc does not exist, creating.
[Debug 23:54:46.270] Key gtg_menus_py does not exist, creating.
[Debug 23:54:46.270] Key gtg_menus_pyc does not exist, creating.
[Debug 23:54:46.271] Key liferea_badge_py does not exist, creating.
[Debug 23:54:46.272] Key liferea_badge_pyc does not exist, creating.
[Debug 23:54:46.273] Key open_terminal_here_py does not exist, creating.
[Debug 23:54:46.273] Key open_terminal_here_pyc does not exist, creating.
[Debug 23:54:46.274] Key pidgin_control_py does not exist, creating.
[Debug 23:54:46.275] Key pidgin_control_pyc does not exist, creating.
[Debug 23:54:46.276] Key rhythmbox_control_py does not exist, creating.
[Debug 23:54:46.277] Key rhythmbox_control_pyc does not exist, creating.
[Debug 23:54:46.278] Key tomboy_menus_py does not exist, creating.
[Debug 23:54:46.278] Key tomboy_menus_pyc does not exist, creating.
[Debug 23:54:46.279] Key zeitgeist_docky_py does not exist, creating.
[Debug 23:54:46.279] Key zeitgeist_docky_pyc does not exist, creating.
[Debug 23:54:46.280] Key zeitgeist_journal_py does not exist, creating.
[Debug 23:54:46.281] Key zeitgeist_journal_pyc does not exist, creating.
[Info 23:54:46.291] [DrawingService] Could not find 'banshee', using fallback of 'extension'.
[Info 23:54:46.298] [DrawingService] Could not find 'deluge', using fallback of 'extension'.
[Info 23:54:46.304] [DrawingService] Could not find 'gajim', using fallback of 'extension'.
[Info 23:54:46.310] [DrawingService] Could not find 'gtg', using fallback of 'extension'.
[Info 23:54:46.315] [DrawingService] Could not find 'liferea', using fallback of 'extension'.
[Info 23:54:46.326] [DrawingService] Could not find 'pidgin', using fallback of 'extension'.
[Info 23:54:50.058] [PluginManager] Loaded "Docky.Widgets,1.0".
[Debug 23:54:53.600] Key Dock2/Launchers does not exist, creating.
[Debug 23:54:53.601] Key Dock2/Plugins does not exist, creating.
[Debug 23:54:53.601] Key Dock2/SortList does not exist, creating.
[Debug 23:54:53.601] Key Dock2/Autohide does not exist, creating.
[Debug 23:54:53.602] Key Dock2/Position does not exist, creating.
[Debug 23:54:53.602] Key Dock2/WindowManager does not exist, creating.
[Debug 23:54:53.602] Key Dock2/PanelMode does not exist, creating.
[Debug 23:54:53.602] Key Dock2/ZoomEnabled does not exist, creating.
[Debug 23:54:53.603] Key Dock2/ZoomPercent does not exist, creating.
[Debug 23:54:53.603] Key Dock2/IconSize does not exist, creating.
[Debug 23:54:53.603] Key Dock2/FadeOnHide does not exist, creating.
[Debug 23:54:53.603] Key Dock2/ThreeDimensional does not exist, creating.
[Debug 23:54:53.604] Key Dock2/IndicateMultipleWindows does not exist, creating.
[Debug 23:54:53.828] Key Dock2/FadeOpacity does not exist, creating.
[Debug 23:54:58.407] Key Dock3/Launchers does not exist, creating.
[Debug 23:54:58.407] Key Dock3/Plugins does not exist, creating.
[Debug 23:54:58.408] Key Dock3/SortList does not exist, creating.
[Debug 23:54:58.408] Key Dock3/Autohide does not exist, creating.
[Debug 23:54:58.408] Key Dock3/Position does not exist, creating.
[Debug 23:54:58.409] Key Dock3/WindowManager does not exist, creating.
[Debug 23:54:58.409] Key Dock3/PanelMode does not exist, creating.
[Debug 23:54:58.410] Key Dock3/ZoomEnabled does not exist, creating.
[Debug 23:54:58.410] Key Dock3/ZoomPercent does not exist, creating.
[Debug 23:54:58.411] Key Dock3/IconSize does not exist, creating.
[Debug 23:54:58.411] Key Dock3/FadeOnHide does not exist, creating.
[Debug 23:54:58.411] Key Dock3/ThreeDimensional does not exist, creating.
[Debug 23:54:58.412] Key Dock3/IndicateMultipleWindows does not exist, creating.
[Debug 23:54:58.610] Key Dock3/FadeOpacity does not exist, creating.
[Fatal 23:55:11.944] [Gtk] gtk_drag_dest_leave: assertion `site != NULL' failed
Stacktrace:

  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00052>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
  at Gtk.Application.Run () <0x0000b>
  at Docky.Docky.Main (string[]) <0x00277>
  at (wrapper runtime-invoke) Docky.Docky.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

 mono() [0x47b77f]
 mono() [0x4aef3f]
 /lib/libpthread.so.0(+0xf8f0) [0x7fe10c9528f0]
 /usr/lib/libgdk-x11-2.0.so.0(gdk_drag_status+0x49) [0x7fe10ab9cef9]
 /usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x483) [0x7fe1059b87f3]
 /usr/lib/libgdk-x11-2.0.so.0(+0x5c80c) [0x7fe10aba480c]
 /lib/libglib-2.0.so.0(g_main_context_dispatch+0x1f2) [0x7fe10cfaa8c2]
 /lib/libglib-2.0.so.0(+0x42748) [0x7fe10cfae748]
 /lib/libglib-2.0.so.0(g_main_loop_run+0x195) [0x7fe10cfaec55]
 /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa7) [0x7fe1059b8af7]
 [0x4096d332]

Debug info from gdb:

[Thread debugging using libthread_db enabled]
[New Thread 0x7fe10b1fc710 (LWP 26371)]
[New Thread 0x7fe10d654710 (LWP 26370)]
0x00007fe10c95193d in read () from /lib/libpthread.so.0
  3 Thread 0x7fe10d654710 (LWP 26370) 0x00007fe10c95211d in nanosleep ()
   from /lib/libpthread.so.0
  2 Thread 0x7fe10b1fc710 (LWP 26371) 0x00007fe10c950b50 in sem_wait ()
   from /lib/libpthread.so.0
* 1 Thread 0x7fe10d64b740 (LWP 26362) 0x00007fe10c95193d in read ()
   from /lib/libpthread.so.0

Thread 3 (Thread 0x7fe10d654710 (LWP 26370)):
#0 0x00007fe10c95211d in nanosleep () from /lib/libpthread.so.0
#1 0x0000000000556342 in ?? ()
#2 0x00007fe10c9499ca in start_thread () from /lib/libpthread.so.0
#3 0x00007fe10c42469d in clone () from /lib/libc.so.6
#4 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe10b1fc710 (LWP 26371)):
#0 0x00007fe10c950b50 in sem_wait () from /lib/libpthread.so.0
#1 0x00000000004e4aaa in ?? ()
#2 0x0000000000505035 in ?? ()
#3 0x0000000000570073 in ?? ()
#4 0x000000000058de21 in ?? ()
#5 0x00007fe10c9499ca in start_thread () from /lib/libpthread.so.0
#6 0x00007fe10c42469d in clone () from /lib/libc.so.6
#7 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe10d64b740 (LWP 26362)):
#0 0x00007fe10c95193d in read () from /lib/libpthread.so.0
#1 0x000000000047b8f4 in ?? ()
#2 0x00000000004aef3f in ?? ()
#3 <signal handler called>
#4 0x00007fe10ab9cef9 in gdk_drag_status () from /usr/lib/libgdk-x11-2.0.so.0
#5 0x00007fe1059b87f3 in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#6 0x00007fe10aba480c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#7 0x00007fe10cfaa8c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#8 0x00007fe10cfae748 in ?? () from /lib/libglib-2.0.so.0
#9 0x00007fe10cfaec55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#10 0x00007fe1059b8af7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x000000004096d332 in ?? ()
#12 0x000000000102b120 in ?? ()
#13 0x0000000000000000 in ?? ()

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
}}}

And this is how it freezes with compiz (it took two attempts to reproduce this). I have called "kill -SIGQUIT $(ps x|grep Docky.exe|grep -v grep|awk '{ print $1; }')" after the freeze.
{{{
docky --sync -d 2>&1 | tee docky_crash.log
[Info 00:07:16.447] Docky version: 2.0.2 Release
[Info 00:07:16.472] Kernel version: 2.6.32.21
[Info 00:07:16.473] CLR version: 2.0.50727.1433
[Debug 00:07:16.785] [UserArgs] BufferTime = 10
[Debug 00:07:16.786] [UserArgs] MaxSize = 2147483647
[Debug 00:07:16.786] [UserArgs] NetbookMode = False
[Debug 00:07:16.786] [UserArgs] NoPollCursor = False
[Debug 00:07:17.418] Key Theme does not exist, creating.
[Info 00:07:17.420] [DockController] Setting theme: Classic
[Debug 00:07:17.434] Key ActiveDocks does not exist, creating.
[Debug 00:07:17.716] Key FirstRun does not exist, creating.
[Debug 00:07:17.745] Key CurrentDesktopOnly does not exist, creating.
[Debug 00:07:17.770] Key Dock1/Plugins does not exist, creating.
[Debug 00:07:17.770] Key Dock1/SortList does not exist, creating.
[Debug 00:07:17.777] Key Dock1/Autohide does not exist, creating.
[Debug 00:07:17.778] Key Dock1/Position does not exist, creating.
[Debug 00:07:17.785] Key Dock1/PanelMode does not exist, creating.
[Debug 00:07:17.786] Key Dock1/ZoomEnabled does not exist, creating.
[Debug 00:07:17.787] Key Dock1/ZoomPercent does not exist, creating.
[Debug 00:07:17.792] Key Dock1/IconSize does not exist, creating.
[Debug 00:07:17.793] Key Dock1/FadeOnHide does not exist, creating.
[Debug 00:07:17.793] Key Dock1/ThreeDimensional does not exist, creating.
[Debug 00:07:17.793] Key Dock1/IndicateMultipleWindows does not exist, creating.
[Debug 00:07:17.854] Key DockyItem does not exist, creating.
[Debug 00:07:17.859] Key Dock1/MonitorNumber does not exist, creating.
[Debug 00:07:18.027] Key UrgentHue does not exist, creating.
[Debug 00:07:18.059] Key Dock1/FadeOpacity does not exist, creating.
[Debug 00:07:18.732] Key banshee_control_py does not exist, creating.
[Debug 00:07:18.733] Key banshee_control_pyc does not exist, creating.
[Debug 00:07:18.734] Key deluge_badge_py does not exist, creating.
[Debug 00:07:18.735] Key deluge_badge_pyc does not exist, creating.
[Debug 00:07:18.735] Key gajim_badge_py does not exist, creating.
[Debug 00:07:18.735] Key gajim_badge_pyc does not exist, creating.
[Debug 00:07:18.736] Key gtg_menus_py does not exist, creating.
[Debug 00:07:18.736] Key gtg_menus_pyc does not exist, creating.
[Debug 00:07:18.737] Key liferea_badge_py does not exist, creating.
[Debug 00:07:18.737] Key liferea_badge_pyc does not exist, creating.
[Debug 00:07:18.737] Key open_terminal_here_py does not exist, creating.
[Debug 00:07:18.738] Key open_terminal_here_pyc does not exist, creating.
[Debug 00:07:18.738] Key pidgin_control_py does not exist, creating.
[Debug 00:07:18.739] Key pidgin_control_pyc does not exist, creating.
[Debug 00:07:18.739] Key rhythmbox_control_py does not exist, creating.
[Debug 00:07:18.739] Key rhythmbox_control_pyc does not exist, creating.
[Debug 00:07:18.742] Key tomboy_menus_py does not exist, creating.
[Debug 00:07:18.744] Key tomboy_menus_pyc does not exist, creating.
[Debug 00:07:18.745] Key zeitgeist_docky_py does not exist, creating.
[Debug 00:07:18.745] Key zeitgeist_docky_pyc does not exist, creating.
[Debug 00:07:18.746] Key zeitgeist_journal_py does not exist, creating.
[Debug 00:07:18.747] Key zeitgeist_journal_pyc does not exist, creating.
[Info 00:07:18.753] [DrawingService] Could not find 'banshee', using fallback of 'extension'.
[Info 00:07:18.759] [DrawingService] Could not find 'deluge', using fallback of 'extension'.
[Info 00:07:18.766] [DrawingService] Could not find 'gajim', using fallback of 'extension'.
[Info 00:07:18.772] [DrawingService] Could not find 'gtg', using fallback of 'extension'.
[Info 00:07:18.778] [DrawingService] Could not find 'liferea', using fallback of 'extension'.
[Info 00:07:18.787] [DrawingService] Could not find 'pidgin', using fallback of 'extension'.
[Info 00:07:25.494] [PluginManager] Loaded "Docky.Widgets,1.0".
[Debug 00:07:32.206] Key Dock2/Launchers does not exist, creating.
[Debug 00:07:32.207] Key Dock2/Plugins does not exist, creating.
[Debug 00:07:32.207] Key Dock2/SortList does not exist, creating.
[Debug 00:07:32.208] Key Dock2/Autohide does not exist, creating.
[Debug 00:07:32.208] Key Dock2/Position does not exist, creating.
[Debug 00:07:32.208] Key Dock2/WindowManager does not exist, creating.
[Debug 00:07:32.209] Key Dock2/PanelMode does not exist, creating.
[Debug 00:07:32.209] Key Dock2/ZoomEnabled does not exist, creating.
[Debug 00:07:32.209] Key Dock2/ZoomPercent does not exist, creating.
[Debug 00:07:32.210] Key Dock2/IconSize does not exist, creating.
[Debug 00:07:32.210] Key Dock2/FadeOnHide does not exist, creating.
[Debug 00:07:32.211] Key Dock2/ThreeDimensional does not exist, creating.
[Debug 00:07:32.211] Key Dock2/IndicateMultipleWindows does not exist, creating.
[Debug 00:07:32.402] Key Dock2/FadeOpacity does not exist, creating.
[Debug 00:07:43.132] Key Dock3/Launchers does not exist, creating.
[Debug 00:07:43.133] Key Dock3/Plugins does not exist, creating.
[Debug 00:07:43.133] Key Dock3/SortList does not exist, creating.
[Debug 00:07:43.134] Key Dock3/Autohide does not exist, creating.
[Debug 00:07:43.134] Key Dock3/Position does not exist, creating.
[Debug 00:07:43.135] Key Dock3/WindowManager does not exist, creating.
[Debug 00:07:43.135] Key Dock3/PanelMode does not exist, creating.
[Debug 00:07:43.135] Key Dock3/ZoomEnabled does not exist, creating.
[Debug 00:07:43.136] Key Dock3/ZoomPercent does not exist, creating.
[Debug 00:07:43.136] Key Dock3/IconSize does not exist, creating.
[Debug 00:07:43.137] Key Dock3/FadeOnHide does not exist, creating.
[Debug 00:07:43.137] Key Dock3/ThreeDimensional does not exist, creating.
[Debug 00:07:43.137] Key Dock3/IndicateMultipleWindows does not exist, creating.
[Debug 00:07:43.303] Key Dock3/FadeOpacity does not exist, creating.
[Fatal 00:07:59.567] [Gtk] gtk_drag_dest_leave: assertion `site != NULL' failed
Full thread dump:

"<unnamed thread>" tid=0x0x7ff740334740 this=0x0x7ff7401b6e58 thread handle 0x404 state : not waiting owns ()
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00052>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
  at Gtk.Application.Run () <0x0000b>
  at Docky.Docky.Main (string[]) <0x00277>
  at (wrapper runtime-invoke) Docky.Docky.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>
}}}

Docky will not respond to SIGQUIT, so I have to SIGKILL it instead to rid of it.

Trying to docky subsequently on with compiz will cause the left and right docks to be displaced to the bottom. See attached screenshot and notice bottom left and bottom right corners! The only way I have found to recover from displacement of the sidebars is to kill docky, switch to metacity, start docky and then switch to compiz again.

Restarting compiz on its own, totall resetting docky or even rebooting did not resolve this issue. It needs metacity to run and then the docks get back in place. Even on compiz. However only until I drag and drop another launcher on the dock.

I have to note though all of this was definitely not occurring yesterday when I still was using docky almost smoothly, even with TwinView enabled. I did notice however that adding launchers by drag and drop did not work as smoothly, some times it was ignroed or even crashed the dock. So this must be an intermittent bug with fatal consequences, which potentially corrupt things beying docky, at least thats my assumption.

I have also noticed then whenever docky freezes due to drag and drop, that all gnome menus are blanked out - probably some deadlock. Killing Docky makes gnome recover fully.

I suggest fixing the launcher drag and drop should fix all the above problems. Does anyone else notice drag and drop problems?

Revision history for this message
g (garic-suess) wrote :
Revision history for this message
g (garic-suess) wrote :

Nevermind the name tag on the attachment. The screenshot is actually not showing a crash, but a malfunction and is not on metacity, but compiz. Sorry.

Revision history for this message
Robert Dyer (psybers) wrote :

Ok for now, just don't drag/drop launchers onto the dock. Run the program, it'll add an item to the dock which you can right click and 'pin' to the dock.

Changed in docky:
importance: Undecided → Medium
status: New → Incomplete
assignee: nobody → Jason Smith (jassmith)
Revision history for this message
g (garic-suess) wrote :

I think that I have just found another thing that may be important to reproduce the displaced side docks. So perhaps the two things; displaced docks and drag drop to side bar are not that related after all.

I've had "class=Do" in the "Below" attribute for Compiz Window Rules. I did that to avoid this Do window appearing from nowhere and staying above all other windows. Now that I removed that setting, the side docks are fine compiz, but d.n.d. still doesn't work and still makes docky crash or freeze.

Revision history for this message
Robert Dyer (psybers) wrote :

Do you have Nautilus drawing your desktop?

Revision history for this message
g (garic-suess) wrote :

No, I've disabled it. Using compiz wallpaper.

Revision history for this message
Robert Dyer (psybers) wrote :

Ah ok, then there is a dupe of this bug. See bug 553163 for more information.

summary: - Adding launchers to docky by drag and drop causes serious crashes
+ Drag and drop crashes Docky when Nautilus is not drawing the desktop
Robert Dyer (psybers)
Changed in docky:
status: Incomplete → Confirmed
Revision history for this message
Sergio Spinatelli (spinatelli) wrote :

Hi,
I have the same problem as you.
Using Maverick and metacity for compositing on an ATI HD4650 graphics card..

Revision history for this message
Robert Dyer (psybers) wrote :

Fixed in rev 1802.

Changed in docky:
assignee: Jason Smith (jassmith) → Robert Dyer (psybers)
milestone: none → 2.0.13
status: Confirmed → Fix Committed
Revision history for this message
Robert Dyer (psybers) wrote :

And updated in rev 1803.

Changed in docky:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.