GNOME Bugzilla – Bug 635631
Errors due to continuous following of a symbolic link
Last modified: 2020-03-17 08:59:50 UTC
This report was originally filled at: https://bugs.launchpad.net/ubuntu/+source/banshee/+bug/668481 From what I can tell, when loading banshee and having a volume mounted that has symbolic links e.g. Ubuntu 10.04 ISO/CD - after it tries to follow the symbolic link for a number of times, it causes Banshee to crash when adding music to the library. When I unmount the volume it doesn't crash any more. This bug does not always reproduce as it's not happening now with the volume mounted. steps: 1. Have a Ubuntu CD or Ubuntu CD Drive mounted 2. Open Banshee 3. Wait for it to scan your files, initially. 4. It crashes giving the following Warnings Ubuntu 10.10 64-bit 2.6.35.22-19: shawn@shawn-NV53:~$ banshee [Info 12:59:43.945] Running Banshee 1.7.6: [Ubuntu maverick (development branch) (linux-gnu, x86_64) @ 2010-09-18 21:00:29 UTC] [Info 12:59:47.349] Updating web proxy from GConf [Info 12:59:47.649] All services are started 1.76932 [Warn 12:59:48.463] Migrating Internet Radio Stations - System.IO.DirectoryNotFoundException: Directory '/home/shawn/.config/banshee-1/plugins/stations/user' not found. (in `mscorlib') at System.IO.Directory.GetFileSystemEntries (System.String path, System.String searchPattern, FileAttributes mask, FileAttributes attrs) [0x00000] in <filename unknown>:0 at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00000] in <filename unknown>:0 at Banshee.InternetRadio.XspfMigrator.Migrate () [0x00000] in <filename unknown>:0 [Info 12:59:49.175] nereid Client Started [Warn 12:59:49.479] Failed to load media-player-info file for [Warn 12:59:50.136] Failed to load media-player-info file for [Warn 12:59:50.136] Failed to load media-player-info file for [Warn 12:59:50.136] Failed to load media-player-info file for [Warn 12:59:51.366] Failed to load media-player-info file for [Warn 12:59:51.366] Failed to load media-player-info file for [Warn 12:59:52.094] Failed to load media-player-info file for [Warn 12:59:52.094] Failed to load media-player-info file for [Warn 12:59:52.095] Failed to load media-player-info file for [Warn 12:59:52.095] Failed to load media-player-info file for [Warn 12:59:52.095] Failed to load media-player-info file for [Warn 12:59:52.095] Failed to load media-player-info file for [Warn 12:59:52.096] Failed to load media-player-info file for [Warn 12:59:52.096] Failed to load media-player-info file for [Warn 12:59:52.105] Failed to load media-player-info file for [Warn 12:59:52.105] Failed to load media-player-info file for [Warn 12:59:52.105] Failed to load media-player-info file for [Warn 12:59:52.548] Caught an exception - GLib.GException: Error stating file '/media/NV/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/autorun.inf': Too many levels of symbolic links (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x00000] in <filename unknown>:0 [Warn 12:59:52.997] Caught an exception - GLib.GException: Error stating file '/media/NV/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/dists/stable/Release': Too many levels of symbolic links (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x00000] in <filename unknown>:0 [Warn 12:59:52.998] Caught an exception - GLib.GException: Error stating file '/media/NV/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/dists/unstable/Release': Too many levels of symbolic links (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x00000] in <filename unknown>:0 Exception in Gtk# callback delegate Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception. GLib.MissingIntPtrCtorException: GLib.Object subclass Hyena.Data.Gui.Accessibility.ListViewAccessible`1[Banshee.Collection.TrackInfo] must provide a protected or public IntPtr ctor to support wrapping of native object handles. at GLib.ObjectManager.CreateObject (IntPtr raw) [0x00000] in <filename unknown>:0 at GLib.Object.GetObject (IntPtr o, Boolean owned_ref) [0x00000] in <filename unknown>:0 at GLib.Object.GetObject (IntPtr o) [0x00000] in <filename unknown>:0 at Gtk.Widget.get_Accessible () [0x00000] in <filename unknown>:0 at Hyena.Data.Gui.ListView`1[T].AccessibleCellRedrawn (Int32 column, Int32 row) [0x00000] in <filename unknown>:0 at Hyena.Data.Gui.ListView`1[T].PaintCell (System.Object item, Int32 column_index, Int32 row_index, Rectangle area, Boolean opaque, Boolean bold, StateType state, Boolean dragging) [0x00000] in <filename unknown>:0 at Hyena.Data.Gui.ListView`1[T].PaintRow (Int32 row_index, Rectangle area, StateType state) [0x00000] in <filename unknown>:0 at Hyena.Data.Gui.ListView`1[T].PaintList (Rectangle clip) [0x00000] in <filename unknown>:0 at Hyena.Data.Gui.ListView`1[T].OnExposeEvent (Gdk.EventExpose evnt) [0x00000] in <filename unknown>:0 at Gtk.Widget.exposeevent_cb (IntPtr widget, IntPtr evnt) [0x00000] in <filename unknown>:0 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at Gtk.Widget.exposeevent_cb(IntPtr widget, IntPtr evnt) at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() at Banshee.Gui.GtkBaseClient.Startup() at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) at Banshee.Gui.GtkBaseClient.Startup() at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) at Nereid.Client.Main(System.String[] args) at System.AppDomain.ExecuteAssembly(System.Reflection.Assembly , System.String[] ) at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args) at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) at System.AppDomain.ExecuteAssembly(System.String assemblyFile) at Booter.Booter.BootClient(System.String clientName) at Booter.Booter.Main() PD:I am able to reproduce it here with Banshee 1.9.0 releasee too.
I tried to reproduce this with the latest git master, and I got the "Too many levels of symbolic links", but no crash. Those exception are a problem, but they don't cause any crash for me. I think the crash in the above log is caused by the GLib.MissingIntPtrCtorException, which is probably somehow triggered by the other errors. The MissingIntPtrCtorException was probably fixed as a side effect of the following commit in Hyena: http://git.gnome.org/browse/hyena/commit/?id=d9ec2f56 Could you please confirm this with git master or a recent daily build ? If yes, we should re-qualify this bug for the "Too many levels of symbolic links" problem.
Since the report is on Ubuntu the Banshee daily builds ppa would be a good way to confirm: https://launchpad.net/~banshee-team/+archive/banshee-daily
David, actually it doesn't crash but banshee debug is still showing this: [4 Warn 09:38:40.552] Caught an exception - GLib.GException: Error al mostrar la información del estado del archivo «/media/Ubuntu-Server 8.04.1 i386/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/README.diskdefines»: Demasiados niveles de enlaces simbólicos (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x000fe] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Backends/Banshee.Gio/Banshee.IO.Gio/Directory.cs:119 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x0013f] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Core/Banshee.Core/Banshee.IO/DirectoryScannerPipelineElement.cs:94 [4 Warn 09:38:40.621] Caught an exception - GLib.GException: Error al mostrar la información del estado del archivo «/media/Ubuntu-Server 8.04.1 i386/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/dists/stable/Release»: Demasiados niveles de enlaces simbólicos (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x000fe] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Backends/Banshee.Gio/Banshee.IO.Gio/Directory.cs:119 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x0013f] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Core/Banshee.Core/Banshee.IO/DirectoryScannerPipelineElement.cs:94 [4 Warn 09:38:40.622] Caught an exception - GLib.GException: Error al mostrar la información del estado del archivo «/media/Ubuntu-Server 8.04.1 i386/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/dists/unstable/Release»: Demasiados niveles de enlaces simbólicos (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x000fe] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Backends/Banshee.Gio/Banshee.IO.Gio/Directory.cs:119 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x0013f] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Core/Banshee.Core/Banshee.IO/DirectoryScannerPipelineElement.cs:94 [1 Debug 09:38:44.869] Growing surface cache for 90px images to 0,93 MiB (30 items) [4 Warn 09:38:44.952] Caught an exception - GLib.GException: No es un directorio (in `gio-sharp') at GLib.FileAdapter.EnumerateChildren (System.String attributes, FileQueryInfoFlags flags, GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x00023] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Backends/Banshee.Gio/Banshee.IO.Gio/Directory.cs:118 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x0013f] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Core/Banshee.Core/Banshee.IO/DirectoryScannerPipelineElement.cs:94 [4 Warn 09:38:44.956] Caught an exception - GLib.GException: Error al mostrar la información del estado del archivo «/media/Ubuntu-Server 8.04.1 i386/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/install/netboot/pxelinux.cfg/default»: Demasiados niveles de enlaces simbólicos (in `gio-sharp') at GLib.FileEnumerator.NextFile (GLib.Cancellable cancellable) [0x00000] in <filename unknown>:0 at GLib.FileEnumerator.NextFile () [0x00000] in <filename unknown>:0 at GLib.FileEnumerator+Enumerator.MoveNext () [0x00000] in <filename unknown>:0 at Banshee.IO.Gio.Directory+<GetFiles>c__Iterator6.MoveNext () [0x000fe] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Backends/Banshee.Gio/Banshee.IO.Gio/Directory.cs:119 at Banshee.IO.DirectoryScannerPipelineElement.ScanForFiles (System.String source, Boolean skip_hidden) [0x0013f] in /build/buildd/banshee-1.9.0+git20101127.r1.9055b2f/src/Core/Banshee.Core/Banshee.IO/DirectoryScannerPipelineElement.cs:94 [4 Debug 09:39:42.309] Importando contenido multimedia duration: 00:01:02.0057060 [4 Debug 09:39:42.310] Finished - Importando 5 de 5 but like I said before it doesn't crash, Thanks.
Re-qualifying, as the crash doesn't happen anymore. To reproduce the problem, just create a symbolic link in a directory pointing to the directory itself, and import that directory : $ cd foo $ ln -s . bar Import the "foo" folder in Banshee
Banshee is not under active development anymore and had its last code changes more than three years ago. Its codebase has been archived. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is being shut down) if anyone takes the responsibility for active development again. See https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/264 for more info.