Bug 317370

Summary: Unable to save local collection config / run full rescan / import from xml in Arch Linux
Product: [Applications] amarok Reporter: Hauke <oss>
Component: Collections/LocalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED DOWNSTREAM    
Severity: normal CC: art-solopov, jorge.barroso.11, matej, ralf-engels, ulf.dellbruegge
Priority: NOR    
Version: 2.7.0   
Target Milestone: 2.8   
Platform: Arch Linux   
OS: Linux   
URL: https://bugs.archlinux.org/task/34517
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Hauke 2013-03-26 09:52:50 UTC
After updating amarok from arch repos, I am unable to lookup my local collection and/or save configuration for that.

The local music collection list on the left is empty after starting amarok.

Neopomuk as collection source works fine for example.

I also tried to import my collection from a XML-File.
'amarokcollectionscanner -r /home/hauke/Musik/ > mymusic.xml'
creates the XML file very well, but I am not able to import this.

Reproducible: Always

Steps to Reproduce:
1. Start Amarok
2. Go to Settings -> Configure Amarok -> Local Collection -> choose '/home/hauke/Musik'
3a. Click Full Rescan -> nothing happens
3b Click Apply -> Click OK
Actual Results:  
The path isn't set in the local collection settings.

Expected Results:  
The path should be saved in config and I should be able to see my collection on the left.

Debug Output from my try to change local collection settings: http://hateo.de/amarok/amarok_debug_localcollection.log

Debug Output from my try to import via XML: http://hateo.de/amarok/amarok_debug_xmlimport.log

Some errors, if I start from command line: http://hateo.de/amarok/start_amarok_from_bash.log
Comment 1 Myriam Schweingruber 2013-03-26 11:11:39 UTC
Please check your permissions, you need write permissions on all these folders.
Comment 2 Hauke 2013-03-26 13:22:07 UTC
Permissions seems ok.

Stracing amarok looks like this:
It seems that the config is written fine, but anyway this thing doesn't work.

5298  stat("/home/hauke/.kde4/share/config/amarokrc", {st_mode=S_IFREG|0711, st_size=3950, ...}) = 0
5298  access("/home/hauke/.kde4/share/config/amarokrc", R_OK) = 0
5298  access("/home/hauke/.kde4/share/config/amarokrc", W_OK) = 0
5298  access("/home/hauke/.kde4/share/config/amarokrc", X_OK) = 0
5298  chmod("/home/hauke/.kde4/share/config/amarokrcZL5298.new", 0711) = 0
5298  open("/home/hauke/.kde4/share/config/amarokrcZL5298.new", O_RDWR|O_CREAT|O_CLOEXEC, 0666) = 37
5298  fcntl(37, F_SETFD, FD_CLOEXEC)    = 0
5298  lseek(27, 0, SEEK_SET)            = 0
5298  close(27)                         = 0
5298  chmod("/home/hauke/.kde4/share/config/amarokrcZL5298.new", 0711) = 0
5298  fstat(37, {st_mode=S_IFREG|0711, st_size=0, ...}) = 0
5298  write(37, "[$Version]\nupdate_info=amarok.upd:1\n\n[Collection]\nWrite Back Statistics=true\n\n[Collection Browser]\nTreeCategory=5,2,1\nView Mode=NormalCollections\n
\n[Collection Folders]\n1=./hauke/Musik\nUse MusicLocation=false\n\n[Collection Transcoding Preference]\nEncoder=INV"..., 3950) = 3950
5298  fstat(37, {st_mode=S_IFREG|0711, st_size=3950, ...}) = 0
5298  close(37)                         = 0
5298  rename("/home/hauke/.kde4/share/config/amarokrcZL5298.new", "/home/hauke/.kde4/share/config/amarokrc") = 0
5298  unlink("/home/hauke/.kde4/share/config/amarokrc.lock") = 0
5298  close(26)                         = 0
Comment 3 Ralf Engels 2013-03-26 18:02:26 UTC
Since I have recently done changes to the scanner I am very interested in knowing if this is a problem that only happens with the latest git version.

My questions:
- Is this a 2.7 or something that you build yourself?
- in your debug log I can't see anything to do with scanner. do you see anything?
- how did you problem first appear? Did you update to 2.7 and only after a rescan everything gone down the drain?
Comment 4 Hauke 2013-03-26 18:19:36 UTC
It is a 2.7 from Arch Linux repositories. I didn't build that by myself.

Of course I can't see anything like a scanner in this logs, another search in a strace output for 'scan' doesn't show anything.

My problem appears after updating from 2.7.0-3 -> 2.7.0-4. Now I see that the Arch maintainer switched from mysql to mariadb (https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/amarok&id=dbc7fcc4631fb6f17aaf8150f839047ece00531b) Could this be a/the problem?

I am really confused about this messages from stdout:
"/org/freedesktop/UDisks2/drives/ST9500325AS_5VEC451M" : property "DeviceNumber" does not exist 
"/org/freedesktop/UDisks2/drives/ST9500325AS_5VEC451M" : property "Device" does not exist 
"/org/freedesktop/UDisks2/drives/Optiarc_DVD_RW_AD_7580S_SAA1505437" : property "DeviceNumber" does not exist 
"/org/freedesktop/UDisks2/drives/Optiarc_DVD_RW_AD_7580S_SAA1505437" : property "Device" does not exist 
"/org/freedesktop/UDisks2/drives/ST9500325AS_5VEC451M" : property "Drive" does not exist 
"/org/freedesktop/UDisks2/drives/Optiarc_DVD_RW_AD_7580S_SAA1505437" : property "Drive" does not exist 

I can't find that parameters in any config file.

This is what I reproduced too at this time: Every time I try to 'write' the config in Amarok I got this X BadWindow Error:
amarok(2218)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x5400197
Comment 5 Ralf Engels 2013-03-29 09:49:34 UTC
Everybody get's the X error (it's probably from the KDE library) and I also guess the "device" is not the issue.

