Fails to initalize db: Can't read dir of '/etc/mysql/conf.d/' (solved already)

Martin Steigerwald Martin at lichtvoll.de
Fri May 18 12:34:21 UTC 2012


Hi!

I solved this already for me. This is a documentation should anyone else
have this issue and as question whether here are upstream issues involved.
I reported it downstream with Debian already.


Today, after just starting Amarok after having switched to
Phonon VLC for testing whether Amarok does not skip or fail to
playback certain songs - I did logout and login to switch
- I just got:

Die Amarok-Datenbank berichtet die folgenden Fehler:
GREPME MySQLe query failed! (2000)  on init
In den meisten Fällen müssen diese Fehler behoben sein, bevor Amarok vollständig funktioniert.


Amarok then started, but collection is empty.

When I then quit Amarok its process is still there.

It doesn´t respond to a SIGINT.


martin at merkaba:~/.kde> date ; kill 30466
Fr 18. Mai 13:57:07 CEST 2012
martin at merkaba:~/.kde> date ; kill 30466
Fr 18. Mai 13:57:21 CEST 2012
martin at merkaba:~/.kde> date ; kill 30466
Fr 18. Mai 13:57:39 CEST 2012

martin at merkaba:~/.kde> ps aux | grep "/usr/bin/amarok" | grep -v grep
martin   30466  6.6  5.3 1205748 423804 ?      Sl   13:54   0:12 /usr/bin/amarok
martin at merkaba:~/.kde> date ; kill 30466                             
Fr 18. Mai 13:57:57 CEST 2012


strace has it at:

