Activity log for bug #486201

Date Who What changed Old value New value Message
2009-11-21 09:11:35 Alexey Nedilko bug added bug
2009-11-21 09:11:35 Alexey Nedilko attachment added Here is my ItemsService_CustomItems file http://launchpadlibrarian.net/35912148/ItemsService_CustomItems
2009-11-21 09:11:35 Alexey Nedilko attachment added Dependencies.txt http://launchpadlibrarian.net/35912149/Dependencies.txt
2009-11-21 09:11:35 Alexey Nedilko attachment added XsessionErrors.txt http://launchpadlibrarian.net/35912150/XsessionErrors.txt
2009-11-21 09:13:57 Alexey Nedilko attachment added Here is the full --debug output http://launchpadlibrarian.net/35912225/do-debug.log
2009-11-21 09:21:00 Alexey Nedilko description Binary package hint: gnome-do When I'm adding Transmission to the Docky items, Do won't start the next time. Here is the snippet of --debug (I'm ataching the whole output, but that's the part that shows the problem): [Error 10:39:29.458] Error in RunOnMainThread: Path is too long. Path: BitTorrent клиент Transmission: Скачивайте и обменивайтесь файлами в сети BitTorrent (Do.Universe.Linux.ApplicationItem) [Debug 10:39:29.460] at System.IO.Directory.Exists (System.String path) [0x00000] at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String& identifier) [0x00000] at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String identifier, Int32 position) [0x00000] at Docky.Core.Default.ItemsService.UpdateItems () [0x00000] at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object sender, System.EventArgs e) [0x00000] at (wrapper delegate-invoke) System.EventHandler:invoke_void__this___object_EventArgs (object,System.EventArgs) at Do.Core.UniverseManager.<InitializeAsync>m__1E () [0x00000] at Do.Platform.ApplicationService+<RunOnMainThread>c__AnonStorey10.<>m__28 (System.Object sender, System.EventArgs e) [0x00000] The string that is treated as path, is in fact the Comment in ru_RU locale of the Transmission .desktop file. Here is the .desktop file: #!/usr/bin/env xdg-open [Desktop Entry] Name=Transmission BitTorrent Client GenericName=BitTorrent Client Comment=Download and share files over BitTorrent Exec=transmission %F Icon=transmission Terminal=false TryExec=transmission Type=Application MimeType=application/x-bittorrent; Categories=Network;FileTransfer;P2P;GTK; X-Ubuntu-Gettext-Domain=transmission Icon[ru_RU]=transmission Name[ru_RU]=BitTorrent клиент Transmission Comment[ru_RU]=Скачивайте и обменивайтесь файлами в сети BitTorrent I've looked into Docky.Core.Default.ItemsService.MaybeCreateCustomItem() method: AbstractDockItem MaybeCreateCustomItem (ref string identifier) { ItemDockItem customItem = null; if (identifier.StartsWith ("file://")) identifier = identifier.Substring ("file://".Length); if (File.Exists (identifier) || Directory.Exists (identifier)) { if (identifier.EndsWith (".desktop")) { So that's where Directory.Exists fails because the path is very much incorrect - in fact, it obviously isn't a path. As far as I see, there are several possible fixes: 1) Add try..catch to code that treats the item identifier as path (the code snippet above) 2) Change the format of ItemsService_CustomItems so that each identifier there contains information about what type of item it represents: a file, a folder, a .desktop file or something other. OS: Ubuntu 9.10 x64 Do version: 0.8.2+dfsg-1 LANG: ru_RU.UTF-8 Cheers, Alex ProblemType: Bug Architecture: amd64 Date: Sat Nov 21 10:33:39 2009 DistroRelease: Ubuntu 9.10 NonfreeKernelModules: nvidia Package: gnome-do 0.8.2+dfsg-1 ProcEnviron: LANG=ru_RU.UTF-8 SHELL=/bin/bash ProcVersionSignature: Ubuntu 2.6.31-14.48-generic SourcePackage: gnome-do Uname: Linux 2.6.31-14-generic x86_64 Binary package hint: gnome-do When I'm adding Transmission to the Docky items, Do won't start the next time. Here is the snippet of --debug (I'm ataching the whole output, but that's the part that shows the problem): [Error 10:39:29.458] Error in RunOnMainThread: Path is too long. Path: BitTorrent клиент Transmission: Скачивайте и обменивайтесь файлами в сети BitTorrent (Do.Universe.Linux.ApplicationItem) [Debug 10:39:29.460] at System.IO.Directory.Exists (System.String path) [0x00000]   at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String& identifier) [0x00000]   at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String identifier, Int32 position) [0x00000]   at Docky.Core.Default.ItemsService.UpdateItems () [0x00000]   at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object sender, System.EventArgs e) [0x00000]   at (wrapper delegate-invoke) System.EventHandler:invoke_void__this___object_EventArgs (object,System.EventArgs)   at Do.Core.UniverseManager.<InitializeAsync>m__1E () [0x00000]   at Do.Platform.ApplicationService+<RunOnMainThread>c__AnonStorey10.<>m__28 (System.Object sender, System.EventArgs e) [0x00000] The string that is treated as path, is in fact the Comment in ru_RU locale of the Transmission .desktop file. Here is the .desktop file: #!/usr/bin/env xdg-open [Desktop Entry] Name=Transmission BitTorrent Client GenericName=BitTorrent Client Comment=Download and share files over BitTorrent Exec=transmission %F Icon=transmission Terminal=false TryExec=transmission Type=Application MimeType=application/x-bittorrent; Categories=Network;FileTransfer;P2P;GTK; X-Ubuntu-Gettext-Domain=transmission Icon[ru_RU]=transmission Name[ru_RU]=BitTorrent клиент Transmission Comment[ru_RU]=Скачивайте и обменивайтесь файлами в сети BitTorrent I've looked into Docky.Core.Default.ItemsService.MaybeCreateCustomItem() method:   AbstractDockItem MaybeCreateCustomItem (ref string identifier)   {    ItemDockItem customItem = null;    if (identifier.StartsWith ("file://"))     identifier = identifier.Substring ("file://".Length);    if (File.Exists (identifier) || Directory.Exists (identifier)) {     if (identifier.EndsWith (".desktop")) { So that's where Directory.Exists fails because the path is very much incorrect - in fact, it obviously isn't a path. As far as I see, there are several possible fixes: 1) Add try..catch to code that treats the item identifier as path (the code snippet above) 2) Change the format of ItemsService_CustomItems so that each identifier there contains information about what type of item it represents: a file, a folder, a .desktop file or something other. Cheers, Alex ProblemType: Bug Architecture: amd64 Date: Sat Nov 21 10:33:39 2009 DistroRelease: Ubuntu 9.10 NonfreeKernelModules: nvidia Package: gnome-do 0.8.2+dfsg-1 ProcEnviron:  LANG=ru_RU.UTF-8  SHELL=/bin/bash ProcVersionSignature: Ubuntu 2.6.31-14.48-generic SourcePackage: gnome-do Uname: Linux 2.6.31-14-generic x86_64
2009-11-21 09:22:51 Alexey Nedilko description Binary package hint: gnome-do When I'm adding Transmission to the Docky items, Do won't start the next time. Here is the snippet of --debug (I'm ataching the whole output, but that's the part that shows the problem): [Error 10:39:29.458] Error in RunOnMainThread: Path is too long. Path: BitTorrent клиент Transmission: Скачивайте и обменивайтесь файлами в сети BitTorrent (Do.Universe.Linux.ApplicationItem) [Debug 10:39:29.460] at System.IO.Directory.Exists (System.String path) [0x00000]   at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String& identifier) [0x00000]   at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String identifier, Int32 position) [0x00000]   at Docky.Core.Default.ItemsService.UpdateItems () [0x00000]   at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object sender, System.EventArgs e) [0x00000]   at (wrapper delegate-invoke) System.EventHandler:invoke_void__this___object_EventArgs (object,System.EventArgs)   at Do.Core.UniverseManager.<InitializeAsync>m__1E () [0x00000]   at Do.Platform.ApplicationService+<RunOnMainThread>c__AnonStorey10.<>m__28 (System.Object sender, System.EventArgs e) [0x00000] The string that is treated as path, is in fact the Comment in ru_RU locale of the Transmission .desktop file. Here is the .desktop file: #!/usr/bin/env xdg-open [Desktop Entry] Name=Transmission BitTorrent Client GenericName=BitTorrent Client Comment=Download and share files over BitTorrent Exec=transmission %F Icon=transmission Terminal=false TryExec=transmission Type=Application MimeType=application/x-bittorrent; Categories=Network;FileTransfer;P2P;GTK; X-Ubuntu-Gettext-Domain=transmission Icon[ru_RU]=transmission Name[ru_RU]=BitTorrent клиент Transmission Comment[ru_RU]=Скачивайте и обменивайтесь файлами в сети BitTorrent I've looked into Docky.Core.Default.ItemsService.MaybeCreateCustomItem() method:   AbstractDockItem MaybeCreateCustomItem (ref string identifier)   {    ItemDockItem customItem = null;    if (identifier.StartsWith ("file://"))     identifier = identifier.Substring ("file://".Length);    if (File.Exists (identifier) || Directory.Exists (identifier)) {     if (identifier.EndsWith (".desktop")) { So that's where Directory.Exists fails because the path is very much incorrect - in fact, it obviously isn't a path. As far as I see, there are several possible fixes: 1) Add try..catch to code that treats the item identifier as path (the code snippet above) 2) Change the format of ItemsService_CustomItems so that each identifier there contains information about what type of item it represents: a file, a folder, a .desktop file or something other. Cheers, Alex ProblemType: Bug Architecture: amd64 Date: Sat Nov 21 10:33:39 2009 DistroRelease: Ubuntu 9.10 NonfreeKernelModules: nvidia Package: gnome-do 0.8.2+dfsg-1 ProcEnviron:  LANG=ru_RU.UTF-8  SHELL=/bin/bash ProcVersionSignature: Ubuntu 2.6.31-14.48-generic SourcePackage: gnome-do Uname: Linux 2.6.31-14-generic x86_64 Binary package hint: gnome-do When I'm adding Transmission to the Docky items, Do won't start the next time. Here is the snippet of --debug (I'm ataching the whole output, but that's the part that shows the problem): [Error 10:39:29.458] Error in RunOnMainThread: Path is too long. Path: BitTorrent клиент Transmission: Скачивайте и обменивайтесь файлами в сети BitTorrent (Do.Universe.Linux.ApplicationItem) [Debug 10:39:29.460] at System.IO.Directory.Exists (System.String path) [0x00000]   at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String& identifier) [0x00000]   at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String identifier, Int32 position) [0x00000]   at Docky.Core.Default.ItemsService.UpdateItems () [0x00000]   at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object sender, System.EventArgs e) [0x00000]   at (wrapper delegate-invoke) System.EventHandler:invoke_void__this___object_EventArgs (object,System.EventArgs)   at Do.Core.UniverseManager.<InitializeAsync>m__1E () [0x00000]   at Do.Platform.ApplicationService+<RunOnMainThread>c__AnonStorey10.<>m__28 (System.Object sender, System.EventArgs e) [0x00000] The string that is treated as path, is in fact the Comment in ru_RU locale of the Transmission .desktop file. Here is the .desktop file: #!/usr/bin/env xdg-open [Desktop Entry] Name=Transmission BitTorrent Client GenericName=BitTorrent Client Comment=Download and share files over BitTorrent Exec=transmission %F Icon=transmission Terminal=false TryExec=transmission Type=Application MimeType=application/x-bittorrent; Categories=Network;FileTransfer;P2P;GTK; X-Ubuntu-Gettext-Domain=transmission Icon[ru_RU]=transmission Name[ru_RU]=BitTorrent клиент Transmission Comment[ru_RU]=Скачивайте и обменивайтесь файлами в сети BitTorrent I've looked into Docky.Core.Default.ItemsService.MaybeCreateCustomItem() method:   AbstractDockItem MaybeCreateCustomItem (ref string identifier)   {    ItemDockItem customItem = null;    if (identifier.StartsWith ("file://"))     identifier = identifier.Substring ("file://".Length);    if (File.Exists (identifier) || Directory.Exists (identifier)) {     if (identifier.EndsWith (".desktop")) { So that's where Directory.Exists fails because the path is very much incorrect - in fact, it obviously isn't a path. As far as I see, there are several possible fixes: 1) Add try..catch to code that treats the item identifier as path (the code snippet above) 2) Change the format of ItemsService_CustomItems so that each identifier there contains information about what type of item it represents: a file, a folder, a .desktop file or something other, so that during initialization ItemsService doesn't end up probing all possible types of items for the identifier, but just get the correct type from identifier and create item. Cheers, Alex ProblemType: Bug Architecture: amd64 Date: Sat Nov 21 10:33:39 2009 DistroRelease: Ubuntu 9.10 NonfreeKernelModules: nvidia Package: gnome-do 0.8.2+dfsg-1 ProcEnviron:  LANG=ru_RU.UTF-8  SHELL=/bin/bash ProcVersionSignature: Ubuntu 2.6.31-14.48-generic SourcePackage: gnome-do Uname: Linux 2.6.31-14-generic x86_64
2009-11-21 09:26:35 Alexey Nedilko bug task added do
2009-11-21 14:02:18 Robert Dyer do: status New Won't Fix