Now that you pointed out that it's maybe something with sql it could be this:

amarok:         [WARNING] [PluginManager] "Failed to get factory 'amarok_collection-mysqlecollection' from KPluginLoader: Cannot load library /usr/lib/kde4/amarok_collection-mysqlecollection.so: (libmysqld.so.18: cannot open shared object file: No such file or directory)" 

So the local collection library is not even loaded. 
Might this be a problem with the packaging of the Amarok Arch package? Have they even tested it?

The following next steps come to my mind.
- Try out to install the "normal" mysql package
- Try to build Amarok from sources and check if it picks up the right sql library
- Contact the Arch people and point out the issue of a missing dependency
Comment 6 Matěj Laitl 2013-03-29 10:29:52 UTC
My guess is that Arch people simply switched from MySQL to MariaDB without recompiling Amarok. Extremely silly, again.
Comment 7 Myriam Schweingruber 2013-03-29 11:20:33 UTC
The problem is most likely the Arch packaging, not setting the dependencies correctly with their switch to MariaDB.
Since other Arch users solved this with installing the missing packages, I close this as a downstream problem.
Comment 8 Hauke 2013-03-29 13:45:20 UTC
Thank you pretty much. The switch from mysql to mariadb solved this issue. There was a problem with the dependency in the arch amarok package I guess.
Comment 9 Myriam Schweingruber 2013-03-29 16:16:27 UTC
*** Bug 317455 has been marked as a duplicate of this bug. ***
Comment 10 Myriam Schweingruber 2013-03-31 13:37:04 UTC
*** Bug 317633 has been marked as a duplicate of this bug. ***
Comment 11 Ulf Dellbrügge 2013-04-01 18:46:14 UTC
*** Bug 317691 has been marked as a duplicate of this bug. ***
Comment 12 Myriam Schweingruber 2013-04-02 12:49:52 UTC
FWIW: installing MariaDB removes MySQL, so you need to install ALL relevant MariaDB packages:

pacman -S mariadb libmariadbclient mariadb-clients