Summary: | Recent build from git crashes on startup | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | robert marshall <robert> |
Component: | Collections/Local | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | matej, ralf-engels |
Priority: | NOR | ||
Version: | 2.8-git | ||
Target Milestone: | 2.9 | ||
Platform: | Kubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
robert marshall
2015-02-03 08:38:15 UTC
And build is with Qt: 4.8.6 Hm, I don't see such a crash, using git version v2.8.0-444-g4276860 Did you try to repair the database as suggested by the command line output? See also https://community.kde.org/Amarok/Community/MySQL#Repair_a_Corrupted_Database Since there has been some work on the database in the last few days, this might have cause the problem There's 502(!) of these messages all with different constraints on albums.name the errors starts with MySQLe query failed! (1194) Table 'artists' is marked as crashed and should be repaired on DELETE FROM artists WHERE id NOT IN ( SELECT artist FROM tracks WHERE artist IS NOT NULL ) AND id NOT IN ( SELECT artist FROM albums WHERE artist IS NOT NULL )" do I need to drop the constraint and that will then sort them all> what's the default database connection (I've never configured anything here) do I have to search though .kde/share/apps/amarok to find it? I tried the command at that link # mysqlcheck -p --auto-repair --all-databases Enter password: mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect (I've no idea what the password should be so I entered nothing) Setting status correctly just running that command with sudo rights should be enough. That doesn't work for me: sudo mysqlcheck -p --auto-repair --all-databases [sudo] password for robert: Enter password: mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect So it's asking for another password! Is the problem *here* (ie with the repair command) that it's trying to connect to mysql? - I had mysql-server installed a bit back but I removed it in December (ie well before amarok stopped running). my.cnf starts with [embedded] (this page loads for me with FIXED set on the status - I assume I need to manually change it to WAITINGFORINFO nothing else in that RH pull down looked right) Robert, 1. are you using the embedded server or the mysql server. I can't really tell but it seems like the crashed database is the embedded one (which is stored in /home/robert/.kde/share/apps/amarok/mysqle/amarok) while you are trying to repair the server based database. 2. It seems to me that the crash is not caused by a corrupted database but something in AlbumPlayBias. I've done changes in the AlbumPlayBias but I can't imagine the cause of the crash. I just committed a change that should solve the track. ab52017de4f9c2bc2f8629e7a96104d8bc60688d 3. It might be that your embedded database is corrupt which caused the crash later on or that the crash caused a corrupt database. In both cases your database would be corrupt and if SQLembedded is not able to fix the issue you would need to remove the whole database. Please report if the fix solves your issue. 1 I'm using the embedded server - my problem with repairing is that (AFAICT) uninstalling mysql-server, which I installed for some development work unrelated to amarok, appears not to install cleanly. 2 I've pulled your new code and built and installed. With that change I now get amarok to start but there's a message "MySQLe something failed! on library initialization failed, return code 1 In most cases you will need to resolve these errors before Amarok will run properly." I then get thrown into the configure database screen and the collection is now empty. 3 I guess that means the database is corrupt, do I need to remove .kde/share/apps/amarok/mysqle/amarok and then restart? If you did not get the message box before then you had probably not the very latest Amarok build. Anyway, I think the database is corrupt and you should remove or rename it to start Amarok cleanly. I've moved mysqle out of the way. Started amarok got the same message again 'MySQLe something failed! on library initialization failed...' I tried adding a directory to the library, it was scanned but still a local collection with 0 entries. Restarted amarok got same error and still nothing in local collection. I didn't remove my.cnf - a mysqle dir has been created but it is empty. ..I've just pulled a week old copy of kde/share/apps/amarok/mysqle/amarok from a backup so before the build of the new copy of amarok) and started amarok and still get [MySqlStorage] MySQLe something failed! on library initialization failed, return code 1 - is there another file elsewhere which needs removing? What are the messages when you start Amarok with --debug ? But that should have done it. And now it works! Sorry for the noise. I think the issue (on trying to generate a new db) was that I had a version of mysql-server that was installed but not running properly I now have a version of mysql-server which is only half installed and that doesn't give the problem. I had problems starting kmail (akonadi issues) back in Dec when I had the non running mysql maybe this also affects amarok? The point where the amarok crash happened I didn't have mysql-server installed (in any state) I installed it to try to get mysqlcheck to run (see comment #3). amarok (from git) runs happily with the version of the database that I pulled off my backups- I think this bug can be closed! Thank you for the assistance! Thank you for the quick feedback. |