here's my bt not sure if it's usefull. I'll attache emerge info. #0 0xb5cbb3ae in _db_return_ () from /usr/lib/libmysqlclient.so.15 #1 0xb1cb0c44 in ?? () #2 0xb1cb0c40 in ?? () #3 0xb1cb0c3c in ?? () #4 0xb5ccfa89 in sha_const_key () from /usr/lib/libmysqlclient.so.15 #5 0xb5ccfa35 in sha_const_key () from /usr/lib/libmysqlclient.so.15 #6 0x0000000f in ?? () #7 0xb1cb0c98 in ?? () #8 0xb5cd1858 in ?? () from /usr/lib/libmysqlclient.so.15 #9 0x00000007 in ?? () #10 0x00000007 in ?? () #11 0x08760998 in ?? () #12 0xb5cc3c90 in vio_read_buff () from /usr/lib/libmysqlclient.so.15 #13 0x00000060 in ?? () #14 0xb1cb0c8c in ?? () #15 0xb1cb0c90 in ?? () #16 0xb1cb0c94 in ?? () #17 0xb1cb0c90 in ?? () #18 0xb1cb0c94 in ?? () #19 0xb1cb0c98 in ?? () #20 0xb5cc818c in net_flush () from /usr/lib/libmysqlclient.so.15 #21 0xb1cb0c94 in ?? () #22 0xb1cb0c90 in ?? () #23 0xb1cb0c8c in ?? () #24 0xb5ccf44f in sha_const_key () from /usr/lib/libmysqlclient.so.15 #25 0xb5ccf2b6 in sha_const_key () from /usr/lib/libmysqlclient.so.15 #26 0x0000000e in ?? () #27 0xb1cb0dd8 in ?? () #28 0xb5cd1858 in ?? () from /usr/lib/libmysqlclient.so.15 #29 0xb5cc9c43 in ?? () from /usr/lib/libmysqlclient.so.15 #30 0x0877a878 in ?? () #31 0x0874abc8 in ?? () #32 0xb5cc84f4 in net_write_command () from /usr/lib/libmysqlclient.so.15 #33 0x00000000 in ?? ()
Created attachment 89778 [details] emerge --info
[Thread -1249289296 (LWP 5707) exited] amarok: [CollectionDB] Connection Charset is now: utf8 amarok: END__: MySqlConnection::MySqlConnection(const MySqlConfig*) - To ok 0.027s amarok: BEGIN: MySqlConnection::MySqlConnection(const MySqlConfig*) amarok: [CollectionDB] [MySqlConnection::MySqlConnection(const MySqlCo nfig*)] amarok: [CollectionDB] Connection Charset is now: utf8 amarok: END__: MySqlConnection::MySqlConnection(const MySqlConfig*) - To ok 0.0072s amarok: [CollectionDB] This is used to handle problems from uniqueid cha ngeover and should not do anything amarok: [CollectionDB] Podcast tables created and up to date amarok: END__: void CollectionDB::initialize() - Took 0.098s amarok: BEGIN: void CollectionView::renderView(bool) amarok: END__: void CollectionView::renderView(bool) - Took 2.5e-05s amarok: [ContextBrowser] Rendering showCurrentTrack() amarok: BEGIN: void CollectionView::renderView(bool) amarok: current browser is not collection, aborting renderView() amarok: END__: void CollectionView::renderView(bool) - Took 9.4e-05s amarok: [ContextBrowser] Rendering showCurrentTrack() amarok: END__: void App::applySettings(bool) - Took 0.21s amarok: BEGIN: void EngineController::play(const MetaBundle&, uint) amarok: [controller] Loading URL: file:///home/music/busted/busted_%5B2004 %5D/12-falling_for_you-busted-busted_%5B2004%5D_(2).mp3 amarok: [CollectionDB] track ended: file:///home/music/alter_bridge/one_da y_remains/11-the_end_is_here-alter_bridge-one_day_remains.mp3 amarok: BEGIN: virtual bool XineEngine::load(const KURL&, bool) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1312089168 (LWP 349)] Error while running hook_stop: Invalid type combination in ordering comparison. 0xb5cbb3ae in _db_return_ () from /usr/lib/libmysqlclient.so.15
Can you please try to get a backtrace through http://www.gentoo.org/proj/en/qa/backtraces.xml ? Sounds like more mysql issues than Amarok's.
Created attachment 89805 [details] emerge --info #0 0xb5d353ae in _db_return_ () from /usr/lib/libmysqlclient.so.15 #1 0xb1c0a594 in ?? () #2 0xb1c0a590 in ?? () #3 0xb1c0a58c in ?? () #4 0xb5d49a89 in sha_const_key () from /usr/lib/libmysqlclient.so.15 #5 0xb5d49a35 in sha_const_key () from /usr/lib/libmysqlclient.so.15 #6 0x00000009 in ?? () #7 0xb1c0a728 in ?? () #8 0xb5d4b858 in ?? () from /usr/lib/libmysqlclient.so.15 #9 0xb5d43c43 in ?? () from /usr/lib/libmysqlclient.so.15 #10 0x086b4820 in ?? () #11 0x086301f0 in ?? () #12 0xb5d424f4 in net_write_command () from /usr/lib/libmysqlclient.so.15 [New Thread -1312769104 (LWP 11168)] amarok: BEGIN: virtual void ThreadWeaver::Thread::run() amarok: BEGIN: virtual bool CurrentTrackJob::doJob() amarok: [MetaBundle] [WARNING!] Tried to get the text of a nonexistent column! Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1312769104 (LWP 11168)] Error while running hook_stop: Invalid type combination in ordering comparison. 0xb5d353ae in _db_return_ () from /usr/lib/libmysqlclient.so.15
> Sounds like more mysql issues than Amarok's. > and it might be I'm running mysql-5. amarok says it's trying to get a nonexistent column? amarok created all of the columns... I could switch to the sqlite db to see if it helps.
sqlite works it's been playing all day hasn't crashed. so is it the way amarok calls mysql or is it the way mysql-5.0.22 handles it.
Sorry, can't reproduce. I've tryed it following the [1] guide, I do suggest to read the FAQ [2] at "Amarok crashes often, what can I do?". To have a look at query issued to the server put this in your "/etc/conf.d/mysql" . mysql_slot_0=( "log=/tmp/mysql-500.log" ) Also check the collation and charset of the data in the database (here it's utf8). [1] http://amarok.kde.org/amarokwiki/index.php/MySQL_HowTo [2] http://amarok.kde.org/amarokwiki/index.php/FAQ regards, Francesco R.
What's interesting to me is I had mysql 5 and amarok 1.4 working fine before I reinstalled my system. but both of those had been installed from upgrades... I decided I might try to revert to mysql 4... and then upgrade but I'll have these logs created first.
I had downgraded to mysql-4 so I re-upgraded to mysql-5 today other than running the daemon and restarting it I have not done anything with mysql. I did make the debugging changes however the downgrade re-upgrade seems to have fixed my problem. perhaps this issue would be reproducable on a fresh gentoo install (like mine was) that went straight to mysql-5 and amarok-1.4. I'll know by tomorrow for sure whether it's still acting up.
nope still breaking... %$#@! here's the query it crashed on. 9 Query SELECT round( percentage + 0.4 ) FROM statistics WHERE url = '/home/music/avenged_sevenfold/city_of_evil/06-seize_the_day-avenged_sevenfold-city_of_evil.mp3' 9 Query SELECT rating FROM statistics WHERE url = '/home/music/avenged_sevenfold/city_of_evil/06-seize_the_day-avenged_sevenfold-city_of_evil.mp3' 9 Query SELECT playcounter FROM statistics WHERE url = '/home/music/avenged_sevenfold/city_of_evil/06-seize_the_day-avenged_sevenfold-city_of_evil.mp3' 11 Query SELECT album.name, artist.name, genre.name, tags.title, year.name, tags.comment, tags.discnumber, tags.composer, tags.track, tags.bitrate, tags.length, tags.samplerate, tags.filesize, tags.filetype, tags.sampler FROM tags, album, artist, genre, year WHERE album.id = tags.album AND artist.id = tags.artist AND genre.id = tags.genre AND year.id = tags.year AND tags.url = '/home/music/avenged_sevenfold/city_of_evil/06-seize_the_day-avenged_sevenfold-city_of_evil.mp3' 9 Query SELECT accessdate FROM statistics WHERE url = '/home/music/avenged_sevenfold/city_of_evil/06-seize_the_day-avenged_sevenfold-city_of_evil.mp3' 11 Query SELECT id, name FROM artist WHERE name LIKE 'Avenged Sevenfold' ESCAPE '/' 11 Query SELECT id, name FROM album WHERE name LIKE 'City of Evil' ESCAPE '/' 9 Query SELECT embed.hash FROM tags LEFT JOIN embed ON tags.url = embed.url WHERE tags.url = '/home/music/avenged_sevenfold/city_of_evil/06-seize_the_day-avenged_sevenfold-city_of_evil.mp3' LIMIT 1 11 Query SELECT statistics.createdate,statistics.accessdate,statistics.playcounter,round(statistics.percentage + 0.4 ),statistics.rating FROM statistics WHERE 1 AND ( 0 OR statistics.url LIKE '//home//music//avenged/_sevenfold//city/_of/_evil//06-seize/_the/_day-avenged/_sevenfold-city/_of/_evil.mp3' ESCAPE '/' ) and my crappy bt... amarok: BEGIN: virtual void ThreadWeaver::Thread::run() amarok: BEGIN: virtual bool CurrentTrackJob::doJob() amarok: [MetaBundle] [WARNING!] Tried to get the text of a nonexistent c olumn! Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1249186896 (LWP 22105)] Error while running hook_stop: Invalid type combination in ordering comparison. 0xb5cf43ae in _db_return_ () from /usr/lib/libmysqlclient.so.15 gdb> bt #0 0xb5cf43ae in _db_return_ () from /usr/lib/libmysqlclient.so.15 #1 0x08256140 in ?? () #2 0x0886a643 in ?? () #3 0x087246d0 in ?? () #4 0xb5d0844f in sha_const_key () from /usr/lib/libmysqlclient.so.15 #5 0xb5d082b6 in sha_const_key () from /usr/lib/libmysqlclient.so.15 #6 0x00000005 in ?? () #7 0xbf971008 in ?? () #8 0xb5d0a858 in ?? () from /usr/lib/libmysqlclient.so.15 #9 0xb5e173a0 in _db_pon_ () from /usr/lib/libmysqlclient.so.15 #10 0xb58ad9ec in ?? () #11 0xb58ad9f0 in ?? () #12 0xb5cf7a22 in mysql_real_query () from /usr/lib/libmysqlclient.so.15 #13 0x08694148 in ?? () #14 0xb58ad9ec in ?? () #15 0xb58ad9f0 in ?? () #16 0xb58ad9f4 in ?? () #17 0xb58ad9f0 in ?? () #18 0xb58ad9f4 in ?? () #19 0xb58ad9f8 in ?? () #20 0xb68f9d48 in QCString::resize () from /usr/qt/3/lib/libqt-mt.so.3 Previous frame inner to this frame (corrupt stack?) gdb> seriously why can I never get decent bt's...
To have meaningfull backtrace following the guide at http://www.gentoo.org/proj/en/qa/backtraces.xml you need to recompile also the libraries that amarok use, in this case it look like you need to conpile with FEATURES="splitdebug" at least "qt" and "mysql". There is an amarok specific guide at http://amarok.kde.org/amarokwiki/index.php/Debugging_HowTo but be warned that FEATURES="splitdebug" and FEATURES="nostrip" conflict as the backtraces gentoo guide will tell you. Just to be blind, check the output of the following three commands: mysql -uroot -p"YOUR PASSWORD HERE" USE amarok; SHOW CREATE TABLE statistics \G Below it's an example of mine. mysql -uroot -p"YOUR PASSWORD HERE" Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 34 to server version: 5.0.22-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> USE amarok; mysql> SHOW CREATE TABLE statistics \G *************************** 1. row *************************** Table: statistics Create Table: CREATE TABLE `statistics` ( `url` varchar(255) default NULL, `createdate` int(11) default NULL, `accessdate` int(11) default NULL, `percentage` float default NULL, `rating` int(11) default '0', `playcounter` int(11) default NULL, UNIQUE KEY `url` (`url`), KEY `url_stats` (`url`), KEY `percentage_stats` (`percentage`), KEY `rating_stats` (`rating`), KEY `playcounter_stats` (`playcounter`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 1 row in set (0.00 sec)
forgot the most obvious :) , in the command line mysql client run the suspected query: SELECT statistics.createdate,statistics.accessdate,statistics.playcounter,round(statistics.percentage + 0.4 ),statistics.rating FROM statistics WHERE 1 AND ( 0 OR statistics.url LIKE '//home//music//avenged/_sevenfold//city/_of/_evil//06-seize/_the/_day-avenged/_sevenfold-city/_of/_evil.mp3' ESCAPE '/' )
seems fixed in amarok 1.4.1. sorry I disappeared from this bug. I ended up doing a reinstall do to too many bugs in that install of my system.