You are here: Home Linux and free software Amarok 2: a story of disappointment -- with a solution for Fedora 11

Amarok 2: a story of disappointment -- with a solution for Fedora 11

Amarok 2 is regrettably worse than unusable (it actually causes data loss) for people coming from Amarok 1. Worst part is, Fedora ships it as "stable" software since its tenth release. Fortunately, I have built Amarok 1.4.10 for Fedora 11 -- and you can install it now.

I've finished upgrading my workstation to Fedora 11 beta.  Since Fedora 10, Amarok 2 has been shipping in lieu of Amarok 1, but since the import tool in Amarok 2 was unusable, I had remained with Amarok 1 instead.  This time around, I decided to take Amarok 2 (specifically, 2.0.2) for a spin. So, I diligently backed up my KDE config and application data for Amarok 1, and nuked it from the original places.

Before anybody accuses me of using a beta for this rant, bear in mind that the rest of the KDE 4 applications in this system are functioning correctly.  Of course, if you want to skip the rant, click here for the solution.

The launch -- failure #1

I launched Amarok 2.

No cookie.  It didn't even launch -- it ended with a SIGSEGV after an St9_bad_alloc C++ exception.  What could be going on?

Turns out it was my security configuration.  I have my system set up to never grant more than 1 GB of RAM to any application, using the ulimit command; and for good reason too, since Kopete every once in a while decides to run away with all system memory and freeze my machine.

But this only lets me ask the question: why would a music player need to allocate in excess of one gigabyte of RAM just to start up?  I am appalled at this.  It makes me want to go back to MS-DOS .OVL files as a memory management strategy.

Well, never mind, let's increase that to 2 GB and try again. 

The import -- failure #2

This time around, Amarok launches, and presents me with a collection configuration screen.  I check the folders I had checked in the old Amarok 1 configuration, then click Import.  The importer appears -- I feed it my database information and I hit Next.  It starts importing.  This import function is vital to me, since my entire music collection habit and mobile music experience is powered by Amarok 1 statistics and other metadata like tags.

The importer takes 5 minutes to list all of my music, spitting quite a few TagLib errors on the console.  And then... it just spins.  It spins using 100% of one CPU core for twenty minutes.  I am about to terminate Amarok 2... and then the Finish button on the importer lights up.  I hit Finish.  Remember, I'm now half an hour trying to get this junk to work, and so far nothing.

Now, like any regular person, I'd expect the importer to have succeeded.  Surprise, surprise, the collection pane is empty.  Not a single song has been imported!

Drag and drop, Ogg edition -- failure #3

So, okay, maybe the statistics were imported but not the collection itself, which may need a rescan, right?

Let's move on to the file browser panel.  In Amarok 1, I had a series of bookmarks pointing to commonly accessed directories.  No such luck in Amarok 2!

That's okay, I know my way around my collection, so let's browse to an Ace of Base folder which contains several tracks I listen frequently.  Let's drag the song Beautiful life.ogg to the playlist... wait... why isn't my favorite Ace of Base song showing up in the pane?

What?  Only MP3 files are showing up!  All the Ogg files are gone!

I launch Dolphin and browse to the folder and, sure enough, the Ogg files are there!  Why would Amarok not show me my Ogg files?

OK so let's try and drag the file in question from Dolphin to Amarok's playlist... nice, the drop target shows a black bar where it's going to be inserted.  Let's release the mouse button... nothing!  Amarok plainly refuses to accept Ogg files dropped into it!

By now I'm furious.

OK, maybe at least Amarok will let me drop an MP3 file.  So I try with Angel eyes.mp3.  Sure enough, the black bar appears, and this time the file gets actually added...

Metadata fail -- failure #4

...only there's something funny about the playlist.  It doesn't show me any info except for the file name.  No album, no artist, no track, no number, no nothing!

I right-click the file and select the option to edit tags (which shows me a number of things, not just the tags).  Whaddya know?  Amarok thinks the file is zero bytes long and the only things that it shows correctly are:

  1. The path to the file
  2. The number of plays that song has seen

Aha.  Well, will it play the song?  Let's double-click it... and bingo, sound!

OK, so let's go fix the collection thing.  Let's request a collection update.  I do that... and boom, segfault again.  Despite that taking place, there are several amarokcollectionscanner processes running amok on my system and slowing it down to a nearly unusable crawl.

So, in the words of a friend wise beyond his years, a la verga los pastores, se acabó la Navidad.  killall -9 amarokcollectionscanner && rpm -e amarok.

The recap

  1. Amarok 2 refuses to load when limited to less than one gigabyte of RAM.
  2. The importer doesn't work.
  3. You can't play Ogg files.
  4. If you so much as sneeze, it dies and leaves mongrels that make your system unusable.

Let me remind you, the Amarok developers have the audacity to call this the second bug fix release of the second version.

