Amarok crashes if it can not find mysql server

Bug #986179 reported by yurikoles
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Amarok
Fix Released
High
amarok (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

-- Information about the crash:
- What I was doing when the application crashed:
Reinstall Linux, saving old /home partition
- Custom settings of the application:
Amarok was configured to use external MySQL db

The crash can be reproduced every time.

KDE guys told me that this is packaging bug.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: amarok 2:2.5.0-0ubuntu6
ProcVersionSignature: Ubuntu 3.2.0-23.36-generic 3.2.14
Uname: Linux 3.2.0-23-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.0.1-0ubuntu5
Architecture: amd64
Date: Fri Apr 20 16:12:33 2012
InstallationMedia: Kubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120419)
SourcePackage: amarok
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
In , yurikoles (yurikoles) wrote :
Download full text (6.3 KiB)

Application: amarok (2.5.0)
KDE Platform Version: 4.8.2 (4.8.2)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-23-generic x86_64
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:
Reinstall Linux, saving old /home partition
- Custom settings of the application:
Amarok was configured to use external MySQL db

The crash can be reproduced every time.

-- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2842abf7c0 (LWP 6114))]

Thread 3 (Thread 0x7f281f397700 (LWP 6209)):
#0 0x00007f283f3aeb03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1 0x00007f283781135f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2 0x00007f283780276c in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3 0x00007f2837802dd9 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4 0x00007f2837802e90 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5 0x00007f283781130f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6 0x00007f2832c56d18 in ?? () from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so
#7 0x00007f28310cfb74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#8 0x00007f283bad1e9a in start_thread (arg=0x7f281f397700) at pthread_create.c:308
#9 0x00007f283f3ba4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f28120cb700 (LWP 6487)):
[KCrash Handler]
#6 0x00007f281331463b in DirWatchJob::run (this=0x2323cf0) at ../../../../../../src/core-impl/collections/db/ScanManager.cpp:372
#7 0x00007f283d06705b in ThreadWeaver::JobRunHelper::runTheJob (this=0x7f28120caca0, th=0x24db5a0, job=0x2323cf0) at ../../../threadweaver/Weaver/Job.cpp:106
#8 0x00007f283d0671cc in ThreadWeaver::Job::execute (this=0x2323cf0, th=0x24db5a0) at ../../../threadweaver/Weaver/Job.cpp:135
#9 0x00007f283d06681f in ThreadWeaver::ThreadRunHelper::run (this=0x7f28120cad20, parent=0x24cf6d0, th=0x24db5a0) at ../../../threadweaver/Weaver/Thread.cpp:95
#10 0x00007f283d0668db in ThreadWeaver::Thread::run (this=0x24db5a0) at ../../../threadweaver/Weaver/Thread.cpp:142
#11 0x00007f283fc16fcb in QThreadPrivate::start (arg=0x24db5a0) at thread/qthread_unix.cpp:298
#12 0x00007f28310cfb74 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#13 0x00007f283bad1e9a in start_thread (arg=0x7f28120cb700) at pthread_create.c:308
#14 0x00007f283f3ba4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f2842abf7c0 (LWP 6114)):
#0 0x00007f283f3ad0bd in read () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007f28310ce0bc in ?? () from /usr/lib/nvidia-current/libGL.so.1
#2 0x00007f28300f6b27 in ?? () from /usr/lib/nvidia-current/tls/libnvidia-tls.so.295.40
#3 0x00007f2839fee88f in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f2839fb3abd in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f2839fb3f96 in ??...

Read more...

Revision history for this message
In , yurikoles (yurikoles) wrote :

Problem resolved after I installed mysql-server.

Revision history for this message
In , Myriam Schweingruber (myriam) wrote :

Well, yes, a working MySQL, either as an external server or an internal database are mandatory for Amarok to work, that is not a bug but a dependency. Please talk to your distribution, there is a packaging error somewhere as it should not be possible to have Amarok without MySQL or MySQLe

Revision history for this message
In , yurikoles (yurikoles) wrote :

Music player which requires sql server are you kidding me?

Revision history for this message
yurikoles (yurikoles) wrote :
Revision history for this message
In , Jonathan Thomas (echidnaman) wrote :

I don't think this is a correct analysis. The packaging for Amarok already depends on the libraries required for running embedded MySQL, making it impossible for the Ubuntu Amarok package to be installed without at least MySQLe support.

The issue here is that configuration taken from a computer with a local external database and placed on a computer without the configured database set up yet. If Yuriy decided to switch to using the embedded database, this crash would not occur.

In the database configuration section of Amarok's settings, it does give the warning that Amarok expects external databases to already exist, but a case could be made that an incorrectly configured database shouldn't crash Amarok, but to instead provide an error reporting path that does not result in the immediate termination of the application.

Either way the Amarok development team chooses to look at this, the issue is either an Amarok bug or a user configuration bug, and not a packaging bug.

Revision history for this message
In , yurikoles (yurikoles) wrote :

The problem is that I can not reach settings page because amarok had crashed at start.

Revision history for this message
In , Myriam Schweingruber (myriam) wrote :

Well, you can set up a MySQL server without the configuration dialog of Amarok, please have a look at the wiki page here: http://amarok.kde.org/wiki/MySQL_Server

Jonathan: the default is MySQLe, not an external server and it doesn't need any user intervention to set it up. While I agree with you that Amarok should give a warning and close instead of crash, this is really a corner case as it is due to a user configuration bug.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in amarok (Ubuntu):
status: New → Confirmed
Revision history for this message
In , Myriam Schweingruber (myriam) wrote :

*** Bug 300152 has been marked as a duplicate of this bug. ***

Changed in amarok:
importance: Unknown → High
status: Unknown → New
Revision history for this message
In , Myriam Schweingruber (myriam) wrote :

Changing importance, apparently the MySQL version 5.5.23 shipped by Opensuse and Debian sid doesn't provide an embedded MySQLe. This is of course a MySQL problem, but it shouldn't crash Amarok.

Revision history for this message
In , Myriam Schweingruber (myriam) wrote :

*** Bug 300191 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Frederik Schwarzer (schwarzer-l) wrote :

MySQLe is provided. In Debian the package just does not create the folder /etc/mysql/conf.d/. If that folder is there, Amarok runs fine.

Changed in amarok:
status: New → Confirmed
Revision history for this message
In , Ralf Engels (ralf-engels) wrote :

Git commit a3d9d08eb7eee7fea7b0d5141b513d959af122f5 by Ralf Engels.
Committed on 08/08/2012 at 14:48.
Pushed by rengels into branch 'master'.

Prevent crash in case of non-working sql collection

Add some validity checks for the case where a collection is
non-initialized.
FIXED-IN: 2.6

M +1 -0 ChangeLog
M +21 -0 src/core-impl/collections/db/sql/SqlRegistry.cpp
M +14 -15 src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp

http://commits.kde.org/amarok/a3d9d08eb7eee7fea7b0d5141b513d959af122f5

Revision history for this message
yurikoles (yurikoles) wrote :

Fixed in upstream.

Changed in amarok (Ubuntu):
status: Confirmed → Fix Committed
Changed in amarok:
status: Confirmed → Fix Released
Revision history for this message
Rohan Garg (rohangarg) wrote :

Amarok 2.8 available via Kubuntu Backports.

Changed in amarok (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.