Bug 306971 - Amarok should not crash because of scripts
Summary: Amarok should not crash because of scripts
Status: RESOLVED DUPLICATE of bug 297661
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.6.0
Platform: Fedora RPMs Linux
: NOR major
Target Milestone: 2.7
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-18 08:34 UTC by Marek
Modified: 2013-04-23 22:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
gdb backtrace from crash (18.41 KB, text/plain)
2012-09-18 08:37 UTC, Marek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marek 2012-09-18 08:34:21 UTC
Actual Amarok version in Fedora 17: 
$ rpm -q amarok
amarok-2.6.0-3.fc17.x86_64

There is a score of "crash/segfault" type bugs affecting different amarok versions, all caused by scripts. The proposed solution is to work with the script authors or disable the scripts. An application should NOT allow itself to be shot down like this; the script subsystem is broken and needs to be fixed. 

An average user will not be able to launch gdb, install all the debuginfo packages (in my case it was about 1.5GB of debuginfo*s !!!), identify the relevant lines in the gdb output and google these bugs in kde bug tracking system. The average user will sigh about how broken amarok is, and then use another music player.

This breaks user experience and appreciation of amarok.

Reproducible: Always

Steps to Reproduce:
(missing entry above: Happens ALMOST every time. In my case I could start it on average by every 4th attempt by hitting "restart application" in KDE crash handler)

1. Leave default script configuration in place (I only have the ones coming with amarok AFAIK):
$ ls /usr/share/kde4/apps/amarok/scripts/
free_music_charts_service  librivox_service  lyrics_lyricwiki  radio_station_service  script_console

My configuration was: 
* Script console: disabled
* Free music charts: enabled
* Librivox: enabled
* Lyricwiki: enabled
* Cool streams: enabled

As far as I remember, I have never touched the scripts config.

