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 386662 - rhythmbox fails to update iTunesDB properly on ipod shuffle
rhythmbox fails to update iTunesDB properly on ipod shuffle
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Removable Media
HEAD
Other All
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks: 338564
 
 
Reported: 2006-12-17 01:50 UTC by Richard Edmands
Modified: 2007-06-12 12:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ipodtest.tar.bz2 (8.34 KB, application/x-bzip)
2007-01-12 01:45 UTC, William
  Details
A patch to make rb save the shuffledb on the removal of a track (851 bytes, patch)
2007-03-27 13:11 UTC, William
none Details | Review
Alternative fix (388 bytes, patch)
2007-03-27 13:17 UTC, Christophe Fergeau
committed Details | Review
requested stacktrace of rhythmbox.. (17.98 KB, text/plain)
2007-04-14 15:44 UTC, Justin
  Details

Description Richard Edmands 2006-12-17 01:50:29 UTC
Please describe the problem:
when i copy a song or 2 over to the shuffle, they copy. but i can't play them with the shuffle.

this happens with stock edgy rhythmbox/libgpod & cvs rhythmbox/cvs libgpod.

if i launch gtkpod it gives me this message (only gives message after it has been played with by rhythmbox)

"iTunesDB '/media/ipod/iPod_Control/iTunes/iTunesDB' does not match checksum in extended information file '/media/ipod/iPod_Control/iTunes/iTunesDB.ext'
gtkpod will try to match the information using MD5 checksums. This may take a long time."

if i hit the sync button in gtkpod. then it fixes my shuffle and off i go to enjoy the music.

Steps to reproduce:


Actual results:


Expected results:


Does this happen every time?
Yes

Other information:
Comment 1 William 2007-01-12 01:45:19 UTC
Created attachment 80096 [details]
ipodtest.tar.bz2

This is a 3.8MB dump of data from every step of adding a song to an ipod shuffle with both itunes and rb and fixing it using gtkpod. I really hope this helps. There is a readme.txt file in the archive that should explain what the folders are as well as including some of my own thoughts about what is going on. I am sorry about the size on the archive which is due to my including a mp3 to make sure that is reproducible on a devs computer. I removed the mp3 from the music dirs of the itunes dumps for sake of space (before 15MB after 3.8). If you want the original dump, please request it and I will email it to you. I cannot attach a 15MB dump to bugzilla due to limits.

Thanks to the RB devs for working on this. I really want this one fixed because it is a difficulty for my sister to switch to linux. Thanks again!
Comment 2 Richard Edmands 2007-03-24 23:42:53 UTC
this is fixed for me in svn 4978.
Comment 3 James "Doc" Livingston 2007-03-26 06:42:48 UTC
Marking FIXED as per comment.
Comment 4 William 2007-03-27 13:10:35 UTC
I don't think that this is fixed. The source was modified to save the shuffledb when an item is added. Not when it is removed. So if you remove items, they still play on the ipod until you add an item. I am attaching a patch that fixes this for me.
Comment 5 William 2007-03-27 13:11:29 UTC
Created attachment 85384 [details] [review]
A patch to make rb save the shuffledb on the removal of a track
Comment 6 Christophe Fergeau 2007-03-27 13:17:47 UTC
Created attachment 85385 [details] [review]
Alternative fix

I think this patch should fix track removal on the shuffle as well, and imo it's cleaner to do it that way (this avoids duplicating the ipod database saving logic in 2 distinct places). Is that patch working? (I can't test it ;)
Comment 7 William 2007-03-27 14:20:41 UTC
I have tested and verified that your patch works. :-)