martin at merkaba:~> strace -fF -p 30466
Process 30466 attached with 9 threads - interrupt to quit
[pid 30486] futex(0x7fb6b4edbf54, FUTEX_WAIT_PRIVATE, 3, NULL <unfinished ...>
[pid 30484] select(5, [4], NULL, NULL, NULL <unfinished ...>
[pid 30482] futex(0x7fb6aee25354, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
[pid 30481] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 101, NULL <unfinished ...>
[pid 30480] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 103, NULL <unfinished ...>
[pid 30481] <... futex resumed> )       = -1 EAGAIN (Resource temporarily unavailable)
[pid 30480] <... futex resumed> )       = -1 EAGAIN (Resource temporarily unavailable)
[pid 30481] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 104, NULL <unfinished ...>
[pid 30480] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 104, NULL <unfinished ...>
[pid 30479] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 104, NULL <unfinished ...>
[pid 30478] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 102, NULL) = -1 EAGAIN (Resource temporarily 
unavailable)
[pid 30477] restart_syscall(<... resuming interrupted call ...> <unfinished ...>
[pid 30478] futex(0xf44a1c, FUTEX_WAIT_PRIVATE, 104, NULL <unfinished ...>
[pid 30466] futex(0x7fb69a702480, FUTEX_WAIT_PRIVATE, 2, NULL^C <unfinished ...>
Process 30466 detached
Process 30477 detached
Process 30478 detached
Process 30479 detached
Process 30480 detached
Process 30481 detached
Process 30482 detached
Process 30484 detached
Process 30486 detached


Looking at ~/.kde/share/apps/amarok/mysqle the database files appeared
to be fine on first glance.


martin at merkaba:~> apt-show-versions | egrep "(amarok|kdebase)"
amarok/sid uptodate 2.5.0-1
amarok-common/sid uptodate 2.5.0-1
amarok-utils/sid uptodate 2.5.0-1
kdebase-apps/sid uptodate 4:4.7.4-2
kdebase-bin/sid uptodate 4:4.7.4-2
kdebase-runtime/experimental-snapshots uptodate 4:4.8.3-0r1
kdebase-runtime-dbg/experimental-snapshots uptodate 4:4.8.3-0r1
kdebase-workspace-bin/experimental-snapshots uptodate 4:4.8.3-0r1
kdebase-workspace-dbg/experimental-snapshots uptodate 4:4.8.3-0r1

merkaba:~> apt-show-versions | grep "mysql"  
libmysqlclient-dev/sid uptodate 5.5.23-2
libmysqlclient16/sid uptodate 5.1.62-1
libmysqlclient18/sid uptodate 5.5.23-2
libqt4-sql-mysql/sid uptodate 4:4.8.1-1
mysql-common/sid uptodate 5.5.23-2


amarok --debug gives:

amarok:     BEGIN: MainWindow::MainWindow() 
amarok:       BEGIN: CollectionManager::CollectionManager() 
amarok:       END__: CollectionManager::CollectionManager() [Took: 0s] 
amarok:       BEGIN: Plugins::PluginManager::PluginManager(QObject*) 
amarok:         BEGIN: void Plugins::PluginManager::findAllPlugins() 
amarok:           [PluginManager] found plugin: "amarok_collection-audiocdcollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-daapcollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-mtpcollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-mysqlservercollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-mysqlecollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-upnpcollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-umscollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_collection-ipodcollection" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_device_massstorage" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_device_nfs" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_device_smb" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_service_ampache" enabled: false 
amarok:           [PluginManager] found plugin: "amarok_service_jamendo" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_service_lastfm" enabled: false 
amarok:           [PluginManager] found plugin: "amarok_service_amazonstore" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_service_mp3tunes" enabled: false 
amarok:           [PluginManager] found plugin: "amarok_service_magnatunestore" enabled: true 
amarok:           [PluginManager] found plugin: "amarok_service_opmldirectory" enabled: true 
amarok:           [PluginManager] 18 plugins in total 
amarok:         END__: void Plugins::PluginManager::findAllPlugins() [Took: 0.002s] 
amarok:         [PluginManager] created factory for plugin "amarok_collection-audiocdcollection" type: 
"Collection" 
amarok:         [PluginManager] created factory for plugin "amarok_collection-daapcollection" type: 
"Collection" 
amarok:         [PluginManager] created factory for plugin "amarok_collection-mtpcollection" type: 
"Collection" 
amarok:         [PluginManager] created factory for plugin "amarok_collection-mysqlecollection" type: 
"Collection" 
amarok:         [PluginManager] created factory for plugin "amarok_collection-upnpcollection" type: 
"Collection" 
amarok:         [PluginManager] created factory for plugin "amarok_collection-umscollection" type: 
"Collection" 
amarok:         [PluginManager] created factory for plugin "amarok_collection-ipodcollection" type: 
"Collection" 
amarok:         BEGIN: void CollectionManager::init(const QList<Plugins::PluginFactory*>&) 
amarok:           BEGIN: void CollectionManager::loadPlugins(const 
QList<Collections::CollectionFactory*>&) 
amarok:             [CollectionManager] initializing "amarok_collection-mysqlecollection" 


mysql_embedded: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2)
Fatal error in defaults handling. Program aborted


amarok:             [ERROR__] MySQL library initialization failed. 
amarok:             [ERROR__] [MySqlStorage] "GREPME MySQLe query failed! (2000)  on init" 


amarok:             BEGIN: bool DatabaseUpdater::update() 
amarok:               [MySqlStorage] Initialized thread, count== 1 
amarok:               [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
amarok:               Database version:  0 
amarok:               BEGIN: void DatabaseUpdater::createTables() const 
amarok:                 [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
[…]
amarok:                 [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
amarok:               END__: void DatabaseUpdater::createTables() const [Took: 0s] 
amarok:               [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
amarok:             END__: bool DatabaseUpdater::update() [Took: 0s] 
amarok:             [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
[…]
amarok:             [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
amarok:             BEGIN: virtual int App::newInstance() 
amarok:               BEGIN: static void App::handleCliArgs() 
amarok:               END__: static void App::handleCliArgs() [Took: 0s] 
amarok:             END__: virtual int App::newInstance() [Took: 0s] 
martin at merkaba:~> amarok:             [ERROR__] [MySqlStorage] Tried to perform query on 
uninitialized MySQL 
amarok:             [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
[…]
amarok:             [ERROR__] [MySqlStorage] Tried to perform query on uninitialized MySQL 
amarok:             BEGIN: void ScanManager::checkScannerVersion() 
amarok:             END__: void ScanManager::checkScannerVersion() [Took: 0.016s] 



I just did:

mkdir /etc/mysql/conf.d

and now Amarok loads and shows collection again.

I reported this downstream with Debian.



But I do see two upstream issues in here at least:

1) Amarok just still be SIGTERM-able on this situation.

2) Amarok should provide a better error message.


Although I do not understand why MySQL embedded should need anything
out of /etc/mysql.


Please advise whether you see upstream bugs involved that you´d like me
to report on bugs.kde.org.

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7



More information about the Amarok mailing list