2. Start amarok
3. Crash
Actual Results:  
Got it working at the end by disabling all scripts (I don't really need them) after going through gdb, google, bugs.kde.org

Expected Results:  
Display error message, and automatically disable the misbehaving script. Definitely don't crash main amarok application with a segfault.
Comment 1 Marek 2012-09-18 08:37:24 UTC
Created attachment 73991 [details]
gdb backtrace from crash

Attached a backtrace, it may come useful.
Comment 2 Myriam Schweingruber 2012-09-18 11:54:51 UTC
Please always paste backtraces inline. BTW; you should make sure to have all debugging symbols installed, as your backtrace seems to lack quite a few, especially the ones for Qt

(FWIW: I have the same scripts enabled here and don't see a crash, so maybe something is wrong with your installation. Which exact KDE and Qt versions do you use?)

Thread 1 (Thread 0x7ffff7f9e880 (LWP 11063)):
#0  0x00007ffee6732030 in ?? ()
#1  0x00007fff64f52da0 in ?? ()
#2  0x7fffffff00000032 in ?? ()
#3  0x00007fffa7846200 in ?? ()
---Type <return> to continue, or q <return> to quit---
#4  0x00007fff00000010 in ?? ()
#5  0x0000000000000003 in ?? ()
#6  0x00007fffa628b2c0 in ?? ()
#7  0x00007fffacdb8270 in ?? ()
#8  0x00007fffacd8ac60 in ?? ()
#9  0x00007fffa625c0a0 in ?? ()
#10 0x00007fffc0030300 in ?? ()
#11 0x00007fff64f4c000 in ?? ()
#12 0x00007fffacd8ac78 in ?? ()
#13 0x00007fffa7c00060 in ?? ()
#14 0x00007fffc0021688 in ?? ()
#15 0x000000377207d0d8 in QTJSC::ExecutableAllocator::pageSize () from /lib64/libQtScript.so.4
#16 0x00007fffc0020400 in ?? ()
#17 0x00007fffa7c00000 in ?? ()
#18 0x00007fffacdb79a0 in ?? ()
#19 0x000000377207d0d8 in QTJSC::ExecutableAllocator::pageSize () from /lib64/libQtScript.so.4
#20 0x0000000001ed1ab8 in ?? ()
#21 0x00007fffa7c00060 in ?? ()
#22 0x00007fffacd8ac60 in ?? ()
#23 0x0000003771c92789 in execute (exception=0x7fffc0021688, globalData=0x7fffc0020400, callFrame=0x200, registerFile=0x7fffffffaba8, this=<optimized out>)
    at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITCode.h:79
#24 QTJSC::Interpreter::execute (this=0x7fffffffab90, functionExecutable=0xffff000000000002, callFrame=0x7fffa7c000e0, function=0x7fffa7b83a80, thisObj=<optimized out>, args=..., 
    scopeChain=0x7fffacdb8270, exception=0x7fffc0021688) at ../3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp:716
#25 0x0000003771d23787 in QTJSC::JSFunction::call (this=0x7fffa7b83a80, exec=0x1ed1ab8, thisValue=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSFunction.cpp:122
#26 0x0000003771cf718f in QTJSC::call (exec=<optimized out>, functionObject=..., callType=<optimized out>, callData=..., thisValue=..., args=...)
    at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:62
#27 0x0000003771df5d85 in QScript::QObjectConnectionManager::execute (this=this@entry=0x212a930, slotIndex=<optimized out>, argv=argv@entry=0x7fffffffaf10) at bridge/qscriptqobject.cpp:2157
#28 0x0000003771df6171 in QScript::QObjectConnectionManager::qt_metacall (this=0x212a930, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffffffaf10) at bridge/qscriptqobject.cpp:2066
#29 0x0000003759b8cd63 in QMetaObject::activate (sender=0x1ed4790, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffffffaf10) at kernel/qobject.cpp:3566
#30 0x00000033f84f0d38 in ScriptableServiceScript::populate (this=this@entry=0x1ed4790, _t1=_t1@entry=1, _t2=..., _t3=...)
    at /usr/src/debug/amarok-2.6.0/x86_64-redhat-linux-gnu/src/AmarokScriptableServiceScript.moc:251
#31 0x00000033f84f0dc3 in ScriptableServiceScript::slotPopulate (this=0x1ed4790, name=..., level=1, parent_id=-1, callbackData=..., filter=...)
    at /usr/src/debug/amarok-2.6.0/src/scriptengine/AmarokScriptableServiceScript.cpp:222
#32 0x00000033f85a0837 in ScriptManager::ServiceScriptPopulate (this=0x1a387d0, name=..., level=1, parent_id=-1, path=..., filter=...) at /usr/src/debug/amarok-2.6.0/src/ScriptManager.cpp:343
#33 0x00000033f81b98aa in Collections::ScriptableServiceQueryMaker::fetchAlbums (this=0x157cd00) at /usr/src/debug/amarok-2.6.0/src/services/scriptable/ScriptableServiceQueryMaker.cpp:302
#34 0x0000003759b8acee in QObject::event (this=0x157cd00, e=<optimized out>) at kernel/qobject.cpp:1195
#35 0x000000375cbca37c in QApplicationPrivate::notify_helper (this=this@entry=0x78a010, receiver=receiver@entry=0x157cd00, e=e@entry=0x16ac810) at kernel/qapplication.cpp:4551
#36 0x000000375cbce7fa in QApplication::notify (this=0x7fffffffdd20, receiver=0x157cd00, e=0x16ac810) at kernel/qapplication.cpp:4412
#37 0x000000375fe462b6 in KApplication::notify (this=0x7fffffffdd20, receiver=0x157cd00, event=0x16ac810) at /usr/src/debug/kdelibs-4.8.5/kdeui/kernel/kapplication.cpp:311
#38 0x0000003759b763ee in QCoreApplication::notifyInternal (this=0x7fffffffdd20, receiver=receiver@entry=0x157cd00, event=event@entry=0x16ac810) at kernel/qcoreapplication.cpp:915
#39 0x0000003759b79ea1 in sendEvent (event=0x16ac810, receiver=0x157cd00) at kernel/qcoreapplication.h:231
#40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x62a790) at kernel/qcoreapplication.cpp:1539
#41 0x0000003759ba4353 in sendPostedEvents () at kernel/qcoreapplication.h:236
#42 postEventSourceDispatch (s=s@entry=0x7876d0) at kernel/qeventdispatcher_glib.cpp:279
#43 0x0000003752e47695 in g_main_dispatch (context=0x7879b0) at gmain.c:2539
---Type <return> to continue, or q <return> to quit---
#44 g_main_context_dispatch (context=context@entry=0x7879b0) at gmain.c:3075
#45 0x0000003752e479c8 in g_main_context_iterate (context=context@entry=0x7879b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3146
#46 0x0000003752e47a84 in g_main_context_iteration (context=0x7879b0, may_block=1) at gmain.c:3207
#47 0x0000003759ba44e6 in QEventDispatcherGlib::processEvents (this=0x62bc50, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#48 0x000000375cc6a2ee in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#49 0x0000003759b7513f in QEventLoop::processEvents (this=this@entry=0x7fffffffb9e0, flags=...) at kernel/qeventloop.cpp:149
#50 0x0000003759b753c8 in QEventLoop::exec (this=0x7fffffffb9e0, flags=...) at kernel/qeventloop.cpp:204
#51 0x0000003759b7a1b8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#52 0x0000000000408dea in main (argc=3, argv=0x7fffffffde88) at /usr/src/debug/amarok-2.6.0/src/main.cpp:306
Comment 3 Marek 2012-09-18 15:15:59 UTC
Hello,

this bug is not exactly about my crash, but questioning the scripts handling by amarok in general. But here it goes anyway:

$ amarok --version
Qt: 4.8.2
KDE Development Platform: 4.8.5 (4.8.5)
Amarok: 2.6.0

About KDE/QT versions: I'm on an up-to-date (as of today) Fedora 17. So pretty recent.

I installed all the debuginfos requested by gdb when I was reproducing the crash. How can I find out which additional ones do I need?

$ rpm -qa | grep debuginfo | sort
acl-debuginfo-2.2.51-5.fc17.x86_64
alsa-lib-debuginfo-1.0.25-3.fc17.x86_64
amarok-debuginfo-2.6.0-3.fc17.x86_64
attica-debuginfo-0.4.0-1.fc17.x86_64
attr-debuginfo-2.4.46-5.fc17.x86_64
bzip2-debuginfo-1.0.6-4.fc17.x86_64
cairo-debuginfo-1.10.2-7.fc17.x86_64
cdparanoia-debuginfo-10.2-11.fc17.x86_64
clucene-debuginfo-2.3.3.4-6.fc17.x86_64
curl-debuginfo-7.24.0-5.fc17.x86_64
dbus-debuginfo-1.4.10-4.fc17.x86_64
dbusmenu-qt-debuginfo-0.9.0-3.fc17.x86_64
e2fsprogs-debuginfo-1.42.3-2.fc17.x86_64
exiv2-debuginfo-0.22-6.fc17.x86_64
expat-debuginfo-2.1.0-1.fc17.x86_64
flac-debuginfo-1.2.1-9.fc17.x86_64
fontconfig-debuginfo-2.8.0-7.fc17.x86_64
freetype-debuginfo-2.4.8-3.fc17.x86_64
gamin-debuginfo-0.1.10-12.fc17.x86_64
gcc-base-debuginfo-4.7.0-5.fc17.x86_64
gcc-debuginfo-4.7.0-5.fc17.x86_64
GConf2-debuginfo-3.2.5-1.fc17.x86_64
gdk-pixbuf2-debuginfo-2.26.1-1.fc17.x86_64
glib2-debuginfo-2.32.4-1.fc17.x86_64
glibc-debuginfo-2.15-56.fc17.x86_64
glibc-debuginfo-common-2.15-56.fc17.x86_64
gnutls-debuginfo-2.12.17-1.fc17.x86_64
gsm-debuginfo-1.0.13-6.fc17.x86_64
gstreamer-debuginfo-0.10.36-1.fc17.x86_64
gstreamer-plugins-bad-free-debuginfo-0.10.23-7.fc17.x86_64
gstreamer-plugins-base-debuginfo-0.10.36-2.fc17.x86_64
gstreamer-plugins-good-debuginfo-0.10.31-4.fc17.x86_64
herqq-debuginfo-1.0.0-3.fc17.x86_64
icu-debuginfo-4.8.1.1-4.fc17.x86_64
ilmbase-debuginfo-1.0.2-4.fc17.x86_64
jasper-debuginfo-1.900.1-19.fc17.x86_64
json-c-debuginfo-0.9-4.fc17.x86_64
kactivities-debuginfo-4.8.5-1.fc17.x86_64
kdelibs-debuginfo-4.8.5-1.fc17.x86_64
kdepimlibs-debuginfo-4.8.5-1.fc17.x86_64
kde-runtime-debuginfo-4.8.5-1.fc17.x86_64
kde-workspace-debuginfo-4.8.5-2.fc17.x86_64
keyutils-debuginfo-1.5.5-2.fc17.x86_64
krb5-debuginfo-1.10.2-6.fc17.x86_64
lcms-debuginfo-1.19-5.fc17.x86_64
libaio-debuginfo-0.3.109-5.fc17.x86_64
libasyncns-debuginfo-0.8-3.fc17.x86_64
libavc1394-debuginfo-0.5.3-11.fc17.x86_64
libdrm-debuginfo-2.4.37-1.fc17.x86_64
libdv-debuginfo-1.0.0-13.fc17.x86_64
libffi-debuginfo-3.0.10-2.fc17.x86_64
libgcrypt-debuginfo-1.5.0-3.fc17.x86_64
libgpg-error-debuginfo-1.10-2.fc17.x86_64
libgpod-debuginfo-0.8.2-4.fc17.x86_64
libICE-debuginfo-1.0.8-1.fc17.x86_64
libiec61883-debuginfo-1.2.0-7.fc17.x86_64
libimobiledevice-debuginfo-1.1.4-1.fc17.x86_64
libiodbc-debuginfo-3.52.7-3.fc17.x86_64
libjpeg-turbo-debuginfo-1.2.1-1.fc17.x86_64
liblastfm-debuginfo-1.0.1-1.fc17.x86_64
libmng-debuginfo-1.0.10-6.fc17.x86_64
libmtp-debuginfo-1.1.4-1.fc17.x86_64
libmygpo-qt-debuginfo-1.0.5-3.fc17.x86_64
libogg-debuginfo-1.3.0-1.fc17.x86_64
libpciaccess-debuginfo-0.13.1-1.fc17.x86_64
libplist-debuginfo-1.8-4.fc17.x86_64
libpng-debuginfo-1.5.10-1.fc17.x86_64
libqzeitgeist-debuginfo-0.8.0-6.fc17.x86_64
libraw1394-debuginfo-2.0.7-2.fc17.x86_64
libselinux-debuginfo-2.1.10-3.fc17.x86_64
libshout-debuginfo-2.2.2-7.fc17.x86_64
libSM-debuginfo-1.2.1-1.fc17.x86_64
libsndfile-debuginfo-1.0.25-2.fc17.x86_64
libsoup-debuginfo-2.38.1-3.fc17.x86_64
libssh-debuginfo-0.5.2-1.fc17.x86_64
libtasn1-debuginfo-2.12-1.fc17.x86_64
libtheora-debuginfo-1.1.1-3.fc17.x86_64
libtiff-debuginfo-3.9.6-2.fc17.x86_64
libusb1-debuginfo-1.0.9-0.6.rc1.fc17.x86_64
libvisual-debuginfo-0.4.0-11.fc17.x86_64
libvorbis-debuginfo-1.3.3-1.fc17.x86_64
libX11-debuginfo-1.5.0-2.fc17.x86_64
libXau-debuginfo-1.0.6-3.fc17.x86_64
libxcb-debuginfo-1.8.1-1.fc17.x86_64
libXcomposite-debuginfo-0.4.3-3.fc17.x86_64
libXcursor-debuginfo-1.1.13-1.fc17.x86_64
libXdamage-debuginfo-1.1.3-3.fc17.x86_64
libXdmcp-debuginfo-1.1.1-1.fc17.x86_64
libXext-debuginfo-1.3.1-1.fc17.x86_64
libXfixes-debuginfo-5.0-2.fc17.x86_64
libXft-debuginfo-2.3.0-2.fc17.x86_64
libXi-debuginfo-1.6.1-1.fc17.x86_64
libXinerama-debuginfo-1.1.2-1.fc17.x86_64
libxml2-debuginfo-2.7.8-7.fc17.x86_64
libXpm-debuginfo-3.5.10-1.fc17.x86_64
libXrandr-debuginfo-1.3.1-3.fc17.x86_64
libXrender-debuginfo-0.9.7-1.fc17.x86_64
libXScrnSaver-debuginfo-1.2.2-1.fc17.x86_64
libXtst-debuginfo-1.2.0-3.fc17.x86_64
libXv-debuginfo-1.0.7-1.fc17.x86_64
libXxf86vm-debuginfo-1.1.2-1.fc17.x86_64
loudmouth-debuginfo-1.4.3-10.fc17.x86_64
mesa-debuginfo-8.0.3-3.fc17.x86_64
mysql-debuginfo-5.5.27-1.fc17.x86_64
ncurses-debuginfo-5.9-4.20120204.fc17.x86_64
nss-mdns-debuginfo-0.10-10.fc17.x86_64
nss-softokn-debuginfo-3.13.5-1.fc17.x86_64
OpenEXR-debuginfo-1.7.0-4.fc17.x86_64
openslp-debuginfo-1.2.1-16.fc17.x86_64
openssl-debuginfo-1.0.0j-2.fc17.x86_64
orc-debuginfo-0.4.16-5.fc17.x86_64
p11-kit-debuginfo-0.12-1.fc17.x86_64
pango-debuginfo-1.30.0-1.fc17.x86_64
phonon-backend-gstreamer-debuginfo-4.6.2-1.fc17.x86_64
phonon-debuginfo-4.6.0-3.fc17.x86_64
pulseaudio-debuginfo-1.1-9.fc17.x86_64
qca2-debuginfo-2.0.3-3.fc17.x86_64
qjson-debuginfo-0.7.1-6.fc17.x86_64
qt-debuginfo-4.8.2-4.fc17.x86_64
qt-mobility-debuginfo-1.2.0-10.20110922.fc17.x86_64
qtscriptgenerator-debuginfo-0.2.0-3.fc17.x86_64
qtsoap-debuginfo-2.7-3.fc17.x86_64
qtwebkit-debuginfo-2.2.2-1.fc17.x86_64
raptor2-debuginfo-2.0.7-1.fc17.x86_64
readline-debuginfo-6.2-4.fc17.x86_64
redland-debuginfo-1.0.15-1.fc17.x86_64
samba-debuginfo-3.6.6-92.fc17.1.x86_64
soprano-debuginfo-2.7.6-1.fc17.x86_64
speex-debuginfo-1.2-0.14.rc1.fc17.x86_64
sqlite-debuginfo-3.7.11-3.fc17.x86_64
strigi-debuginfo-0.7.7-5.20120626.fc17.x86_64
taglib-debuginfo-1.7.2-1.fc17.x86_64
taglib-extras-debuginfo-1.0.1-3.fc17.x86_64
tcp_wrappers-debuginfo-7.6-69.fc17.x86_64
udev-debuginfo-182-3.fc17.x86_64
usbmuxd-debuginfo-1.0.8-2.fc17.x86_64
util-linux-debuginfo-2.21.2-2.fc17.x86_64
v4l-utils-debuginfo-0.8.8-2.fc17.x86_64
wavpack-debuginfo-4.60.1-3.fc17.x86_64
xz-debuginfo-5.1.1-2alpha.fc17.x86_64
zlib-debuginfo-1.2.5-7.fc17.x86_64

Sorry about the backtrace not inline, that's exactly opposite of what RedHat tells you to do when reporting a crash..
Comment 4 Myriam Schweingruber 2012-09-18 18:54:05 UTC
Well, libqtscript apparently has no debugging info as the backtrace shows. You should make sure you have all debuginfo packages available for Qt and the basic kde libraires. No idea what exactly is missing, as the backtrace you posted does lack a lot of information apparently, the thread starts with several lines where all information is missing.
Comment 5 Myriam Schweingruber 2012-10-21 09:07:04 UTC
Closing for lack of feedback.

FWIW: the script engine will go through a review for the Amarok 3 planing.
Comment 6 André Stein 2013-03-26 23:11:41 UTC
Have a look at this one : https://bugs.kde.org/show_bug.cgi?id=297661

Seems to be a bug in qtscript. The pattern is the same and the missing back trace is produced by code generated by the jit.
Comment 7 Dima Ryazanov 2013-04-17 08:25:04 UTC
Got the same crash when I launched amarok. As pointed out by André, there aren't going to be symbols because it's JIT'ed code.

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 0x7fccabba87c0 (LWP 6282))]

