Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 137541 - amarok 1.4.0a crashes calling mysql-5.0.22
Summary: amarok 1.4.0a crashes calling mysql-5.0.22
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Diego Elio Pettenò (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-21 22:08 UTC by Caleb Cushing
Modified: 2006-07-30 15:39 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge.info,2.24 KB, text/plain)
2006-06-21 22:09 UTC, Caleb Cushing
Details
emerge --info (emerge.info,2.25 KB, text/plain)
2006-06-22 06:40 UTC, Caleb Cushing
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Caleb Cushing 2006-06-21 22:08:17 UTC
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 ?? ()
Comment 1 Caleb Cushing 2006-06-21 22:09:38 UTC
Created attachment 89778 [details]
emerge --info
Comment 2 Caleb Cushing 2006-06-21 22:12:42 UTC
[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
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-06-22 04:48:48 UTC
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.
Comment 4 Caleb Cushing 2006-06-22 06:40:23 UTC
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
Comment 5 Caleb Cushing 2006-06-22 06:43:02 UTC
> 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.
Comment 6 Caleb Cushing 2006-06-22 15:06:27 UTC
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.
Comment 7 Francesco R. (RETIRED) gentoo-dev 2006-06-24 07:36:34 UTC
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.
Comment 8 Caleb Cushing 2006-06-24 09:21:41 UTC
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. 
Comment 9 Caleb Cushing 2006-06-24 12:33:20 UTC
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.
Comment 10 Caleb Cushing 2006-06-24 13:54:45 UTC
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...
Comment 11 Francesco R. (RETIRED) gentoo-dev 2006-06-25 05:09:32 UTC
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)
Comment 12 Francesco R. (RETIRED) gentoo-dev 2006-06-25 05:15:40 UTC
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 '/'  )

Comment 13 Caleb Cushing 2006-07-30 15:39:51 UTC
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.