A lot cleaner than my patch. Thanks!
Comment 8 Christophe Fergeau 2007-03-27 14:22:17 UTC
Marking the previous patch as obsolete then. Dunno if I can commit it or if I should wait for maintainer approval before doing so ;)
Comment 9 Christophe Fergeau 2007-03-27 14:22:42 UTC
(and thanks William for the testing and for pointing out what was wrong ;)
Comment 10 James "Doc" Livingston 2007-03-29 07:44:33 UTC
Feel free to commit.
Comment 11 Christophe Fergeau 2007-03-29 17:52:17 UTC
Committed
Comment 12 Christophe Fergeau 2007-04-02 15:41:51 UTC
I didn't commit that patch to the stable branch since I had forgotten about it, but I guess this patch is good for that branch as well?
Comment 13 James "Doc" Livingston 2007-04-03 09:34:45 UTC
Yep, feel free to commit it to stable too.
Comment 14 Christophe Fergeau 2007-04-03 18:01:29 UTC
Done.
Comment 15 Christophe Fergeau 2007-04-06 20:29:44 UTC
Ok, I committed this patch to the 0.10 branch, but it depends on http://svn.gnome.org/viewcvs/rhythmbox/trunk/plugins/ipod/rb-ipod-source.c?r1=4871&r2=4977 which is only in trunk. Should I revert the 0.10 commit, or should I add this patch as well?
Comment 16 Justin 2007-04-11 23:44:52 UTC
Hi..i posted in the launchpad section about this bug, but i was told to go to upstream. Anyway, I own an iPod shuffle, and downloaded and installed Rhythmbox 0.10.0. Instead of "copying" before i installed this version, not it simply closes or crashes. I looked in the import error under "library", and there is this Shuffle related error...(which only occurs when the Shuffle is synced)

"~/iPod/iPod_Control/iTunes/iTunesControl" "GStreamer error: Failed to
change state"

is there a fix for this?...i would really like to get my Shuffle working under Ubuntu =/
Comment 17 Christophe Fergeau 2007-04-12 09:18:34 UTC
For reference, the ubuntu bug is https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/68300
Comment 18 Justin 2007-04-12 12:29:59 UTC
(In reply to comment #17)
> For reference, the ubuntu bug is
> https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/68300
> 

yes, i am aware of that, i posted there...but they said to post in "upstream" becuase the bug is trivial. Forgive me but i am a newbie to Ubuntu/Linux and its various communtiy support systems, but i dont know what or where upstream is...
Comment 19 Christophe Fergeau 2007-04-12 12:44:18 UTC
I know you know ;) "upstream" is indeed this bugzilla, I added the link to the ubuntu bug tracker for other people reading this bug who may want to see what was said in your original ubuntu bug report.

To clarify things a bit, with older rhythmbox, when you dragged and dropped a file to the shuffle, the file was copied to your ipod shuffle but didn't appear in your ipod shuffle user interface, with the latest version of rhythmbox, when you drag and drop a file to the shuffle, rhythmbox crashes?
Comment 20 Justin 2007-04-12 16:14:27 UTC
yes, that is correct, that is exactly what happened. I've tried gtkpod, and songbird, and they both are incompatible with Shuffles(at least mine) but not other iPods..
Comment 21 Christophe Fergeau 2007-04-14 11:58:49 UTC
Could you try to get a stacktrace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 22 Christophe Fergeau 2007-04-14 12:12:51 UTC
(In reply to comment #15)
> Ok, I committed this patch to the 0.10 branch, but it depends on
> http://svn.gnome.org/viewcvs/rhythmbox/trunk/plugins/ipod/rb-ipod-source.c?r1=4871&r2=4977
> which is only in trunk. Should I revert the 0.10 commit, or should I add this
> patch as well?
> 

After talking with doctau on IRC, I committed the patch linked above to the stable branch.
Comment 23 Justin 2007-04-14 15:44:09 UTC
Created attachment 86341 [details]
requested stacktrace of rhythmbox..
Comment 24 Justin 2007-04-14 15:48:23 UTC
Ok...i just retreived a stacktrace from when rhythmbox crashed...hope this helps :)
Comment 25 Christophe Fergeau 2007-04-22 21:26:36 UTC
it seems impl_paste is NULL while impl_can_paste is returning TRUE, which makes things crash at 
		if (rb_source_can_paste (asource))
			rb_source_paste (asource, entries);

