adding songs to ipod shuffle doesn't update iTunesDB properly

Bug #68300 reported by DarkMageZ
22
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Rhythmbox
Fix Released
Medium
rhythmbox (Ubuntu)
Fix Released
Low
Ubuntu Desktop Bugs

Bug Description

Binary package hint: rhythmbox

1) plug ipod shuffle in (this is probably not shuffle specific, but i have no way to test this).
2) rhythmbox pops up
3) copy song(s) to ipod using rhythmbox
4) eject ipod
5) try and play those songs. ipod shuffle can't find em.

*starting hacky shouldn't be nessesary fix*

now, if you redo step 1, then close rhythmbox when step 2 happens. then load up gtkpod then you get an error message =D

"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."

then if you click on your ipod and click sync. gtkpod fixes it. then eject the ipod and enjoy.

edgy eft

Revision history for this message
Paul Williams (pwill) wrote :

I cannot confirm this with the fifth generation iPod, however, I don't believe it is Shuffle specific.
Which version of Rhythmbox do you have?

Revision history for this message
DarkMageZ (darkmagez) wrote :

original report was with 0.9.6-0ubuntu3. i've just tested it with 0.9.6-0ubuntu4 with the same result.
awhile ago (nfi on the date, but i can tell you rhythmbox cvs had bumped it's minimal libgpod requirement to 0.4) i rebuilt the libgpod package to 0.4 and rebuilt the rhythmbox package from cvs (poisoning the build environment with the libgpod 0.4 packages). it had the same result.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Can you get a log with
       rhythmbox -d > log
?

Changed in rhythmbox:
assignee: nobody → desktop-bugs
importance: Undecided → Medium
status: Unconfirmed → Needs Info
Revision history for this message
DarkMageZ (darkmagez) wrote :

hmm, for some odd reason... that doesn't work against rhythmbox... it works against ls tho.

when i try it against rhythmbox. "rhythmbox -d > log" it created a blank file called log and dumps all the output to the screen. if i run "ls > hi" i get a nice listing of my files in a file called hi... wtf

Revision history for this message
DarkMageZ (darkmagez) wrote :

it's supposed to be "rhythmbox -d 2> log.txt".

log attached. hopefully there is something useful in there for you.

Revision history for this message
Sebastien Bacher (seb128) wrote :

do you still have that problem with rhythmbox 0.9.7? Maybe you could forward the bug upstream?

Revision history for this message
DarkMageZ (darkmagez) wrote :

yeah, i forwarded it upstream about 2 weeks ago after i had built current rhythmbox against cvs libgpod with no luck. since it was nolonger possibly an issue of out of date libgpod. can't remember the bug # tho.

Changed in rhythmbox:
importance: Medium → Low
status: Needs Info → Confirmed
Changed in rhythmbox:
status: Unknown → Unconfirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Do you still get that problem with the new rhythmbox 0.9.8 version?

Revision history for this message
DarkMageZ (darkmagez) wrote :

yes, this still happens with 0.9.8 under edgy. built against libgpod 0.4.2. upstream dev's don't seem to care about it too much since it's not a crasher and it doesn't affect their ipods (which aren't shuffles). shuffles are fairly popular due to their cheap price and still having the ipod branding.
i can't help with any debugging atm as most of the time i'm now away @ college and the power is out here... running my router off the ups.

Revision history for this message
will_in_wi (will-in-wi) wrote :

I added a ton of information about this problem directly on the gnome bug report. Thought it would copy here, no such luck. Anyway if you look there you can find dumps of the shuffle data structure. This should allow fixing of the problem even for those without shuffles.

From looking at it myself, I am pretty sure that the problem is that rb does not write the iTunesSD file. This is a file that is on every ipod but only used on the shuffle, so other devs have not bothered with it. So when you open gtkpod it senses that iTunesSD is not written to and constructs the iTunesSD file from the info in the iTunesDB file.

This would make it shuffle specific. I hope apple in a firmware upgrade makes the other ipods use this file. It would make all of the ipods easier to support and force the devs to do it right.

For the record, banshee does write it perfectly, but it does not have transcoding and is missing the browse feature of rhythmbox and itunes.

Revision history for this message
will_in_wi (will-in-wi) wrote :

As of r4978 RB svn seems to have support for shuffles. Could someone verify this and see if a patch can be backported to feisty in time for the final release?

Thanks

I have attached a diif between r4978 and r4976. This should show all of the changes for the shuffle.

Revision history for this message
DarkMageZ (darkmagez) wrote :

i am verifying that rhythmbox svn 4978 + crossfade & gapless patch has this problem resolved.

Revision history for this message
Sebastien Bacher (seb128) wrote :

What has the "crossfade & gapless patch" to do with that? Could you try without it?

Revision history for this message
DarkMageZ (darkmagez) wrote :

i mentioned it on the off chance that it might have affected the result (yes, unlikely but still). i'd be happy to retest (as i believe the other patch is causing me other issues)... but i'm leaving in 2 minutes for the rest of the week.

Revision history for this message
will_in_wi (will-in-wi) wrote :

I have tested and verify that this patch works with three(+?) bugs.

First, if you have songs on the ipod and delete any, they still play in the shuffle. You have to add a song for the others to be flushed.

Second, when you delete songs off of the ipod, the files remain on the physical flash. You can see them in a terminal and using nautilus. You cannot see them in RB. I don't know if this is a feature to allow faster deleting of files and when you are out of space old files will automaticly be removed. I have not tested this. If this is a bug and the ipod fills up, all you have to do is reformat in itunes and be back with a blank ipod.

Third, if you load the ipod with music from RB and everything is working and then you open the ipod in itunes, it will appear blank. itunes will show the used disk space, but will not show the music.

So adding music finally works correctly, but deleting has problems. Then there is iTunes which at this point in time you are better off just formatting it once and then using RB the rest of the time.

Revision history for this message
will_in_wi (will-in-wi) wrote :

I have done some coding and have fixed problem 1. Now adding and removing both work properly. Problem 2 is still existent but on looking at the libgpod docs, it is not a bug but it simply overwrites files as needed. Problem 3 is still there but that I cannot fix.

This seems to be good enough to commit. It is better than the old behaviour.

Changed in rhythmbox:
status: Unconfirmed → Fix Released
Revision history for this message
will_in_wi (will-in-wi) wrote :

A new patch from the gnome bug that uses less code, is cleaner and works as well.

Changed in rhythmbox:
status: Fix Released → Unconfirmed
Changed in rhythmbox:
status: Unconfirmed → Fix Released
Revision history for this message
Daniel Holbach (dholbach) wrote :

Fixed Upstream.

Changed in rhythmbox:
status: Confirmed → Fix Committed
Revision history for this message
Sebastien Bacher (seb128) wrote :

This upload fixes the bug:

 rhythmbox (0.10.0-0ubuntu1) feisty; urgency=low
 .
   * New upstream version (UVF #101953):
     - Fix assorted crashers (Ubuntu: #93095)
     - fix build issues
     - Fix typos (Ubuntu: #88980)
     - stop some critical warnings
     - Improve Jamendo error handling
     - Make compatible with libsoup other than 2.2.99 (Ubuntu: #90676)
     - Italisise Magnatune text correctly
     - Fix some memory leaks
     - Use AudioScobbler logo properly
     - Don't cause gnome-power-manager to start
     - Fix some threading issues
     - Don't add files starting with a period
     - Improve Magnatune error handling
     - Fix sizing of playlist format combo box (Ubuntu: #90667)
   * Copy MP3s to audio players without lame installed
   * debian/patches/80_from_upstream_fix_ipod_update.patch:
     - patch from upstream, fix iTunesDB update (Ubuntu: #68300)
   * debian/patches/90_from_svn_fix_clipboard_crasher.patch,
     debian/patches/91_from_svn_fix_copy_require_encoder.patch,
     debian/patches/91_from_svn_fix_ipod_copy.patch:
     - dropped, fixed with the new version

Changed in rhythmbox:
status: Fix Committed → Fix Released
Revision history for this message
maluze (justinthomas85) wrote :

Hi...I was having problems using rhythmbox and my 2G iPod Shuffle...I just downloaded and installed Rhythmbox 0.10.0, as was suggested here. After opening the program, everything is fine...until i try to add a song to the Shuffle; then it simply crashes (closes).

I captured a log file before rhythmbox crashed, and after it crashed...it seems when i ran rhythmbox -d>, rhythmbox would start up, and the log file would go on forever until i closed the app..maybe you can make some sense of it :(

i

Changed in rhythmbox:
status: Fix Released → Unconfirmed
Revision history for this message
maluze (justinthomas85) wrote :

well today i just bothered to look in the "import errors" of rhythmbox, and lo an behold there is an iPod shuffle related error:

"~/iPod/iPod_Control/iTunes/iTunesControl" "GStreamer error: Failed to change state"...is there any fix to this? maybe this is why rhythmbox is crashing

Revision history for this message
Sebastien Bacher (seb128) wrote :

maybe you could try asking upstream, we get too many bug on launchpad at the moment to look a minor bugs like this one

Changed in rhythmbox:
status: Unconfirmed → Needs Info
Revision history for this message
Chuck Leduc (celeduc) wrote : Hardly minor

It's hardly a minor bug -- it corrupts the iTunes database and "bricks" the device until you can plug it into a Mac or Windows box. Usually gtkpod can't recover it.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Chuck, there is thousand of desktop bugs open, not everybody has an ipod and the bug happens only with some ipods, there is other bugs to work on before this one

Revision history for this message
DarkMageZ (darkmagez) wrote :

the reported bug itself is fixed or it was fixed in the ubuntu feisty packages, so long as the changes wern't reverted.

Revision history for this message
exkeks (s-klatt) wrote :

The bug is still existing on Ubuntu Feisty with Rhythmbox 0.10.0 and an iPod shuffle 2G. Is there anything I can do about it?

Revision history for this message
Sebastien Bacher (seb128) wrote :

exkeks, you can try to ask on the bugzilla.gnome.org, the upstream bug tracker is read by the people writting the software

Revision history for this message
Sergey V. Udaltsov (sergey-udaltsov) wrote :

Same here. Look:
http://mail.gnome.org/archives/rhythmbox-devel/2007-March/msg00066.html
There is a tiny patch attached. Could we have it in feisty please?

Revision history for this message
will_in_wi (will-in-wi) wrote :

The patch is in feisty. Which ipod shuffle do you have? Is it the new tiny clip-on one? If so I would guess that that is not supported for some reason. Try the attached deb. Maybe it will help.

Revision history for this message
Sergey V. Udaltsov (sergey-udaltsov) wrote :

Ghm. I do not see that patch in feisty (0.10.0). I just did apt-get source

Sorry, I cannot try your .deb because I run ia64 version.

I have pretty old shuffle 512M

Revision history for this message
will_in_wi (will-in-wi) wrote :

I would suggest trying the gutsy version of rhythmbox to see if it fixes your problem. Here's how:

install build-essentials, dh-make, debhelper, devscripts, fakeroot

Download these two files:
http://archive.ubuntu.com/ubuntu/pool/main/r/rhythmbox/rhythmbox_0.11.0.orig.tar.gz
http://archive.ubuntu.com/ubuntu/pool/main/r/rhythmbox/rhythmbox_0.11.0-0ubuntu3.diff.gz

Extract the first file, then run: zcat rhythmbox_0.11.0-0ubuntu3.diff.gz | patch -p0
Cd into the rhythmbox directory and run chmod +x debian/rules
Now type dpkg-buildpackage -rfakeroot
When it completes it should have built a deb in the directory below. Install this deb useing dpkg -i debname.deb
Now test rhythmbox and see if it works.

Revision history for this message
Sergey V. Udaltsov (sergey-udaltsov) wrote :

Addng files work ok with 0.11.0 - thanks. But removal does not work properly. The files are removed from the DB but not physically from the drive (and gnupod_check reports them as lost, asks to fix). The device gets full very soon.

Revision history for this message
will_in_wi (will-in-wi) wrote :

Physical removal is Gnome Bug# 346434.

It seems RB is attempting to move the tracks to a trash can on the ipod and failing because there is no trash on the ipod. The fail state is to leave the file there. I think the file should just be deleted.

Revision history for this message
Sergey V. Udaltsov (sergey-udaltsov) wrote :

Ok, I think this one can be closed. But could you please fix it in feisty as well?

Revision history for this message
will_in_wi (will-in-wi) wrote :

See LP# 116709

Revision history for this message
Sebastien Bacher (seb128) wrote :

the patch had been applied before feisty and dropped because it requires other changes which are not trivial

Changed in rhythmbox:
status: Needs Info → Fix Released
Changed in rhythmbox:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.