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