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 670088 - Error sync-ing iPod: Caught an exception - System.IO.FileNotFoundException: File not found (in `Banshee.Dap')
Error sync-ing iPod: Caught an exception - System.IO.FileNotFoundException: F...
Status: RESOLVED WONTFIX
Product: banshee
Classification: Other
Component: Device - iPod
2.2.1
Other Linux
: Normal minor
: ---
Assigned To: Banshee Maintainers
Banshee Maintainers
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2012-02-14 17:37 UTC by Alberto
Modified: 2020-03-17 09:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Output banshee --debug --debug-addins (28.73 KB, text/plain)
2012-02-14 17:37 UTC, Alberto
Details
Banshee log (65.08 KB, text/x-log)
2012-02-14 17:37 UTC, Alberto
Details

Description Alberto 2012-02-14 17:37:17 UTC
Created attachment 207565 [details]
Output banshee --debug --debug-addins

When sync-ing music and podcasts, banshee interrupts the process, displays in the interface, under the iPod device, a "File not found" Error with details "file://media/IPOD%20A/iPod_Control/Music/F00/libgpod820374.mp3."

Steeps to reproduce:

1.- Start banshee
2.- Select iPod device
3.- Sync Preferences= Music: Sync from myList; Audiobooks: Manage manually; Podcasts: Manage manually
4.- Sync

Actual result:

The device doesn't get all files synch'ed (quick check: number of Music items in  iPod smaller than items in myList)

I'm including output of banshee --debug --debug-addins and log.


For reference, launching banshee with --debug --debug-addins:

[34 Warn  18:24:10.364] Caught an exception - System.IO.FileNotFoundException: File not found (in `Banshee.Dap')
  at Banshee.Dap.DapSource.AttemptToAddTrackToDevice (Banshee.Collection.Database.DatabaseTrackInfo track, Hyena.SafeUri fromUri) [0x00000] in <filename unknown>:0
  at Banshee.Dap.DapSource.AddTrackAndIncrementCount (Banshee.Collection.Database.DatabaseTrackInfo track) [0x00000] in <filename unknown>:0
  at Banshee.Sources.PrimarySource.AddTrackList (System.Object cached_list) [0x00000] in <filename unknown>:0
[34 Error 18:24:10.659] Creating Source.UniqueId for Errors (type ErrorSource), but TypeUniqueId is null; trace is    at System.Environment.get_StackTrace()
   at Banshee.Sources.Source.get_UniqueId()
   at Banshee.Sources.SourceSortType+SourceComparer.Compare(Banshee.Sources.Source a, Banshee.Sources.Source b)
   at System.Array.qsort(Banshee.Sources.Source[] keys, Banshee.Sources.Source[] items, Int32 low0, Int32 high0, IComparer`1 comparer)
   at System.Array.qsort(Banshee.Sources.Source[] keys, Banshee.Sources.Source[] items, Int32 low0, Int32 high0, IComparer`1 comparer)
   at System.Array.SortImpl(Banshee.Sources.Source[] keys, Banshee.Sources.Source[] items, Int32 index, Int32 length, IComparer`1 comparer)
   at System.Array.Sort(Banshee.Sources.Source[] array, Int32 index, Int32 length, IComparer`1 comparer)
   at System.Collections.Generic.List`1[[Banshee.Sources.Source, Banshee.Services, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null]].Sort(IComparer`1 comparer)
   at Banshee.Sources.SourceSortType.Sort(System.Collections.Generic.List`1 sources, Boolean separateTypes)
   at Banshee.Sources.Source.SortChildSources()
   at Banshee.Sources.Source.OnChildSourceAdded(Banshee.Sources.Source source)
   at Banshee.Sources.Source.AddChildSource(Banshee.Sources.Source child)
   at Banshee.Dap.DapLibrarySync.Sync(Boolean force)
   at Banshee.Dap.DapLibrarySync.Sync()
   at Banshee.Dap.DapSync.RateLimitedSync()
   at Banshee.Base.RateLimiter.InnerExecute()
   at Banshee.Base.RateLimiter.Execute()
   at Banshee.Dap.DapSync.<Sync>m__12()
Comment 1 Alberto 2012-02-14 17:37:56 UTC
Created attachment 207566 [details]
Banshee log
Comment 2 Alberto 2012-02-14 18:19:30 UTC
I have found the offending title: there is a title in my banshee Music Library that points to the already mentioned /media/.../libgpod820374.mp3. This title is included in the music list to be synched back to the iPod. The file does not exist in the iPod anymore.

I don't know how this title has been collected into the banshee's Music Library, but this has been definitively the cause of the problem.
Comment 3 Alberto 2012-02-14 18:30:11 UTC
I'd close it as notabug, but I think that it would be better to add a more user-friendly warning message, as where the file come from (the file path column could be hidden). I'll lower the importance.
Comment 4 Andrés G. Aragoneses (IRC: knocte) 2012-02-14 23:33:05 UTC
Thanks Alberto, but enhancement is not a lower priority, just a different kind of a bug (a "feature").

BTW having a track in your library that has a path that points to the iPod is certainly the culprit, I wonder how did you do it, if it was Banshee's fault or just a mistake on your part when you imported media? Either way it smells like a bug so let's keep this open until anyone steps up and finds a fix.

Thanks
Comment 5 Alberto 2012-02-15 17:06:23 UTC
Thanks Andrés for your quick response.

I have lowered the priority because there is a simple workaround. I still have to try to reproduce this situation, but this would be a different bug.

So I guess it would be better to close this bug? I would then create a new one for the feature request, with a more sensible title: "Provide user friendly error if synch to iPod is interrupted due to a non existing track"
Comment 6 Alberto 2012-03-08 19:17:10 UTC
It is easy to have tracks in the library pointing to the iPod: with the "Copy files to media folders when importing" deselected. Banshee keeps the tracks even if a "Rescan Music Library" is requested.

Afterwards, activate this option, play a bit with the library, forget that you once imported elements with this option disabled, do not show the "File Location" column in the Music grid, and you have the time-bomb ready...

A possible improvement would be to alert the user after executing the "Rescan Music Library" of "inactive" or "unreachable" tracks.
Comment 7 André Klapper 2020-03-17 09:23:37 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.