The iPod source doesn't set impl_paste on its own, I assume it will use the implementation defined by the parent classes. rb-removable-media-source.c doesn't set impl_paste if ENABLE_TRACK_TRANSFER isn't set, but in that case, the iPod source should return false in rb_source_can_paste (iPod writing should be disabled if track transfer is disabled). 
In short, I can't figure out how what you observe can happen ;)
Can you check if the iPod plugin is properly enabled in the plugin preferences?
Comment 26 Justin 2007-05-03 21:27:49 UTC
(In reply to comment #25)
> it seems impl_paste is NULL while impl_can_paste is returning TRUE, which makes
> things crash at 
>                 if (rb_source_can_paste (asource))
>                         rb_source_paste (asource, entries);
> 
> The iPod source doesn't set impl_paste on its own, I assume it will use the
> implementation defined by the parent classes. rb-removable-media-source.c
> doesn't set impl_paste if ENABLE_TRACK_TRANSFER isn't set, but in that case,
> the iPod source should return false in rb_source_can_paste (iPod writing should
> be disabled if track transfer is disabled). 
> In short, I can't figure out how what you observe can happen ;)
> Can you check if the iPod plugin is properly enabled in the plugin preferences?
> 

Actually, since upgrading to Rhythmbox 0.10.1, there hasnt been a iPod plugin under "preferences" (before, there was)..today i reinstalled the libgpod packages along with others, but rhythmbox still crashed when attempting to use my iPod with rhythmbx..how do i get the iPod plugin to appear?
Comment 27 Christophe Fergeau 2007-05-06 09:58:47 UTC
In Edit/Plugins, there should be an iPod plugin listed.
Comment 28 Justin 2007-05-06 15:38:04 UTC
(In reply to comment #27)
> In Edit/Plugins, there should be an iPod plugin listed.
> 

Yes, there should be, but there isnt..It disappeared when i installed 0.10.0, i think, dont know why (or how, for that matter :P)
Comment 29 Sergey V. Udaltsov 2007-06-04 22:00:31 UTC
The problem is here with 0.10.0 on Ubuntu
Comment 30 Christophe Fergeau 2007-06-04 22:07:17 UTC
Justin, did you install rhythmbox, libgpod, ... from source ?

Sergey, which problem? shuffle content not properly updated, or crash on dnd ?
Comment 31 Sergey V. Udaltsov 2007-06-04 22:28:09 UTC
I installed standard ubuntu's rhythmbox with libgpod. The Ipod shuffle is recognized, the trackes are copied over. But they are not playable - till I do "mktunes" in the command line. Which means gnupod's database is not copied to the itunes database.
Comment 32 Christophe Fergeau 2007-06-12 07:54:42 UTC
Ok, after checking with seb128, the patch to properly save the shuffle database wasn't backported in the ubuntu rhythmbox package, so rb versions earlier than 0.10.1 won't save the shuffle database.

The only unsolved bug is Justin's crash, which I suspect is an installation problem. Justin, still there?
Comment 33 Justin 2007-06-12 12:19:07 UTC
(In reply to comment #32)
> Ok, after checking with seb128, the patch to properly save the shuffle database
> wasn't backported in the ubuntu rhythmbox package, so rb versions earlier than
> 0.10.1 won't save the shuffle database.
> 
> The only unsolved bug is Justin's crash, which I suspect is an installation
> problem. Justin, still there?
> 

yeah, Im still here; Ive kinda just given up on rhythmbox as far as my shuffle is concerned...I found this program called shuffle-db, which does everything rhythmbox is supposed to do, but without a GUI (you just drag and drop into the folder, run shuffle-db.py, and off you go!)..
Comment 34 Christophe Fergeau 2007-06-12 12:55:12 UTC
Ok, I'll close that bug then, if one day you give another try to rhythmbox and still encounter that bug, feel free to reopen it or to open a new bug :)