If I, a Linux developer with 12 years of experience who knows his way around UNIX like the back of his hand, can't get this ersatz "music player", with elementarily dumb oversights, mistakenly shipped by the Fedora release managers as stable software, what can a regular user who just wants to play music have in the way of hope?

Now I go to the IRC channel in Freenode where the Amarok developers dwell, and voice my complaints.  They tell me to stop complaining and file bugs.  What for?  It isn't the first bug I have filed about Amarok, and bugs take months or even years to be sorted out.

This on top of a number of regressions I discovered months ago that I'm pretty sure aren't fixed yet:

  1. Playlist import didn't work.  Especially if one of your playlists had a track entry that had been moved and is no longer in the collection.  In fact, you cannot even put a song outside your collection in a playlist, since the database doesn't store paths but rather IDs from songs in the collection.  So you had to manually fix all of your playlists in order to prevent data loss.  Fortunately, I scripted this task so I did do it months ago in the good faith that I would be able to use Amarok 2 some day.
  2. Any statistics (ratings, labels, play counts, scores) for songs outside your collection is lost.  Lost.  If you have been listening to songs outside your collection folder, expect to say goodbye to all track metadata applied to these tracks.  The reason it is lost is, again, because Amarok does who knows what with the imported statistics data that used to show (not anymore!  so you can say this is a bug atop a bug!)  on the playlist when a non-collection track was first added, but gets utterly reset when the non-collection track finishes playing.
  3. Intelligent playlists weren't imported either.  If you were feeding your iPod using one of these, bye bye.
  4. There is no way to mass-edit tag information right from the playlist, something I very much frequently did when using Amarok 1.

Systemic failure.  That's all I can say.  A group of developers set out to write a music player that has less features than the old generation one, and has more bugs than an ant colony.  Then they code code code without any meaningful testing.  Then they ship it implying it is stable software under the banner of "we need more testers", but with no working migration path from the old version of the software, and double the hardware requirements.  Good-willed people in charge of distributing good software get duped into shipping this bag of FAIL, updating perfectly-working software already-deployed into millions of users' workstations.  And when the users complain, some people have the gall to say that we are rude.

Lenin would be proud.

If you want to accuse me of being an ungrateful son of a bitch, can that accusation.  Not only is my criticism valid in a world where you're validated by how good the results of your work is -- regardless of end-user price -- I have actually gone out of my way to provide a solution for you and help you avoid these disasters.  Scroll down.

The solution

Well, since I cannot live without Amarok 1, I decided to built it for Fedora 11.  I had to patch a number of deficiencies in the Amarok 1 source code (namely, the use of obsolete libraries and C include practices) with patches I found around the globe for Gentoo and other distributions.  It wasn't that hard, but it wasn't easy either.  The RPM packages ready to install are on The missing RPMs repository (which I do not recommend you actually add to your Yum configuration if you're using Fedora 11) and you can get them here directly:

  1. Amarok 1.4.10 for Fedora 11 64 bits.
  2. Amarok 1.4.10 source package to rebuild for Fedora 11 or Fedora 10 (32 or 64 bits).

You install them by downloading them and then using the rpm -Uvh --oldpackage command, so this package actually replaces the newer Amarok package.  After doing that, you're strongly encouraged to lock Amarok from being upgraded with yum by putting a line exclude=amarok in your /etc/yum.conf file.

Tip: if you use the Smart package manager, you can install the package using point-and-click, and it will automatically erase the newer version for you, no need for funny commands or anything.  After installing the package, lock the version of the newly installed Amarok package so it won't get upgraded in future upgrade cycles.

Document Actions

Comments (4)

Acitta Apr 04, 2009 07:15 PM
I have not trouble playing OGG files on Amarok2 (ver 2.0.2) on Mandriva 2009.1 (Cooker). I have no problems with Amarok2 except if I start it without mounting my external network file server where I have all of my music files. Then I lose my database and have to re-build it. There are also some playlist options that are not yet available for Amarok2 that Amarok1 has, but that is a minor quibble. Otherwise I find that it is working well. Maybe it is Fedora that is the problem. Have you filed bug reports?
Fibonacci Prower Apr 13, 2009 11:28 PM
Don't want to start a flamewar here, but programs shipped as "stable" in Debian-based distros usually work, if not always. Amarok 2 works fine on Ubuntu.
Ilya Diallo May 04, 2009 03:37 PM
To the previous commenters: have you succeded in importing a 1.4 collection (including ratings) ? I haven't (Mandriva 2009.0 and 2009.1)
FYI Mandriva is re-adding Amarok 1.4 to 2009.1 see http://forum.mandriva.com/v[…];postorder=asc&start=28
Fibonacci Prower Nov 30, 2010 01:40 PM
How do you configure your system so that no process can use more than 1G of RAM? I'll have to do that too - a certain web browser we all know and love runs amok every once in a while.