Thread 11 (Thread 0x7fcc89f15700 (LWP 6329)):
#0  0x00007fcca84843cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fcca0787cdf in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fcca0779205 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007fcca0779869 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007fcca0779920 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007fcca0787c8f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007fcc9b668103 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-3.0.so
#7  0x00007fcca4a13f8e in start_thread (arg=0x7fcc89f15700) at pthread_create.c:311
#8  0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 10 (Thread 0x7fcc7ca11700 (LWP 6347)):
#0  0x00007fcca2f5e345 in g_mutex_get_impl (mutex=0x7fcc780009e0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:120
#1  0x00007fcca2f5e5b9 in g_mutex_lock (mutex=mutex@entry=0x7fcc780009e0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:210
#2  0x00007fcca2f1e34e in g_main_context_acquire (context=0x7fcc780009e0) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3115
#3  0x00007fcca2f1f0b4 in g_main_context_iterate (context=context@entry=0x7fcc780009e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3651
#4  0x00007fcca2f1f304 in g_main_context_iteration (context=0x7fcc780009e0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#5  0x00007fcca8e1f036 in QEventDispatcherGlib::processEvents (this=0x7fcc78000900, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fcca8def38f in QEventLoop::processEvents (this=this@entry=0x7fcc7ca10d90, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fcca8def618 in QEventLoop::exec (this=this@entry=0x7fcc7ca10d90, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fcca8cf1410 in QThread::exec (this=this@entry=0x14452a0) at thread/qthread.cpp:542
#9  0x00007fcca8dd0edf in QInotifyFileSystemWatcherEngine::run (this=0x14452a0) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x14452a0) at thread/qthread_unix.cpp:338
#11 0x00007fcca4a13f8e in start_thread (arg=0x7fcc7ca11700) at pthread_create.c:311
#12 0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7fcc75659700 (LWP 6720)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcca8cf414b in wait (time=18446744073709551615, this=0x1751e70) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1751d48, mutex=0x1751ff0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fcca5f8c041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1751d20, th=0x17523d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fcca5f8e94b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x17523d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fcca5f8e964 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x17523d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fcca5f8e964 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x17523d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fcca5f8d63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fcc75658dc0, parent=0x1751d20, th=th@entry=0x17523d0) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007fcca5f8d6cb in ThreadWeaver::Thread::run (this=0x17523d0) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x17523d0) at thread/qthread_unix.cpp:338
#10 0x00007fcca4a13f8e in start_thread (arg=0x7fcc75659700) at pthread_create.c:311
#11 0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7fcc74e58700 (LWP 6748)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcca8cf414b in wait (time=18446744073709551615, this=0x1751e70) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1751d48, mutex=0x1751ff0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fcca5f8c041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1751d20, th=0x178aa00) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fcca5f8e94b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x178aa00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fcca5f8e964 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x178aa00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fcca5f8e964 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x178aa00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fcca5f8d63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fcc74e57dc0, parent=0x1751d20, th=th@entry=0x178aa00) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007fcca5f8d6cb in ThreadWeaver::Thread::run (this=0x178aa00) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x178aa00) at thread/qthread_unix.cpp:338
#10 0x00007fcca4a13f8e in start_thread (arg=0x7fcc74e58700) at pthread_create.c:311
#11 0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7fcc6ffff700 (LWP 6749)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcca8cf414b in wait (time=18446744073709551615, this=0x1751e70) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1751d48, mutex=0x1751ff0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fcca5f8c041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1751d20, th=0x178f0f0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fcca5f8e94b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x178f0f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fcca5f8d63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fcc6fffedc0, parent=0x1751d20, th=th@entry=0x178f0f0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fcca5f8d6cb in ThreadWeaver::Thread::run (this=0x178f0f0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x178f0f0) at thread/qthread_unix.cpp:338
#8  0x00007fcca4a13f8e in start_thread (arg=0x7fcc6ffff700) at pthread_create.c:311
#9  0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7fcc6f7fe700 (LWP 6750)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcca8cf414b in wait (time=18446744073709551615, this=0x1751e70) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1751d48, mutex=0x1751ff0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fcca5f8c041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1751d20, th=0x17903e0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fcca5f8e94b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1752080, th=0x17903e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fcca5f8d63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fcc6f7fddc0, parent=0x1751d20, th=th@entry=0x17903e0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fcca5f8d6cb in ThreadWeaver::Thread::run (this=0x17903e0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x17903e0) at thread/qthread_unix.cpp:338
#8  0x00007fcca4a13f8e in start_thread (arg=0x7fcc6f7fe700) at pthread_create.c:311
#9  0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7fcc6ed95700 (LWP 6771)):
#0  0x00007fcca84843cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fcca2f1f1dc in g_main_context_poll (n_fds=1, fds=0x7fcc58002bb0, timeout=-1, context=0x7fcc580009a0, priority=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x7fcc580009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3696
#3  0x00007fcca2f1f304 in g_main_context_iteration (context=0x7fcc580009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#4  0x00007fcca8e1f036 in QEventDispatcherGlib::processEvents (this=0x7fcc580008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007fcca8def38f in QEventLoop::processEvents (this=this@entry=0x7fcc6ed94d90, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fcca8def618 in QEventLoop::exec (this=this@entry=0x7fcc6ed94d90, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fcca8cf1410 in QThread::exec (this=this@entry=0x198d340) at thread/qthread.cpp:542
#8  0x00007fcca8dd0edf in QInotifyFileSystemWatcherEngine::run (this=0x198d340) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x198d340) at thread/qthread_unix.cpp:338
#10 0x00007fcca4a13f8e in start_thread (arg=0x7fcc6ed95700) at pthread_create.c:311
#11 0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7fcc6db2b700 (LWP 6772)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcc9faa6585 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007fcc9faa65d9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007fcca4a13f8e in start_thread (arg=0x7fcc6db2b700) at pthread_create.c:311
#4  0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7fcc6c815700 (LWP 6775)):
#0  g_source_iter_next (iter=iter@entry=0x7fcc6c814c10, source=source@entry=0x7fcc6c814c08) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:910
#1  0x00007fcca2f1ebf7 in g_main_context_check (context=context@entry=0x7fcc100009a0, max_priority=2147483647, fds=fds@entry=0x7fcc100027c0, n_fds=n_fds@entry=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3525
#2  0x00007fcca2f1f175 in g_main_context_iterate (context=context@entry=0x7fcc100009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3698
#3  0x00007fcca2f1f304 in g_main_context_iteration (context=0x7fcc100009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#4  0x00007fcca8e1f036 in QEventDispatcherGlib::processEvents (this=0x7fcc100008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007fcca8def38f in QEventLoop::processEvents (this=this@entry=0x7fcc6c814dc0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fcca8def618 in QEventLoop::exec (this=this@entry=0x7fcc6c814dc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fcca8cf1410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#8  0x00007fcca8cf3bec in QThreadPrivate::start (arg=0x1b2c670) at thread/qthread_unix.cpp:338
#9  0x00007fcca4a13f8e in start_thread (arg=0x7fcc6c815700) at pthread_create.c:311
#10 0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fcc1795f700 (LWP 6776)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcca4fece77 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fcca52fa660 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fcca4fecea9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fcca4a13f8e in start_thread (arg=0x7fcc1795f700) at pthread_create.c:311
#4  0x00007fcca8490e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7fccabba87c0 (LWP 6282)):
[KCrash Handler]
#6  0x00007fcbab9f6030 in ?? ()
#7  0x00007fcc1401cda0 in ?? ()
#8  0x7fffffff00000032 in ?? ()
#9  0x00007fcc15406240 in ?? ()
#10 0x00007fcc00000010 in ?? ()
#11 0x0000000000000003 in ?? ()
#12 0x00007fcc0f4a3108 in ?? ()
#13 0x00007fcc1706d240 in ?? ()
#14 0x00007fcc17062738 in ?? ()
#15 0x00007fcc0f4e5960 in ?? ()
#16 0x00007fcc17076480 in ?? ()
#17 0x00007fcc14016000 in ?? ()
#18 0x00007fcc17062750 in ?? ()
#19 0x00007fcc16c5f060 in ?? ()
#20 0x00007fcc17068a88 in ?? ()
#21 0x00007fcca52e5d98 in QTJSC::ExecutableAllocator::pageSize () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#22 0x00007fcc17067800 in ?? ()
#23 0x00007fcc16c5f000 in ?? ()
#24 0x00007fcc17078af0 in ?? ()
#25 0x00007fcca52e5d98 in QTJSC::ExecutableAllocator::pageSize () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#26 0x0000000001971d88 in ?? ()
#27 0x00007fcc16c5f060 in ?? ()
#28 0x00007fcc17062738 in ?? ()
#29 0x00007fcca4efa979 in execute (exception=0x7fcc17068a88, globalData=0x7fcc17067800, callFrame=0x200, registerFile=0x7fff9b48a488, this=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITCode.h:79
#30 QTJSC::Interpreter::execute (this=0x7fff9b48a470, functionExecutable=0xffff000000000002, callFrame=0x7fcc16c5f0e0, callFrame@entry=0x1971d88, function=function@entry=0x7fcc16c03a80, thisObj=<optimized out>, args=..., scopeChain=scopeChain@entry=0x7fcc1706d240, exception=exception@entry=0x7fcc17068a88) at ../3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp:716
#31 0x00007fcca4f8b587 in QTJSC::JSFunction::call (this=0x7fcc16c03a80, exec=exec@entry=0x1971d88, thisValue=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSFunction.cpp:122
#32 0x00007fcca4f5f3cf in QTJSC::call (exec=exec@entry=0x1971d88, functionObject=..., functionObject@entry=..., callType=<optimized out>, callData=..., thisValue=..., thisValue@entry=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:62
#33 0x00007fcca505b496 in QScript::QObjectConnectionManager::execute (this=this@entry=0x23f7c00, slotIndex=<optimized out>, argv=argv@entry=0x7fff9b48a7f0) at bridge/qscriptqobject.cpp:2163
#34 0x00007fcca505b9a1 in QScript::QObjectConnectionManager::qt_metacall (this=0x23f7c00, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff9b48a7f0) at bridge/qscriptqobject.cpp:2066
#35 0x00007fcca8e052b3 in QMetaObject::activate (sender=sender@entry=0x194cd60, m=m@entry=0x7fccab0dfee0 <ScriptableServiceScript::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff9b48a7f0) at kernel/qobject.cpp:3558
#36 0x00007fccaaad8ca8 in ScriptableServiceScript::populate (this=this@entry=0x194cd60, _t1=_t1@entry=1, _t2=..., _t3=...) at ./AmarokScriptableServiceScript.moc:252
#37 0x00007fccaaad8d33 in ScriptableServiceScript::slotPopulate (this=0x194cd60, name=..., level=level@entry=1, parent_id=parent_id@entry=-1, callbackData=..., filter=...) at ../../src/scriptengine/AmarokScriptableServiceScript.cpp:219
#38 0x00007fccaabd2ad5 in ScriptManager::ServiceScriptPopulate (this=0x1f1b280, name=..., level=level@entry=1, parent_id=parent_id@entry=-1, path=..., filter=...) at ../../src/ScriptManager.cpp:343
#39 0x00007fccaa7be03a in Collections::ScriptableServiceQueryMaker::fetchAlbums (this=0x27d15f0) at ../../src/services/scriptable/ScriptableServiceQueryMaker.cpp:303
#40 0x00007fcca8e0a5be in QObject::event (this=0x27d15f0, e=<optimized out>) at kernel/qobject.cpp:1194
#41 0x00007fcca97d98ec in QApplicationPrivate::notify_helper (this=this@entry=0xe775f0, receiver=receiver@entry=0x27d15f0, e=e@entry=0x1b43ad0) at kernel/qapplication.cpp:4567
#42 0x00007fcca97dc25b in QApplication::notify (this=this@entry=0x7fff9b48d6a0, receiver=receiver@entry=0x27d15f0, e=e@entry=0x1b43ad0) at kernel/qapplication.cpp:4428
#43 0x00007fccab5b5af6 in KApplication::notify (this=0x7fff9b48d6a0, receiver=0x27d15f0, event=0x1b43ad0) at ../../kdeui/kernel/kapplication.cpp:311
#44 0x00007fcca8df063e in QCoreApplication::notifyInternal (this=0x7fff9b48d6a0, receiver=receiver@entry=0x27d15f0, event=event@entry=0x1b43ad0) at kernel/qcoreapplication.cpp:946
#45 0x00007fcca8df4171 in sendEvent (event=0x1b43ad0, receiver=0x27d15f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#46 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xcfc1f0) at kernel/qcoreapplication.cpp:1570
#47 0x00007fcca8df44a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#48 0x00007fcca8e1ee83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#49 postEventSourceDispatch (s=s@entry=0xe72ac0) at kernel/qeventdispatcher_glib.cpp:279
#50 0x00007fcca2f1ef05 in g_main_dispatch (context=0xe77900) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#51 g_main_context_dispatch (context=context@entry=0xe77900) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#52 0x00007fcca2f1f248 in g_main_context_iterate (context=context@entry=0xe77900, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#53 0x00007fcca2f1f304 in g_main_context_iteration (context=0xe77900, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#54 0x00007fcca8e1f016 in QEventDispatcherGlib::processEvents (this=0xcfdad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#55 0x00007fcca987f1ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#56 0x00007fcca8def38f in QEventLoop::processEvents (this=this@entry=0x7fff9b48b2c0, flags=...) at kernel/qeventloop.cpp:149
#57 0x00007fcca8def618 in QEventLoop::exec (this=this@entry=0x7fff9b48b2c0, flags=...) at kernel/qeventloop.cpp:204
#58 0x00007fcca8df4cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#59 0x00007fcca97d7ffc in QApplication::exec () at kernel/qapplication.cpp:3828
#60 0x00000000004090ca in main (argc=1, argv=0x7fff9b48d808) at ../../src/main.cpp:329
Comment 8 Myriam Schweingruber 2013-04-17 18:48:11 UTC
Dima: it is pretty useless to paste backtraces here as that is a problem in QtScript, not in Amarok, see comment #6. Especially backtraces that clearly show a lack of debugging symbols, as those empty lines don't come from Javascript code.

*** This bug has been marked as a duplicate of bug 297661 ***
Comment 9 Christoph Feck 2013-04-23 22:13:05 UTC
> backtraces that clearly show a lack of debugging symbols

Myriam, Qt compiles JavaScript code at runtime into machine code, and then executes it. Thus, those lines cannot have any debug symbols.

> those empty lines don't come from Javascript code

The reverse is true. Because they come from compiled JavaScript code, they do not have any debug symbols.