Re: [Banshee-List] Odd Import Problems



The Unix IO backend in Banshee is broken under Mono 1.2, as you've seen.
I found out about this on Sunday I think, but haven't yet had the time
to look into it, so thank you! Your findings should be helpful for the
bug:

http://bugzilla.ximian.com/show_bug.cgi?id=79914

I'll confirm them hopefully later today, but it would be helpful if you
could post your findings to that bug.

The code in Banshee *should* work (it always has before), so I think
this is a regression in Mono and needs to be fixed. However, I'll
probably look for a workaround for Banshee 0.11.3.

--Aaron


On Tue, 2006-11-14 at 13:16 -0500, Nick Bargnesi wrote:
> Yes.
> 
> Mono JIT compiler version 1.2, (C) 2002-2006 Novell, Inc and
> Contributors. www.mono-project.com
>         TLS:           __thread
>         GC:            Included Boehm (with typed GC) 
>         SIGSEGV:       normal
>         Disabled:      none
> 
> 
> On 11/14/06, Aaron Bockover <abockover novell com> wrote:
>         Are you using Mono 1.2?
>         
>         --Aaron
>         
>         On Tue, 2006-11-14 at 00:51 +0000, Nick Bargnesi wrote: 
>         > I seem to be having some odd import problems running the
>         0.10.x,
>         > 0.11.x, and cvs versions of Banshee.  I've traced the
>         problems down to
>         > two segments of code (in cvs at least ) that for some
>         reason, don't do 
>         > what they should on my system.
>         >
>         > On import of a directory, the last output Banshee gives me
>         is:
>         > Setting IO Backend to Banshee.IO.Unix.IOConfig (unix)
>         >
>         > The first piece of code is inside the internal FileStat
>         struct in 
>         > Unix.cs.
>         >
>         >         internal FileStat(string path)
>         >         {
>         >             buf = new Stat();
>         >             is_directory = is_regular_file =
>         Syscall.stat(path, out
>         > buf) == 0; 
>         >             is_regular_file &= (buf.st_mode &
>         FilePermissions.S_IFREG)
>         > == FilePermissions.S_IFREG;
>         >             is_directory &= (buf.st_mode &
>         FilePermissions.S_IFDIR )
>         > == FilePermissions.S_IFDIR ;
>         >             // FIXME: workaround for
>         > http://bugzilla.ximian.com/show_bug.cgi?id=76966
>         >             is_directory &= ! ((buf.st_mode &
>         > FilePermissions.S_IFSOCK ) == FilePermissions.S_IFSOCK);
>         >         }
>         >
>         > When this constructor is called, it is being passed a
>         > directory /static/MP3s.
>         > The first is_directory statement is set to true,
>         as /static/MP3s is a 
>         > directory.  The next two is_directory assignments  get set
>         to false.
>         > After that the import operation stops.
>         >
>         > Commenting out those last two is_directory assignments at
>         least sets
>         > is_directory to true and the import operation continues - at
>         least up 
>         > until here:
>         >
>         >         public IEnumerable GetDirectories(string directory)
>         >         {
>         >             UnixDirectoryInfo unix_dir = new
>         > UnixDirectoryInfo(directory);
>         >             foreach(UnixFileSystemInfo entry in 
>         > unix_dir.GetFileSystemEntries()) {
>         >                 if( entry.IsDirectory && entry.Exists && !
>         > entry.IsSocket) {
>         >                     yield return entry.FullName;
>         >                 } 
>         >             }
>         >         }
>         >
>         > So here, /static/MP3s is enumerated - it contains artists
>         which in
>         > turn contain the album(s).  Every single artist I have is
>         enumerated
>         > and every single artist has entry.IsDirectory as
>         false.  Though
>         > entry.Exists and !entry.IsSocket are true.
>         >
>         > Anyone have any ideas?
>         >
>         > --
>         > nick den-4 com
>         > Den 4 F/OSS Developer and Co-Founder 
>         > http://www.den-4.com
>         >
>         > Den 4 Software is a group of open source software engineers
>         dedicated
>         > to
>         > giving back to the F/OSS community.
>         >
>         > Join here: 
>         > http://www.den-4.com/user/register
>         > _______________________________________________
>         > Banshee-list mailing list
>         > Banshee-list gnome org
>         > http://mail.gnome.org/mailman/listinfo/banshee-list
>         
>         _______________________________________________
>         Banshee-list mailing list 
>         Banshee-list gnome org
>         http://mail.gnome.org/mailman/listinfo/banshee-list
> 
> 
> 
> -- 
> nick den-4 com
> Den 4 F/OSS Developer and Co-Founder
> http://www.den-4.com
> 
> Den 4 Software is a group of open source software engineers dedicated
> to 
> giving back to the F/OSS community.
> 
> Join here:
> http://www.den-4.com/user/register 
> _______________________________________________
> Banshee-list mailing list
> Banshee-list gnome org
> http://mail.gnome.org/mailman/listinfo/banshee-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]