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 635631 - Errors due to continuous following of a symbolic link
Errors due to continuous following of a symbolic link
Status: RESOLVED WONTFIX
Product: banshee
Classification: Other
Component: Importing
git master
Other Linux
: Normal major
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2010-11-23 19:07 UTC by Victor Vargas
Modified: 2020-03-17 08:59 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Victor Vargas 2010-11-23 19:07:21 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.
Comment 1 Bertrand Lorentz 2010-11-28 12:35:13 UTC
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.
Comment 2 David Nielsen 2010-11-29 01:56:13 UTC
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
Comment 3 Victor Vargas 2010-11-29 12:42:37 UTC
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.
Comment 4 Bertrand Lorentz 2010-11-29 13:07:30 UTC
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
Comment 5 André Klapper 2020-03-17 08:59:50 UTC
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.