Bug 261839 - Crash in [QTWTF::HashTable<QTJSC::UStringImpl*, ...] (was: AmarokDownloadHelper::resultString doesn't follow redirects and returns empty string)
Summary: Crash in [QTWTF::HashTable<QTJSC::UStringImpl*, ...] (was: AmarokDownloadHelp...
Status: RESOLVED UPSTREAM
Alias: None
Product: amarok
Classification: Applications
Component: Playback (show other bugs)
Version: 2.7-git
Platform: Compiled Sources Linux
: HI crash
Target Milestone: 2.8
Assignee: Amarok Developers
URL:
Keywords: regression, release_blocker
: 243409 246711 248362 248560 251714 255374 255640 258027 258426 258848 259158 261398 261484 261840 262603 262662 263159 264840 265462 265635 268918 268922 269006 270600 272354 272479 273359 273494 274098 274176 274488 275237 275867 275875 276215 276341 276545 276910 277016 277210 277533 277688 277987 278169 278285 279195 279227 279553 279635 279918 280129 280227 280338 280717 280734 280735 281068 281376 281381 281460 281991 283217 283344 283871 286498 294471 298193 303344 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-01-02 02:14 UTC by Sven Krohlas
Modified: 2013-06-08 19:46 UTC (History)
66 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (17.20 KB, text/plain)
2011-03-11 19:19 UTC, Stratos Zolotas
Details
New crash information added by DrKonqi (31.87 KB, text/plain)
2011-06-15 14:26 UTC, Šarūnas
Details
New crash information added by DrKonqi (32.67 KB, text/plain)
2012-06-24 04:36 UTC, chrisw
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Krohlas 2011-01-02 02:14:04 UTC
Version:           2.4-GIT (using KDE 4.5.4) 
OS:                Linux

Problem shows up in the Free Music Charts script when trying to fetch its data source at http://www.archive.org/download/freemusiccharts.songs/fmc.xml

<xdarklight> AmarokDownloadHelper::resultString is getting simply "" as response
<xdarklight> maybe it's not following the redirect properly?
<xdarklight> yeah, it's the redirect
<xdarklight> http://ia700209.us.archive.org/9/items/freemusiccharts.songs/fmc.xml

Problem showed up somewhen in between 2.3.0/2.3.1 and 2.3.2.

Reproducible: Always
Comment 1 Sven Krohlas 2011-01-02 11:56:47 UTC
*** Bug 261840 has been marked as a duplicate of this bug. ***
Comment 2 Sven Krohlas 2011-01-08 13:07:54 UTC
commit e69b286cfbcc970f324fd2418c1783e4d28e62da
branch master
Author: Sven Krohlas <sven@asbest-online.de>
Date:   Sat Jan 8 13:02:12 2011 +0100

    Make NetworkAccessManagerProxy::getData honor redirects
    
    Patch by: Martin Blumenstingl
    
    Should fix the BBC and Free Music Charts scripts, maybe others, too.
    
    BUG: 261839

diff --git a/src/covermanager/CoverFetcher.cpp b/src/covermanager/CoverFetcher.cpp
index b21dd87..6ec1ccd 100644
--- a/src/covermanager/CoverFetcher.cpp
+++ b/src/covermanager/CoverFetcher.cpp
@@ -66,6 +66,9 @@ CoverFetcher::CoverFetcher()
     connect( m_queue, SIGNAL(fetchUnitAdded(CoverFetchUnit::Ptr)),
                       SLOT(slotFetch(CoverFetchUnit::Ptr)) );
     s_instance = this;
+
+    connect( The::networkAccessManager(), SIGNAL( requestRedirected( QNetworkReply*, QNetworkReply* ) ),
+             this, SLOT( fetchRequestRedirected( QNetworkReply*, QNetworkReply* ) ) );
 }
 
 CoverFetcher::~CoverFetcher()
@@ -312,6 +315,32 @@ CoverFetcher::slotDialogFinished()
 }
 
 void
+CoverFetcher::fetchRequestRedirected( QNetworkReply *oldReply,
+                                      QNetworkReply *newReply )
+{
+    KUrl oldUrl = oldReply->request().url();
+    KUrl newUrl = newReply->request().url();
+
+    // Since we were redirected we have to check if the redirect
+    // was for one of our URLs and if the new URL is not handled
+    // already.
+    if( m_urls.contains( oldUrl ) && !m_urls.contains( newUrl ) )
+    {
+        // Get the unit for the old URL.
+        CoverFetchUnit::Ptr unit = m_urls.value( oldUrl );
+
+        // Add the unit with the new URL and remove the old one.
+        m_urls.insert( newUrl, unit );
+        m_urls.remove( oldUrl );
+
+        // If the unit is an interactive one we have to incidate that we're
+        // still fetching the cover.
+        if( unit->isInteractive() )
+            Amarok::Components::logger()->newProgressOperation( newReply, i18n( "Fetching Cover" ) );
+    }
+}
+
+void
 CoverFetcher::showCover( const CoverFetchUnit::Ptr &unit,
                          const QPixmap &cover,
                          const CoverFetch::Metadata &data )
diff --git a/src/covermanager/CoverFetcher.h b/src/covermanager/CoverFetcher.h
index 9dc2f2e..39a1487 100644
--- a/src/covermanager/CoverFetcher.h
+++ b/src/covermanager/CoverFetcher.h
@@ -67,6 +67,9 @@ private slots:
     /// Cover found dialog is closed by the user
     void slotDialogFinished();
 
+    /// The fetch request was redirected.
+    void fetchRequestRedirected( QNetworkReply *oldReply, QNetworkReply *newReply );
+
 private:
     static CoverFetcher* s_instance;
     CoverFetcher();
diff --git a/src/network/NetworkAccessManagerProxy.cpp b/src/network/NetworkAccessManagerProxy.cpp
index 9a0e763..d5e1d81 100644
--- a/src/network/NetworkAccessManagerProxy.cpp
+++ b/src/network/NetworkAccessManagerProxy.cpp
@@ -66,38 +66,57 @@ public:
     {
         Q_Q( NetworkAccessManagerProxy );
         QNetworkReply *reply = static_cast<QNetworkReply*>( q->sender() );
+
         KUrl url = reply->request().url();
         QList<CallBackData*> callbacks = urlMap.values( url );
         QByteArray data = reply->readAll();
         data.detach(); // detach so the bytes are not deleted before methods are invoked
         foreach( const CallBackData *cb, callbacks )
         {
-            QByteArray sig = QMetaObject::normalizedSignature( cb->method );
-            sig.remove( 0, 1 ); // remove first char, which is the member code (see qobjectdefs.h)
-                                // and let Qt's meta object system handle the rest.
-            if( cb->receiver )
+            // There may have been a redirect.
+            KUrl redirectUrl = q->getRedirectUrl( reply );
+
+            // Check if there's no redirect.
+            if( redirectUrl.isEmpty() )
             {
-                bool success( false );
-                const QMetaObject *mo = cb->receiver.data()->metaObject();
-                int methodIndex = mo->indexOfSlot( sig );
-                if( methodIndex != -1 )
+                QByteArray sig = QMetaObject::normalizedSignature( cb->method );
+                sig.remove( 0, 1 ); // remove first char, which is the member code (see qobjectdefs.h)
+                                    // and let Qt's meta object system handle the rest.
+                if( cb->receiver )
                 {
-                    Error err = { reply->error(), reply->errorString() };
-                    QMetaMethod method = mo->method( methodIndex );
-                    success = method.invoke( cb->receiver.data(),
-                                             cb->type,
-                                             Q_ARG( KUrl, reply->request().url() ),
-                                             Q_ARG( QByteArray, data ),
-                                             Q_ARG( NetworkAccessManagerProxy::Error, err ) );
+                    bool success( false );
+                    const QMetaObject *mo = cb->receiver.data()->metaObject();
+                    int methodIndex = mo->indexOfSlot( sig );
+                    if( methodIndex != -1 )
+                    {
+                        Error err = { reply->error(), reply->errorString() };
+                        QMetaMethod method = mo->method( methodIndex );
+                        success = method.invoke( cb->receiver.data(),
+                                                cb->type,
+                                                Q_ARG( KUrl, reply->request().url() ),
+                                                Q_ARG( QByteArray, data ),
+                                                Q_ARG( NetworkAccessManagerProxy::Error, err ) );
+                    }
+
+                    if( !success )
+                    {
+                        debug() << QString( "Failed to invoke method %1 of %2" )
+                            .arg( QString(sig) ).arg( mo->className() );
+                    }
                 }
+            }
+            else
+            {
+                debug() << "the server is redirecting the request to: " << redirectUrl;
 
-                if( !success )
-                {
-                    debug() << QString( "Failed to invoke method %1 of %2" )
-                        .arg( QString(sig) ).arg( mo->className() );
-                }
+                // Let's try to fetch the data again, but this time from the new url.
+                QNetworkReply *newReply = q->getData( redirectUrl, cb->receiver.data(), cb->method, cb->type );
+
+                emit q->requestRedirected( url, redirectUrl );
+                emit q->requestRedirected( reply, newReply );
             }
         }
+
         qDeleteAll( callbacks );
         urlMap.remove( url );
         reply->deleteLater();
@@ -209,6 +228,31 @@ NetworkAccessManagerProxy::abortGet( const KUrl &url )
     return removed;
 }
 
+KUrl
+NetworkAccessManagerProxy::getRedirectUrl( QNetworkReply *reply )
+{
+    KUrl targetUrl;
+
+    // Get the original URL.
+    KUrl originalUrl = reply->request().url();
+
+    // Get the redirect attribute.
+    QVariant redirectAttribute = reply->attribute( QNetworkRequest::RedirectionTargetAttribute );
+
+    // Get the redirect URL from the attribute.
+    KUrl redirectUrl = KUrl( redirectAttribute.toUrl() );
+
+    // If the redirect URL is valid and if it differs from the original
+    // URL then we return the redirect URL. Otherwise an empty URL will
+    // be returned.
+    if( !redirectUrl.isEmpty() && redirectUrl != originalUrl )
+    {
+        targetUrl = redirectUrl;
+    }
+
+    return targetUrl;
+}
+
 void
 NetworkAccessManagerProxy::slotError( QObject *obj )
 {
diff --git a/src/network/NetworkAccessManagerProxy.h b/src/network/NetworkAccessManagerProxy.h
index 045ded3..4d7a7ef 100644
--- a/src/network/NetworkAccessManagerProxy.h
+++ b/src/network/NetworkAccessManagerProxy.h
@@ -55,6 +55,7 @@ public:
      * Gets the contents of the target @p url. It is a convenience wrapper
      * around QNetworkAccessManager::get() where the user supplies a
      * slot @p method to be called when the content is retrieved.
+     * NOTE: On redirects requestRedirected is emitted.
      *
      * @param url the url to get the content from.
      * @param receiver the receiver object to call @p method on.
@@ -68,11 +69,27 @@ public:
     int abortGet( const KUrl &url );
     int abortGet( const KUrl::List &urls );
 
+    /**
+     * Gets the URL to which a server redirects the request.
+     * An empty KUrl will be returned if the request was not redirected.
+     *
+     * @param reply The QNetworkReply which contains all information about
+     *              the reply from the server.
+     *
+     * @return The URL to which the server redirected the request or an empty
+     *         URL if there was no redirect.
+     */
+    KUrl getRedirectUrl( QNetworkReply *reply );
+
 #ifdef DEBUG_BUILD_TYPE
     NetworkAccessViewer *networkAccessViewer();
     void setNetworkAccessViewer( NetworkAccessViewer *viewer );
 #endif // DEBUG_BUILD_TYPE
 
+Q_SIGNALS:
+    void requestRedirected( const KUrl &sourceUrl, const KUrl &targetUrl );
+    void requestRedirected( QNetworkReply* oldReply, QNetworkReply *newReply );
+
 public slots:
     void slotError( QObject *reply );
 
diff --git a/src/scriptengine/AmarokNetworkScript.cpp b/src/scriptengine/AmarokNetworkScript.cpp
index 1742f41..c37764d 100644
--- a/src/scriptengine/AmarokNetworkScript.cpp
+++ b/src/scriptengine/AmarokNetworkScript.cpp
@@ -123,25 +123,41 @@ Downloader::init( QScriptContext* context, QScriptEngine* engine, bool stringRes
 AmarokDownloadHelper::AmarokDownloadHelper()
 {
     s_instance = this;
+    connect( The::networkAccessManager(), SIGNAL( requestRedirected( const KUrl&, const KUrl& ) ),
+             this, SLOT( requestRedirected( const KUrl&, const KUrl& ) ) );
 }
 
 void
 AmarokDownloadHelper::newStringDownload( const KUrl &url, QScriptEngine* engine, QScriptValue obj, QString encoding )
 {
-    m_values[ url ] = obj;
-    m_engines[ url ] = engine;
     m_encodings[ url ] = encoding;
-    The::networkAccessManager()->getData( url, this,
-         SLOT(resultString(KUrl,QByteArray,NetworkAccessManagerProxy::Error)) );
+    newDownload( url, engine, obj, SLOT( resultString( KUrl, QByteArray, NetworkAccessManagerProxy::Error) ) );
 }
 
 void
 AmarokDownloadHelper::newDataDownload( const KUrl &url, QScriptEngine* engine, QScriptValue obj )
 {
+    newDownload( url, engine, obj, SLOT( resultData( KUrl, QByteArray, NetworkAccessManagerProxy::Error) ) );
+}
+
+void
+AmarokDownloadHelper::newDownload( const KUrl &url, QScriptEngine* engine, QScriptValue obj, const char *slot )
+{
     m_values[ url ] = obj;
     m_engines[ url ] = engine;
-    The::networkAccessManager()->getData( url, this,
-         SLOT(resultData(KUrl,QByteArray,NetworkAccessManagerProxy::Error)) );
+
+    The::networkAccessManager()->getData( url, this, slot );
+}
+
+void
+AmarokDownloadHelper::requestRedirected( const KUrl &sourceUrl, const KUrl &targetUrl )
+{
+    DEBUG_BLOCK
+
+    // Move all entries from "url" to "targetUrl".
+    updateUrl< QScriptEngine* >( m_engines, sourceUrl, targetUrl );
+    updateUrl< QScriptValue >( m_values, sourceUrl, targetUrl );
+    updateUrl< QString >( m_encodings, sourceUrl, targetUrl );
 }
 
 void
diff --git a/src/scriptengine/AmarokNetworkScript.h b/src/scriptengine/AmarokNetworkScript.h
index 342cc2a..a23beca 100644
--- a/src/scriptengine/AmarokNetworkScript.h
+++ b/src/scriptengine/AmarokNetworkScript.h
@@ -73,6 +73,8 @@ public:
 private slots:
     void resultString( const KUrl &url, QByteArray data, NetworkAccessManagerProxy::Error e );
     void resultData( const KUrl &url, QByteArray data, NetworkAccessManagerProxy::Error e );
+
+    void requestRedirected( const KUrl &sourceUrl, const KUrl &targetUrl );
     
 private:
     QHash< KUrl, QScriptEngine* > m_engines;
@@ -80,6 +82,33 @@ private:
     QHash< KUrl, QString > m_encodings;
 
     void cleanUp( const KUrl &url );
+    void newDownload( const KUrl &url, QScriptEngine* engine, QScriptValue obj, const char *slot );
+
+    /**
+     * Template function which updates the given @p sourceUrl to the given
+     * @p targetUrl. All entries in the given hash will be copied.
+     * The old entries will be removed.
+     *
+     * @param hash The hash which contains all elements.
+     * @param sourceUrl The old URL (= the old key).
+     * @param targetUrl The new URL (= the new key).
+     */
+    template<typename T> void updateUrl( QHash< KUrl, T > &hash, const KUrl &sourceUrl, const KUrl &targetUrl )
+    {
+        // Get all entries with the source URL as key.
+        QList< T > data = hash.values( sourceUrl );
+
+        foreach( T entry, data )
+        {
+            // Copy each entry to a new one with the
+            // new URL as key.
+            hash[ targetUrl ] = entry;
+        }
+
+        // Remove all entries which are still pointing
+        // to the source URL.
+        hash.remove( sourceUrl );
+    };
 };
 
 #endif
Comment 3 Myriam Schweingruber 2011-01-09 13:22:00 UTC
*** Bug 262603 has been marked as a duplicate of this bug. ***
Comment 4 Myriam Schweingruber 2011-01-09 13:23:33 UTC
*** Bug 258848 has been marked as a duplicate of this bug. ***
Comment 5 Myriam Schweingruber 2011-01-24 11:11:24 UTC
*** Bug 248560 has been marked as a duplicate of this bug. ***
Comment 6 Myriam Schweingruber 2011-01-24 11:12:38 UTC
*** Bug 251714 has been marked as a duplicate of this bug. ***
Comment 7 Myriam Schweingruber 2011-01-24 11:13:48 UTC
*** Bug 255374 has been marked as a duplicate of this bug. ***
Comment 8 Myriam Schweingruber 2011-01-24 11:15:47 UTC
Reopening as it still happens post 2.4 and causes crashes. This backtrace is an example of many:

Thread 1 (Thread 0x7ffff7e76780 (LWP 2867)):
#0  QTJSC::Identifier::remove (r=0x7fffb9d577e0) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp:239
#1  0x00007ffff11e3285 in QTJSC::UStringImpl::~UStringImpl
(this=0x7fffb9d577e0, __in_chrg=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/UStringImpl.cpp:68
#2  0x00007ffff11ddb74 in deref (this=0x7fffb9d622c0, __in_chrg=<value
optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/UStringImpl.h:168
#3  ~RefPtr (this=0x7fffb9d622c0, __in_chrg=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/wtf/RefPtr.h:59
#4  QTJSC::Structure::~Structure (this=0x7fffb9d622c0,
__in_chrg=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp:194
#5  0x00007ffff1263530 in deref (this=0x7fffb9755780, __in_chrg=<value
optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/wtf/RefCounted.h:109
#6  ~JSObject (this=0x7fffb9755780, __in_chrg=<value optimized out>)
at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:303
#7  ~JSVariableObject (this=0x7fffb9755780, __in_chrg=<value optimized
out>) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSVariableObject.h:43
#8  QScript::QScriptActivationObject::~QScriptActivationObject
(this=0x7fffb9755780, __in_chrg=<value optimized out>) at
bridge/qscriptactivationobject.cpp:57
#9  0x00007ffff11600e0 in QTJSC::Heap::allocate (this=0x7fffbc747218,
s=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp:419
#10 0x00007ffff1246946 in operator new (this=0x7fffffff9ba0,
engine=<value optimized out>, val=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSCell.h:162
#11 jsString (this=0x7fffffff9ba0, engine=<value optimized out>,
val=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSString.h:445
#12 jsString (this=0x7fffffff9ba0, engine=<value optimized out>,
val=<value optimized out>) at
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSString.h:484
#13 QScriptValue::QScriptValue (this=0x7fffffff9ba0, engine=<value
optimized out>, val=<value optimized out>) at api/qscriptvalue.cpp:309
#14 0x00007ffff722ac05 in AmarokDownloadHelper::resultString
(this=0xcee980, url=..., data=..., e=...) at
/home/mark/kde/src/amarok/src/scriptengine/AmarokNetworkScript.cpp:236
#15 0x00007ffff722b120 in AmarokDownloadHelper::qt_metacall
(this=0xcee980, _c=QMetaObject::InvokeMetaMethod, _id=0,
_a=0x7fffffff9dd0) at
/home/mark/kde/build/amarok/src/AmarokNetworkScript.moc:175
#16 0x00007ffff5454bf9 in QMetaMethod::invoke (this=0x7fffffffa1b0,
object=0xcee980, connectionType=<value optimized out>,
returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=...,
val5=..., val6=..., val7=..., val8=...,
   val9=...) at kernel/qmetaobject.cpp:1575
#17 0x00007ffff718d0dd in QMetaMethod::invoke (this=0x7fffffffa1b0,
object=0xcee980, connectionType=Qt::AutoConnection, val0=...,
val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=...,
val8=..., val9=...)
   at /usr/include/qt4/QtCore/qmetaobject.h:119
#18 0x00007ffff718d74a in
NetworkAccessManagerProxy::NetworkAccessManagerProxyPrivate::_replyFinished
(this=0x12010a0) at
/home/mark/kde/src/amarok/src/network/NetworkAccessManagerProxy.cpp:98
#19 0x00007ffff718ce98 in NetworkAccessManagerProxy::qt_metacall
(this=0x12005b0, _c=QMetaObject::InvokeMetaMethod, _id=3,
_a=0x7fffffffa440) at
/home/mark/kde/build/amarok/src/NetworkAccessManagerProxy.moc:86
#20 0x00007ffff5463b27 in QMetaObject::activate (sender=0x22619f0,
m=<value optimized out>, local_signal_index=<value optimized out>,
argv=0x7ffff0af82a0) at kernel/qobject.cpp:3280
#21 0x00007ffff2e88c6b in KDEPrivate::AccessManagerReply::slotResult
(this=0x22619f0, kJob=<value optimized out>) at
../../kio/kio/accessmanagerreply_p.cpp:259
#22 0x00007ffff2e89503 in KDEPrivate::AccessManagerReply::qt_metacall
(this=0x22619f0, _c=QMetaObject::InvokeMetaMethod, _id=<value
optimized out>, _a=0x7fffffffa920) at ./accessmanagerreply_p.moc:83
#23 0x00007ffff5463b27 in QMetaObject::activate (sender=0x12c8630,
m=<value optimized out>, local_signal_index=<value optimized out>,
argv=0x7ffff0af82a0) at kernel/qobject.cpp:3280
#24 0x00007ffff58b9a52 in KJob::result (this=0x0, _t1=0x12c8630) at
./kjob.moc:194
#25 0x00007ffff58b9cf0 in KJob::emitResult (this=0x12c8630) at
../../kdecore/jobs/kjob.cpp:312
#26 0x00007ffff2ec59f3 in KIO::SimpleJob::slotFinished
(this=0x12c8630) at ../../kio/kio/job.cpp:525
#27 0x00007ffff2ec6302 in KIO::TransferJob::slotFinished
(this=0x12c8630) at ../../kio/kio/job.cpp:1118
#28 0x00007ffff2ec3de1 in KIO::TransferJob::qt_metacall
(this=0x12c8630, _c=QMetaObject::InvokeMetaMethod, _id=<value
optimized out>, _a=0x7fffffffad60) at ./jobclasses.moc:367
#29 0x00007ffff5463b27 in QMetaObject::activate (sender=0x22c07d0,
m=<value optimized out>, local_signal_index=<value optimized out>,
argv=0x7ffff0af82a0) at kernel/qobject.cpp:3280
---Type <return> to continue, or q <return> to quit---
#30 0x00007ffff2f7780e in KIO::SlaveInterface::dispatch
(this=0x22c07d0, _cmd=104, rawdata=...) at
../../kio/kio/slaveinterface.cpp:173
#31 0x00007ffff2f74853 in KIO::SlaveInterface::dispatch
(this=0x22c07d0) at ../../kio/kio/slaveinterface.cpp:89
#32 0x00007ffff2f681e6 in KIO::Slave::gotInput (this=0x22c07d0) at
../../kio/kio/slave.cpp:348
#33 0x00007ffff2f683cc in KIO::Slave::qt_metacall (this=0x22c07d0,
_c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>,
_a=0x7fffffffb1e0) at ./slave.moc:82
#34 0x00007ffff5463b27 in QMetaObject::activate (sender=0x2481fd0,
m=<value optimized out>, local_signal_index=<value optimized out>,
argv=0x7ffff0af82a0) at kernel/qobject.cpp:3280
#35 0x00007ffff2e925d7 in KIO::ConnectionPrivate::dequeue
(this=0x2552a50) at ../../kio/kio/connection.cpp:82
#36 0x00007ffff2e926fd in KIO::Connection::qt_metacall
(this=0x2481fd0, _c=QMetaObject::InvokeMetaMethod, _id=<value
optimized out>, _a=0x1cb21d0) at ./connection.moc:79
#37 0x00007ffff545dbde in QObject::event (this=0x2481fd0, e=0x0) at
kernel/qobject.cpp:1219
#38 0x00007ffff5e2dfdc in QApplicationPrivate::notify_helper
(this=0x5c6a10, receiver=0x2481fd0, e=0x2242450) at
kernel/qapplication.cpp:4396
#39 0x00007ffff5e33aed in QApplication::notify (this=0x7fffffffbc90,
receiver=0x2481fd0, e=0x2242450) at kernel/qapplication.cpp:4277
#40 0x00007ffff79a7a36 in KApplication::notify (this=0x7fffffffbc90,
receiver=0x2481fd0, event=0x2242450) at
../../kdeui/kernel/kapplication.cpp:311
#41 0x00007ffff544bcdc in QCoreApplication::notifyInternal
(this=0x7fffffffbc90, receiver=0x2481fd0, event=0x2242450) at
kernel/qcoreapplication.cpp:732
#42 0x00007ffff544ec22 in sendEvent (receiver=0x0, event_type=<value
optimized out>, data=0x435660) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#43 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0,
event_type=<value optimized out>, data=0x435660) at
kernel/qcoreapplication.cpp:1373
#44 0x00007ffff5478653 in sendPostedEvents (s=0x5c64e0) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#45 postEventSourceDispatch (s=0x5c64e0) at kernel/qeventdispatcher_glib.cpp:277
#46 0x00007fffee817342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#47 0x00007fffee81b2a8 in ?? () from /lib/libglib-2.0.so.0
#48 0x00007fffee81b45c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#49 0x00007ffff5478193 in QEventDispatcherGlib::processEvents
(this=0x434d10, flags=<value optimized out>) at
kernel/qeventdispatcher_glib.cpp:415
#50 0x00007ffff5ee0a4e in QGuiEventDispatcherGlib::processEvents
(this=0x0, flags=<value optimized out>) at
kernel/qguieventdispatcher_glib.cpp:204
#51 0x00007ffff544aa02 in QEventLoop::processEvents (this=<value
optimized out>, flags=DWARF-2 expression error: DW_OP_reg operations
must be used either alone or in conjuction with DW_OP_piece or
DW_OP_bit_piece.
) at kernel/qeventloop.cpp:149
#52 0x00007ffff544adec in QEventLoop::exec (this=0x7fffffffbc30,
flags=DWARF-2 expression error: DW_OP_reg operations must be used
either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:201
#53 0x00007ffff544eebb in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1009
#54 0x000000000040ce3c in main (argc=4, argv=0x7fffffffe1b8) at
/home/mark/kde/src/amarok/src/main.cpp:282
Comment 9 Myriam Schweingruber 2011-01-24 11:17:13 UTC
*** Bug 255640 has been marked as a duplicate of this bug. ***
Comment 10 Myriam Schweingruber 2011-01-24 11:19:04 UTC
*** Bug 243409 has been marked as a duplicate of this bug. ***
Comment 11 Myriam Schweingruber 2011-01-24 11:20:05 UTC
*** Bug 258027 has been marked as a duplicate of this bug. ***
Comment 12 Myriam Schweingruber 2011-01-24 11:21:14 UTC
*** Bug 258426 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2011-01-24 11:22:14 UTC
*** Bug 261398 has been marked as a duplicate of this bug. ***
Comment 14 Myriam Schweingruber 2011-01-24 11:22:47 UTC
*** Bug 261484 has been marked as a duplicate of this bug. ***
Comment 15 Myriam Schweingruber 2011-01-24 11:23:35 UTC
*** Bug 262662 has been marked as a duplicate of this bug. ***
Comment 16 Myriam Schweingruber 2011-01-24 11:25:22 UTC
*** Bug 263159 has been marked as a duplicate of this bug. ***
Comment 17 Myriam Schweingruber 2011-01-24 11:26:30 UTC
*** Bug 246711 has been marked as a duplicate of this bug. ***
Comment 18 Myriam Schweingruber 2011-01-24 11:27:44 UTC
*** Bug 248362 has been marked as a duplicate of this bug. ***
Comment 19 Sven Krohlas 2011-01-24 11:45:12 UTC
The originally reported bug had no crash relation at all.

I can imagine some scripts not correctly handling server failures and doing stuff like dividing by zero if they do not get their expexted data. This in turn should just result in an exception (can be seen in debug output) and a non functional script, not an Amarok crash.

The originally reported issue is fixed.

@"dupe" reporters: if this is scripting related try to find the cause by running Amarok from a shell with debug output enabled and check if the output after a crash points to script involvement. Which one? Which version? Try to deactivate it to verify.
Comment 20 Myriam Schweingruber 2011-01-31 00:37:29 UTC
*** Bug 264840 has been marked as a duplicate of this bug. ***
Comment 21 Myriam Schweingruber 2011-02-04 23:38:29 UTC
*** Bug 265462 has been marked as a duplicate of this bug. ***
Comment 22 Myriam Schweingruber 2011-02-09 09:53:38 UTC
*** Bug 265635 has been marked as a duplicate of this bug. ***
Comment 23 Stratos Zolotas 2011-03-11 19:19:47 UTC
Created attachment 57878 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.1 (4.6.1) "release 398" using Qt 4.7.2

Maybe it's related. It happens sometimes with not specific actions involved.

-- Backtrace (Reduced):
#6  QTWTF::HashTable<QTJSC::UStringImpl*, QTJSC::UStringImpl*, QTWTF::IdentityExtractor<QTJSC::UStringImpl*>, QTWTF::StrHash<QTJSC::UStringImpl*>, QTWTF::HashTraits<QTJSC::UStringImpl*>, QTWTF::HashTraits<QTJSC::UStringImpl*> >::find<QTJSC::UStringImpl*, QTWTF::IdentityHashTranslator<QTJSC::UStringImpl*, QTJSC::UStringImpl*, QTWTF::StrHash<QTJSC::UStringImpl*> > > (this=0x8, key=@0x7fffab1d9538) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:763
#7  0x00007f2408918029 in find (r=<value optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:323
#8  find (r=<value optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashSet.h:166
#9  remove (r=<value optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashSet.h:240
#10 remove (r=<value optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp:61
Comment 24 Myriam Schweingruber 2011-03-12 11:12:58 UTC
Please see comment #19
Comment 25 Myriam Schweingruber 2011-03-20 00:43:24 UTC
*** Bug 268918 has been marked as a duplicate of this bug. ***
Comment 26 Myriam Schweingruber 2011-03-21 01:22:33 UTC
*** Bug 269006 has been marked as a duplicate of this bug. ***
Comment 27 Myriam Schweingruber 2011-03-22 08:14:51 UTC
*** Bug 268922 has been marked as a duplicate of this bug. ***
Comment 28 Myriam Schweingruber 2011-03-22 08:16:16 UTC
Please all, see comment #19:

"The originally reported bug had no crash relation at all.

I can imagine some scripts not correctly handling server failures and doing
stuff like dividing by zero if they do not get their expexted data. This in
turn should just result in an exception (can be seen in debug output) and a non
functional script, not an Amarok crash.

The originally reported issue is fixed.

@"dupe" reporters: if this is scripting related try to find the cause by
running Amarok from a shell with debug output enabled and check if the output
after a crash points to script involvement. Which one? Which version? Try to
deactivate it to verify."

We really need you check the scripts you have installed.
Comment 29 Myriam Schweingruber 2011-04-10 22:14:58 UTC
*** Bug 270600 has been marked as a duplicate of this bug. ***
Comment 30 Myriam Schweingruber 2011-04-26 09:12:50 UTC
Closing this as upstream. Please all, check comment #19 and report it to the script author directly.
Comment 31 Myriam Schweingruber 2011-05-02 08:30:48 UTC
*** Bug 259158 has been marked as a duplicate of this bug. ***
Comment 32 Myriam Schweingruber 2011-05-04 09:32:00 UTC
*** Bug 272354 has been marked as a duplicate of this bug. ***
Comment 33 Myriam Schweingruber 2011-05-07 09:27:35 UTC
*** Bug 272479 has been marked as a duplicate of this bug. ***
Comment 34 Myriam Schweingruber 2011-05-15 22:20:38 UTC
*** Bug 273359 has been marked as a duplicate of this bug. ***
Comment 35 Myriam Schweingruber 2011-05-18 01:11:09 UTC
*** Bug 273494 has been marked as a duplicate of this bug. ***
Comment 36 Myriam Schweingruber 2011-05-26 09:43:07 UTC
*** Bug 274098 has been marked as a duplicate of this bug. ***
Comment 37 Myriam Schweingruber 2011-05-29 07:29:59 UTC
*** Bug 274176 has been marked as a duplicate of this bug. ***
Comment 38 Myriam Schweingruber 2011-05-30 06:51:43 UTC
*** Bug 274488 has been marked as a duplicate of this bug. ***
Comment 39 Kevin Funk 2011-06-08 22:36:32 UTC
Modifying the title of this bug report to reflect all the attached duplicates and their traces.

Upstream bug report:

http://bugreports.qt.nokia.com/browse/QTBUG-18561
Comment 40 Kevin Funk 2011-06-08 22:36:57 UTC
*** Bug 275237 has been marked as a duplicate of this bug. ***
Comment 41 Šarūnas 2011-06-15 14:26:40 UTC
Created attachment 61012 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:

listening to music. just listening, and then the crash.. why this bug is closed ? not related to KDE components? but crashed is amarok! while downloading some music charts?.. either I skipped something reading the main report or.. amarok downloads some music charts and crashes, and bug is closed as "not our fault"? pls correct me if I misread it..

-- Backtrace (Reduced):
#7  QTWTF::HashTable<QTJSC::UStringImpl*, QTJSC::UStringImpl*, QTWTF::IdentityExtractor<QTJSC::UStringImpl*>, QTWTF::StrHash<QTJSC::UStringImpl*>, QTWTF::HashTraits<QTJSC::UStringImpl*>, QTWTF::HashTraits<QTJSC::UStringImpl*> >::find<QTJSC::UStringImpl*, QTWTF::IdentityHashTranslator<QTJSC::UStringImpl*, QTJSC::UStringImpl*, QTWTF::StrHash<QTJSC::UStringImpl*> > > (this=0x4, key=@0xbf9039ac) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:763
#8  0x036ecaea in find (r=0xa3384360) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:323
#9  find (r=0xa3384360) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashSet.h:166
#10 remove (r=0xa3384360) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashSet.h:240
#11 remove (r=0xa3384360) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp:61
Comment 42 Myriam Schweingruber 2011-06-17 11:25:42 UTC
*** Bug 275867 has been marked as a duplicate of this bug. ***
Comment 43 Myriam Schweingruber 2011-06-17 13:36:49 UTC
*** Bug 275875 has been marked as a duplicate of this bug. ***
Comment 44 Myriam Schweingruber 2011-06-22 13:45:08 UTC
*** Bug 276215 has been marked as a duplicate of this bug. ***
Comment 45 Myriam Schweingruber 2011-06-24 11:33:35 UTC
*** Bug 276341 has been marked as a duplicate of this bug. ***
Comment 46 Myriam Schweingruber 2011-06-26 20:12:46 UTC
*** Bug 276545 has been marked as a duplicate of this bug. ***
Comment 47 Myriam Schweingruber 2011-07-01 22:04:16 UTC
*** Bug 276910 has been marked as a duplicate of this bug. ***
Comment 48 Myriam Schweingruber 2011-07-03 22:12:38 UTC
*** Bug 277016 has been marked as a duplicate of this bug. ***
Comment 49 Myriam Schweingruber 2011-07-07 10:11:09 UTC
*** Bug 277210 has been marked as a duplicate of this bug. ***
Comment 50 Myriam Schweingruber 2011-07-11 15:03:15 UTC
*** Bug 277533 has been marked as a duplicate of this bug. ***
Comment 51 Myriam Schweingruber 2011-07-13 20:41:59 UTC
*** Bug 277688 has been marked as a duplicate of this bug. ***
Comment 52 Myriam Schweingruber 2011-07-18 06:33:05 UTC
*** Bug 277987 has been marked as a duplicate of this bug. ***
Comment 53 Myriam Schweingruber 2011-07-21 06:42:22 UTC
*** Bug 278169 has been marked as a duplicate of this bug. ***
Comment 54 Kevin Funk 2011-07-23 10:23:23 UTC
*** Bug 278285 has been marked as a duplicate of this bug. ***
Comment 55 Myriam Schweingruber 2011-08-03 00:23:01 UTC
*** Bug 279195 has been marked as a duplicate of this bug. ***
Comment 56 Myriam Schweingruber 2011-08-03 00:28:12 UTC
*** Bug 279227 has been marked as a duplicate of this bug. ***
Comment 57 Myriam Schweingruber 2011-08-07 10:49:57 UTC
*** Bug 279553 has been marked as a duplicate of this bug. ***
Comment 58 Myriam Schweingruber 2011-08-08 21:45:14 UTC
*** Bug 279635 has been marked as a duplicate of this bug. ***
Comment 59 Myriam Schweingruber 2011-08-13 10:24:35 UTC
*** Bug 279918 has been marked as a duplicate of this bug. ***
Comment 60 Myriam Schweingruber 2011-08-15 17:13:47 UTC
*** Bug 280129 has been marked as a duplicate of this bug. ***
Comment 61 Myriam Schweingruber 2011-08-17 21:08:32 UTC
*** Bug 280227 has been marked as a duplicate of this bug. ***
Comment 62 Myriam Schweingruber 2011-08-18 20:01:39 UTC
*** Bug 280338 has been marked as a duplicate of this bug. ***
Comment 63 Myriam Schweingruber 2011-08-25 12:43:00 UTC
*** Bug 280717 has been marked as a duplicate of this bug. ***
Comment 64 Myriam Schweingruber 2011-08-25 12:45:29 UTC
*** Bug 280734 has been marked as a duplicate of this bug. ***
Comment 65 Myriam Schweingruber 2011-08-25 12:46:18 UTC
*** Bug 280735 has been marked as a duplicate of this bug. ***
Comment 66 Myriam Schweingruber 2011-08-31 22:37:57 UTC
*** Bug 281068 has been marked as a duplicate of this bug. ***
Comment 67 Myriam Schweingruber 2011-09-05 14:45:32 UTC
*** Bug 281376 has been marked as a duplicate of this bug. ***
Comment 68 Myriam Schweingruber 2011-09-05 14:46:11 UTC
*** Bug 281381 has been marked as a duplicate of this bug. ***
Comment 69 Myriam Schweingruber 2011-09-05 17:09:43 UTC
Reopening, as several reporters do not have a 3rd-party script installed.
Comment 70 Myriam Schweingruber 2011-09-05 18:38:12 UTC
@all: please see comment #39: this is an upstream bug in Qt, fixed in Qt 4.7.4
Comment 71 Martin Blumenstingl 2011-09-05 19:18:30 UTC
Git commit 2142660c86d41f8832f3bd7e33a56decc6dd769c by Martin Blumenstingl.
Committed on 05/09/2011 at 21:14.
Pushed by mblumenstingl into branch 'master'.

Remove calls to QScriptValue(QScriptEngine*, T) as that constructor is deprecated and crashes in some Qt versions (prior to 4.7.4).
Thanks to ogoffart for pointing me in the right direction!

BUG: 261839

M  +2    -2    src/scriptengine/AmarokNetworkScript.cpp
M  +1    -1    src/scriptengine/AmarokScriptableServiceScript.cpp

http://commits.kde.org/amarok/2142660c86d41f8832f3bd7e33a56decc6dd769c
Comment 72 Myriam Schweingruber 2011-09-06 21:36:42 UTC
*** Bug 281460 has been marked as a duplicate of this bug. ***
Comment 73 Myriam Schweingruber 2011-09-14 07:47:30 UTC
*** Bug 281991 has been marked as a duplicate of this bug. ***
Comment 74 Myriam Schweingruber 2011-10-05 06:35:21 UTC
*** Bug 283344 has been marked as a duplicate of this bug. ***
Comment 75 Myriam Schweingruber 2011-10-13 14:09:42 UTC
*** Bug 283871 has been marked as a duplicate of this bug. ***
Comment 76 Myriam Schweingruber 2011-11-13 17:20:38 UTC
*** Bug 286498 has been marked as a duplicate of this bug. ***
Comment 77 Myriam Schweingruber 2011-11-15 21:49:08 UTC
*** Bug 283217 has been marked as a duplicate of this bug. ***
Comment 78 Myriam Schweingruber 2012-02-20 12:22:38 UTC
*** Bug 294471 has been marked as a duplicate of this bug. ***
Comment 79 Myriam Schweingruber 2012-04-16 11:34:18 UTC
*** Bug 298193 has been marked as a duplicate of this bug. ***
Comment 80 chrisw 2012-06-24 04:36:38 UTC
Created attachment 72085 [details]
New crash information added by DrKonqi

amarok (2.4.0) on KDE Platform 4.6.5 (4.6.5) using Qt 4.7.2

- What I was doing when the application crashed: pasando de un archivo mp3 a otro desde una lista de reproducción, que he usado muchas veces

- Unusual behavior I noticed: es la segunda vez que me pasa

-- Backtrace (Reduced):
#7  QTWTF::HashTable<QTJSC::UStringImpl*, QTJSC::UStringImpl*, QTWTF::IdentityExtractor<QTJSC::UStringImpl*>, QTWTF::StrHash<QTJSC::UStringImpl*>, QTWTF::HashTraits<QTJSC::UStringImpl*>, QTWTF::HashTraits<QTJSC::UStringImpl*> >::find<QTJSC::UStringImpl*, QTWTF::IdentityHashTranslator<QTJSC::UStringImpl*, QTJSC::UStringImpl*, QTWTF::StrHash<QTJSC::UStringImpl*> > > (this=0x4, key=@0xbf9f567c) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:763
#8  0x07664aea in find (r=0xa3fbf960) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:323
#9  find (r=0xa3fbf960) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashSet.h:166
#10 remove (r=0xa3fbf960) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashSet.h:240
#11 remove (r=0xa3fbf960) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp:61
Comment 81 Myriam Schweingruber 2012-06-24 15:32:06 UTC
(In reply to comment #80)
> Created attachment 72085 [details]
> New crash information added by DrKonqi
> 
> amarok (2.4.0) on KDE Platform 4.6.5 (4.6.5) using Qt 4.7.2

Please do not report crashes for an older version if that is already fixed in the current stable release.
Comment 82 Myriam Schweingruber 2012-07-12 06:06:54 UTC
*** Bug 303344 has been marked as a duplicate of this bug. ***
Comment 83 Mark Kretschmann 2013-05-28 07:54:54 UTC
Getting this crash all the time with 2.7-git, usually right after startup, when Resume Playback on Start is enabled.


Thread 1 (Thread 0x7fe99080c7c0 (LWP 11203)):
[KCrash Handler]
#6  0x00007fe8836f7000 in ?? ()
#7  0x00000000030b61d0 in ?? ()
#8  0x00007fe8e802a0c0 in ?? ()
#9  0x00007fe900000013 in ?? ()
#10 0x00007fe900000002 in ?? ()
#11 0x00007fe8e8029a00 in ?? ()
#12 0x00007fe900000007 in ?? ()
#13 0x0000000100000000 in ?? ()
#14 0x00007fe99e905aab in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#15 0x00007fe99e810979 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#16 0x00007fe99e8a1587 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#17 0x00007fe99e8753cf in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#18 0x00007fe99e95c40e in QScriptValue::call(QScriptValue const&, QList<QScriptValue> const&) () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#19 0x00007fe9a5971d03 in AmarokDownloadHelper::resultString (this=0x1f423e0, url=..., data=..., e=...) at /home/mark/Devel/src/amarok/src/scriptengine/AmarokNetworkScript.cpp:232
#20 0x00007fe9a554483b in AmarokDownloadHelper::qt_static_metacall (_o=0x1f423e0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff4112cb40) at /home/mark/Devel/build/amarok/src/moc_AmarokNetworkScript.cpp:176
#21 0x00007fe9a26faad7 in QMetaMethod::invoke (this=<optimized out>, object=0x1f423e0, connectionType=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1664
#22 0x00007fe9a58e5910 in QMetaMethod::invoke (this=0x7fff4112d0f8, object=0x1f423e0, connectionType=Qt::AutoConnection, val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at /usr/include/qt4/QtCore/qmetaobject.h:119
#23 0x00007fe9a58e3711 in NetworkAccessManagerProxy::NetworkAccessManagerProxyPrivate::_replyFinished (this=0x20c6dc0) at /home/mark/Devel/src/amarok/src/network/NetworkAccessManagerProxy.cpp:99
#24 0x00007fe9a58e2773 in NetworkAccessManagerProxy::qt_static_metacall (_o=0x22efdc0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff4112d2a0) at /home/mark/Devel/build/amarok/src/NetworkAccessManagerProxy.moc:61
#25 0x00007fe9a27070ef in QMetaObject::activate (sender=0x4992850, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3539
#26 0x00007fe9a26faad7 in QMetaMethod::invoke (this=this@entry=0x7fff4112d5a0, object=object@entry=0x4992850, connectionType=Qt::DirectConnection, connectionType@entry=Qt::AutoConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1664
#27 0x00007fe9a26fceac in QMetaObject::invokeMethod (obj=obj@entry=0x4992850, member=member@entry=0x7fe9a05cbd85 "finished", type=type@entry=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1179
#28 0x00007fe9a046745c in invokeMethod (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., type=Qt::AutoConnection, member=0x7fe9a05cbd85 "finished", obj=0x4992850) at /usr/include/qt4/QtCore/qobjectdefs.h:418
#29 KDEPrivate::AccessManagerReply::emitFinished (this=this@entry=0x4992850, state=state@entry=true, type=type@entry=Qt::AutoConnection) at ../../kio/kio/accessmanagerreply_p.cpp:484
#30 0x00007fe9a0469495 in KDEPrivate::AccessManagerReply::slotResult (this=0x4992850, kJob=0x4992890) at ../../kio/kio/accessmanagerreply_p.cpp:427
#31 0x00007fe9a27070ef in QMetaObject::activate (sender=sender@entry=0x4992890, m=m@entry=0x7fe9a317c4e0 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fff4112db50) at kernel/qobject.cpp:3539
#32 0x00007fe9a2df0412 in KJob::result (this=this@entry=0x4992890, _t1=_t1@entry=0x4992890) at ./kjob.moc:208
#33 0x00007fe9a2df0450 in KJob::emitResult (this=this@entry=0x4992890) at ../../kdecore/jobs/kjob.cpp:318
#34 0x00007fe9a04a4ad5 in KIO::SimpleJob::slotFinished (this=this@entry=0x4992890) at ../../kio/kio/job.cpp:494
#35 0x00007fe9a04a4f72 in KIO::TransferJob::slotFinished (this=0x4992890) at ../../kio/kio/job.cpp:1081
#36 0x00007fe9a27070ef in QMetaObject::activate (sender=sender@entry=0x2094880, m=m@entry=0x7fe9a0840620 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#37 0x00007fe9a053cd63 in KIO::SlaveInterface::finished (this=this@entry=0x2094880) at ./slaveinterface.moc:185
#38 0x00007fe9a053fa61 in KIO::SlaveInterface::dispatch (this=0x2094880, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:172
#39 0x00007fe9a053cb9a in KIO::SlaveInterface::dispatch (this=0x2094880) at ../../kio/kio/slaveinterface.cpp:88
#40 0x00007fe9a053113e in KIO::Slave::gotInput (this=0x2094880) at ../../kio/kio/slave.cpp:344
#41 0x00007fe9a27070ef in QMetaObject::activate (sender=0x3bbe640, m=m@entry=0x7fe9a0839b40 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#42 0x00007fe9a0470830 in KIO::Connection::readyRead (this=<optimized out>) at ./connection.moc:106
#43 0x00007fe9a0470d22 in dequeue (this=<optimized out>) at ../../kio/kio/connection.cpp:82
#44 KIO::ConnectionPrivate::dequeue (this=0x27050b0) at ../../kio/kio/connection.cpp:71
#45 0x00007fe9a270c5be in QObject::event (this=0x3bbe640, e=<optimized out>) at kernel/qobject.cpp:1194
#46 0x00007fe9a35ac8ec in QApplicationPrivate::notify_helper (this=this@entry=0x1904610, receiver=receiver@entry=0x3bbe640, e=e@entry=0x2d35890) at kernel/qapplication.cpp:4567
#47 0x00007fe9a35af25b in QApplication::notify (this=this@entry=0x7fff4112f268, receiver=receiver@entry=0x3bbe640, e=e@entry=0x2d35890) at kernel/qapplication.cpp:4428
#48 0x00007fe9a6234af6 in KApplication::notify (this=0x7fff4112f268, receiver=0x3bbe640, event=0x2d35890) at ../../kdeui/kernel/kapplication.cpp:311
#49 0x00007fe9a26f263e in QCoreApplication::notifyInternal (this=0x7fff4112f268, receiver=receiver@entry=0x3bbe640, event=event@entry=0x2d35890) at kernel/qcoreapplication.cpp:946
#50 0x00007fe9a26f6171 in sendEvent (event=0x2d35890, receiver=0x3bbe640) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#51 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x18151f0) at kernel/qcoreapplication.cpp:1570
#52 0x00007fe9a26f64a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#53 0x00007fe9a2720e83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#54 postEventSourceDispatch (s=s@entry=0x1914b50) at kernel/qeventdispatcher_glib.cpp:279
#55 0x00007fe99c290f05 in g_main_dispatch (context=0x1914a90) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#56 g_main_context_dispatch (context=context@entry=0x1914a90) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#57 0x00007fe99c291248 in g_main_context_iterate (context=context@entry=0x1914a90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#58 0x00007fe99c291304 in g_main_context_iteration (context=0x1914a90, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#59 0x00007fe9a2721016 in QEventDispatcherGlib::processEvents (this=0x18ff2b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#60 0x00007fe9a36521ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#61 0x00007fe9a26f138f in QEventLoop::processEvents (this=this@entry=0x7fff4112eba0, flags=...) at kernel/qeventloop.cpp:149
#62 0x00007fe9a26f1618 in QEventLoop::exec (this=this@entry=0x7fff4112eba0, flags=...) at kernel/qeventloop.cpp:204
#63 0x00007fe9a26f6cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#64 0x000000000040f92e in main (argc=4, argv=0x7fff41130608) at /home/mark/Devel/src/amarok/src/main.cpp:329
Comment 84 Mark Kretschmann 2013-05-30 11:53:40 UTC
Another backtrace, with symbols:

#29 0x00007fdb69059979 in execute (exception=0x7fdadc4d1a88, globalData=0x7fdadc4d0800, callFrame=0x200, registerFile=0x7fff945ec268, this=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITCode.h:79
#30 QTJSC::Interpreter::execute (this=0x7fff945ec250, functionExecutable=0xffff000000000002, callFrame=0x7fdadc0c80d0, callFrame@entry=0x2242598, function=function@entry=0x7fdadc0437c0, thisObj=<optimized out>, args=..., scopeChain=scopeChain@entry=0x7fdadc4d6240, exception=exception@entry=0x7fdadc4d1a88) at ../3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp:716
#31 0x00007fdb690ea587 in QTJSC::JSFunction::call (this=0x7fdadc0437c0, exec=exec@entry=0x2242598, thisValue=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSFunction.cpp:122
#32 0x00007fdb690be3cf in QTJSC::call (exec=exec@entry=0x2242598, functionObject=..., functionObject@entry=..., callType=callType@entry=QTJSC::CallTypeJS, callData=..., thisValue=..., thisValue@entry=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:62
#33 0x00007fdb691a540e in QScriptValue::call (this=<optimized out>, thisObject=..., args=...) at api/qscriptvalue.cpp:1604
#34 0x00007fdb701bad03 in AmarokDownloadHelper::resultString (this=0x1a41340, url=..., data=..., e=...) at /home/mark/Devel/src/amarok/src/scriptengine/AmarokNetworkScript.cpp:232
#35 0x00007fdb6fd8d83b in AmarokDownloadHelper::qt_static_metacall (_o=0x1a41340, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff945ec740) at /home/mark/Devel/build/amarok/src/moc_AmarokNetworkScript.cpp:176
Comment 85 Mark Kretschmann 2013-05-30 11:55:15 UTC
For the record, this could be interesting:

<bcooksley> markey: see NetworkAccessManagerProxy.cpp
<bcooksley> i'm not sure I like the
<bcooksley> reply->deleteLater()
<bcooksley> combined with the qDeleteAll( callbacks ) and the destructor of CallBackData
<bcooksley> looks like a qpointer guarded double delete
Comment 86 Mark Kretschmann 2013-06-03 11:50:47 UTC
Another BT:

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 0x7fb0391bf7c0 (LWP 13409))]

Thread 18 (Thread 0x7fb02c355700 (LWP 13412)):
#0  __pthread_mutex_lock_full (mutex=0x1007ee0) at pthread_mutex_lock.c:308
#1  0x00007fb03dce124e in pa_mutex_lock () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-3.0.so
#2  0x00007fb042b5cce9 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007fb042b4e205 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007fb042b4e869 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007fb042b4e920 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007fb042b5cc8f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#7  0x00007fb03dce2143 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-3.0.so
#8  0x00007fb04920bf8e in start_thread (arg=0x7fb02c355700) at pthread_create.c:311
#9  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 17 (Thread 0x7fb01f4f7700 (LWP 13414)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007fb04afaa0a7 in wait (time=60000, this=0x1128380) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1107478, time=60000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb04e28cf94 in AbstractDirectoryWatcher::run (this=0x1107450) at /home/mark/Devel/src/amarok/src/scanner/AbstractDirectoryWatcher.cpp:65
#4  0x00007fb048870e3a in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7fb01f4f6d70, th=th@entry=0xb0da40, job=job@entry=0x1107450) at ../../../threadweaver/Weaver/Job.cpp:106
#5  0x00007fb048870fb1 in ThreadWeaver::Job::execute (this=0x1107450, th=0xb0da40) at ../../../threadweaver/Weaver/Job.cpp:135
#6  0x00007fb04887060f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fb01f4f6dc0, parent=0x1129330, th=th@entry=0xb0da40) at ../../../threadweaver/Weaver/Thread.cpp:95
#7  0x00007fb0488706cb in ThreadWeaver::Thread::run (this=0xb0da40) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007fb04afa9bec in QThreadPrivate::start (arg=0xb0da40) at thread/qthread_unix.cpp:338
#9  0x00007fb04920bf8e in start_thread (arg=0x7fb01f4f7700) at pthread_create.c:311
#10 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 16 (Thread 0x7fb01d6d3700 (LWP 13415)):
#0  0x00007fb04920f07f in __pthread_mutex_unlock_usercnt (mutex=0x7fb010000a60, decr=<optimized out>) at pthread_mutex_unlock.c:52
#1  0x00007fb044c845f1 in g_mutex_unlock (mutex=mutex@entry=0x7fb0100009a0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:229
#2  0x00007fb044c448f3 in g_main_context_prepare (context=context@entry=0x7fb0100009a0, priority=priority@entry=0x7fb01d6d2c38) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3326
#3  0x00007fb044c450fe in g_main_context_iterate (context=context@entry=0x7fb0100009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3681
#4  0x00007fb044c45304 in g_main_context_iteration (context=0x7fb0100009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#5  0x00007fb04b0d5036 in QEventDispatcherGlib::processEvents (this=0x7fb0100008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fb04b0a538f in QEventLoop::processEvents (this=this@entry=0x7fb01d6d2d90, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fb04b0a5618 in QEventLoop::exec (this=this@entry=0x7fb01d6d2d90, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fb04afa7410 in QThread::exec (this=this@entry=0x112c420) at thread/qthread.cpp:542
#9  0x00007fb04b086edf in QInotifyFileSystemWatcherEngine::run (this=0x112c420) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007fb04afa9bec in QThreadPrivate::start (arg=0x112c420) at thread/qthread_unix.cpp:338
#11 0x00007fb04920bf8e in start_thread (arg=0x7fb01d6d3700) at pthread_create.c:311
#12 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 15 (Thread 0x7fb017fff700 (LWP 13416)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb04afaa14b in wait (time=18446744073709551615, this=0x1129480) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1129358, mutex=0xb8ec20, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb04886f041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1129330, th=0x1453490) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fb04887194b in ThreadWeaver::WorkingHardState::applyForWork (this=0x10a56f0, th=0x1453490) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fb04887063f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fb017ffedc0, parent=0x1129330, th=th@entry=0x1453490) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fb0488706cb in ThreadWeaver::Thread::run (this=0x1453490) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fb04afa9bec in QThreadPrivate::start (arg=0x1453490) at thread/qthread_unix.cpp:338
#8  0x00007fb04920bf8e in start_thread (arg=0x7fb017fff700) at pthread_create.c:311
#9  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 14 (Thread 0x7fb0177fe700 (LWP 13417)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb04afaa14b in wait (time=18446744073709551615, this=0x1129480) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1129358, mutex=0xb8ec20, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb04886f041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1129330, th=0x1484c30) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fb04887194b in ThreadWeaver::WorkingHardState::applyForWork (this=0x10a56f0, th=0x1484c30) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fb04887063f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fb0177fddc0, parent=0x1129330, th=th@entry=0x1484c30) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fb0488706cb in ThreadWeaver::Thread::run (this=0x1484c30) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fb04afa9bec in QThreadPrivate::start (arg=0x1484c30) at thread/qthread_unix.cpp:338
#8  0x00007fb04920bf8e in start_thread (arg=0x7fb0177fe700) at pthread_create.c:311
#9  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 13 (Thread 0x7fb016ffd700 (LWP 13418)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb04afaa14b in wait (time=18446744073709551615, this=0x1129480) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1129358, mutex=0xb8ec20, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fb04886f041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1129330, th=0x7fb00c0028d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fb04887194b in ThreadWeaver::WorkingHardState::applyForWork (this=0x10a56f0, th=0x7fb00c0028d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fb048871964 in ThreadWeaver::WorkingHardState::applyForWork (this=0x10a56f0, th=0x7fb00c0028d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fb04887063f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fb016ffcdc0, parent=0x1129330, th=th@entry=0x7fb00c0028d0) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007fb0488706cb in ThreadWeaver::Thread::run (this=0x7fb00c0028d0) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007fb04afa9bec in QThreadPrivate::start (arg=0x7fb00c0028d0) at thread/qthread_unix.cpp:338
#9  0x00007fb04920bf8e in start_thread (arg=0x7fb016ffd700) at pthread_create.c:311
#10 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 12 (Thread 0x7fb01636e700 (LWP 13419)):
#0  0x00007fb044c84359 in g_mutex_get_impl (mutex=0x7faffc0009a0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:121
#1  0x00007fb044c845e9 in g_mutex_unlock (mutex=mutex@entry=0x7faffc0009a0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:229
#2  0x00007fb044c449c2 in g_main_context_prepare (context=context@entry=0x7faffc0009a0, priority=priority@entry=0x7fb01636dc38) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3393
#3  0x00007fb044c450fe in g_main_context_iterate (context=context@entry=0x7faffc0009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3681
#4  0x00007fb044c45304 in g_main_context_iteration (context=0x7faffc0009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#5  0x00007fb04b0d5036 in QEventDispatcherGlib::processEvents (this=0x7faffc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fb04b0a538f in QEventLoop::processEvents (this=this@entry=0x7fb01636dd90, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fb04b0a5618 in QEventLoop::exec (this=this@entry=0x7fb01636dd90, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fb04afa7410 in QThread::exec (this=this@entry=0x16a7410) at thread/qthread.cpp:542
#9  0x00007fb04b086edf in QInotifyFileSystemWatcherEngine::run (this=0x16a7410) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007fb04afa9bec in QThreadPrivate::start (arg=0x16a7410) at thread/qthread_unix.cpp:338
#11 0x00007fb04920bf8e in start_thread (arg=0x7fb01636e700) at pthread_create.c:311
#12 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 11 (Thread 0x7fb01498d700 (LWP 13420)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb041e7b575 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007fb041e7b5c9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007fb04920bf8e in start_thread (arg=0x7fb01498d700) at pthread_create.c:311
#4  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 10 (Thread 0x7fb001c4c700 (LWP 13423)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb044c8483f in g_cond_wait (cond=0x7fafac01dcc0, mutex=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:756
#2  0x00007fb02b512e25 in gst_queue_chain (pad=<optimized out>, buffer=0x7fafac04cde0) at gstqueue.c:1014
#3  0x00007fb03cad2db1 in gst_pad_push (pad=0x7fafac014570, buffer=0x7fafac04cde0) at gstpad.c:4710
#4  0x00007fb03cad2db1 in gst_pad_push (pad=pad@entry=0x7fafac033b00, buffer=buffer@entry=0x7fafac04cde0) at gstpad.c:4710
#5  0x00007fb02aea49cc in gst_stream_synchronizer_sink_chain (pad=<optimized out>, buffer=0x7fafac04cde0) at gststreamsynchronizer.c:601
#6  0x00007fb03cad2db1 in gst_pad_push (pad=0x7fafac033c80, buffer=0x7fafac04cde0) at gstpad.c:4710
#7  0x00007fb02b51e90b in gst_tee_handle_data (tee=tee@entry=0xd859b0, data=0x7fafac033df8, data@entry=0x7fafac04cde0, is_list=is_list@entry=0) at gsttee.c:722
#8  0x00007fb02b51eadf in gst_tee_chain (pad=<optimized out>, buffer=0x7fafac04cde0) at gsttee.c:828
#9  0x00007fb03cad2db1 in gst_pad_push (pad=0x7fafac014230, buffer=0x7fafac04cde0) at gstpad.c:4710
#10 0x00007fb03cad2db1 in gst_pad_push (pad=0x2299600, buffer=buffer@entry=0x7fafac04cde0) at gstpad.c:4710
#11 0x00007fb02b509e8d in gst_selector_pad_chain (pad=0x7fafac02a140, buf=0x7fafac04cde0) at gstinputselector.c:854
#12 0x00007fb03cad2db1 in gst_pad_push (pad=0x1053510, buffer=0x7fafac04cde0) at gstpad.c:4710
#13 0x00007fb03cad2db1 in gst_pad_push (pad=0x225fa30, buffer=0x7fafac04cde0) at gstpad.c:4710
#14 0x00007fb03cad2db1 in gst_pad_push (pad=0x2299480, buffer=0x7fafac04cde0) at gstpad.c:4710
#15 0x00007fb00121ecdc in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-0.10/libgstflump3dec.so
#16 0x00007fb00121fcaf in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-0.10/libgstflump3dec.so
#17 0x00007fb03cad2db1 in gst_pad_push (pad=0x2299000, buffer=buffer@entry=0x7fafac04cca0) at gstpad.c:4710
#18 0x00007fb03cd6f7ca in gst_base_parse_push_frame (parse=parse@entry=0xc76800, frame=frame@entry=0x7fb001c4bcf0) at gstbaseparse.c:1988
#19 0x00007fb03cd7080e in gst_base_parse_handle_and_push_frame (parse=parse@entry=0xc76800, frame=frame@entry=0x7fb001c4bcf0, klass=0xc70a00) at gstbaseparse.c:1765
#20 0x00007fb03cd731a5 in gst_base_parse_loop (pad=<optimized out>) at gstbaseparse.c:2826
#21 0x00007fb03caf8e34 in gst_task_func (task=0x229e030) at gsttask.c:327
#22 0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#23 0x00007fb044c68eb5 in g_thread_proxy (data=0x22402d0) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#24 0x00007fb04920bf8e in start_thread (arg=0x7fb001c4c700) at pthread_create.c:311
#25 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7fb000f8e700 (LWP 13424)):
#0  0x00007fb04a4353cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb044c451dc in g_main_context_poll (n_fds=1, fds=0x7fafb00019b0, timeout=8163, context=0x7fafb00009a0, priority=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x7fafb00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3696
#3  0x00007fb044c45304 in g_main_context_iteration (context=0x7fafb00009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#4  0x00007fb04b0d5036 in QEventDispatcherGlib::processEvents (this=0x7fafb00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007fb04b0a538f in QEventLoop::processEvents (this=this@entry=0x7fb000f8ddc0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fb04b0a5618 in QEventLoop::exec (this=this@entry=0x7fb000f8ddc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fb04afa7410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#8  0x00007fb04afa9bec in QThreadPrivate::start (arg=0x13a82d0) at thread/qthread_unix.cpp:338
#9  0x00007fb04920bf8e in start_thread (arg=0x7fb000f8e700) at pthread_create.c:311
#10 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7fafbbffd700 (LWP 13425)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb044c8483f in g_cond_wait (cond=0x1013670, mutex=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:756
#2  0x00007fb02b512e25 in gst_queue_chain (pad=<optimized out>, buffer=0x7fafac102490) at gstqueue.c:1014
#3  0x00007fb03cad2db1 in gst_pad_push (pad=0x10142a0, buffer=0x7fafac102490) at gstpad.c:4710
#4  0x00007fb03cad2db1 in gst_pad_push (pad=pad@entry=0x102b680, buffer=0x7fafac102490) at gstpad.c:4710
#5  0x00007fb02b51e5e0 in gst_tee_do_push (is_list=0, data=0x7fafac102490, pad=0x102b680, tee=0xd85290) at gsttee.c:675
#6  gst_tee_handle_data (tee=tee@entry=0xd85290, data=data@entry=0x7fafac102490, is_list=is_list@entry=0) at gsttee.c:754
#7  0x00007fb02b51eadf in gst_tee_chain (pad=<optimized out>, buffer=0x7fafac102490) at gsttee.c:828
#8  0x00007fb03cad2db1 in gst_pad_push (pad=0x102b200, buffer=buffer@entry=0x7fafac102490) at gstpad.c:4710
#9  0x00007fb02b513df6 in gst_queue_push_one (queue=0x10025c0) at gstqueue.c:1156
#10 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1264
#11 0x00007fb03caf8e34 in gst_task_func (task=0x229ea30) at gsttask.c:327
#12 0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#13 0x00007fb044c68eb5 in g_thread_proxy (data=0x7fafac003850) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#14 0x00007fb04920bf8e in start_thread (arg=0x7fafbbffd700) at pthread_create.c:311
#15 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7fafbb7fc700 (LWP 13426)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb044c8483f in g_cond_wait (cond=0x1035ba0, mutex=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:756
#2  0x00007fb02b5136b5 in gst_queue_loop (pad=<optimized out>) at gstqueue.c:1252
#3  0x00007fb03caf8e34 in gst_task_func (task=0x229e930) at gsttask.c:327
#4  0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#5  0x00007fb044c68eb5 in g_thread_proxy (data=0x7fafac0038a0) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#6  0x00007fb04920bf8e in start_thread (arg=0x7fafbb7fc700) at pthread_create.c:311
#7  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7fafbaffb700 (LWP 13427)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb044c8483f in g_cond_wait (cond=0x1058550, mutex=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:756
#2  0x00007fb02b5136b5 in gst_queue_loop (pad=<optimized out>) at gstqueue.c:1252
#3  0x00007fb03caf8e34 in gst_task_func (task=0x229e830) at gsttask.c:327
#4  0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#5  0x00007fb044c68eb5 in g_thread_proxy (data=0x7fafac0038f0) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#6  0x00007fb04920bf8e in start_thread (arg=0x7fafbaffb700) at pthread_create.c:311
#7  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7fafba7fa700 (LWP 13428)):
#0  __pthread_mutex_lock_full (mutex=0x1007ee0) at pthread_mutex_lock.c:308
#1  0x00007fb03dce124e in pa_mutex_lock () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-3.0.so
#2  0x00007fb02c59834c in gst_pulsesink_get_time (clock=<optimized out>, sink=<optimized out>) at pulsesink.c:1981
#3  0x00007fb02c365948 in gst_audio_clock_get_internal_time (clock=0xe004b0) at gstaudioclock.c:218
#4  0x00007fb03caaf971 in gst_clock_get_internal_time (clock=clock@entry=0xe004b0) at gstclock.c:953
#5  0x00007fb03caafb08 in gst_clock_get_time (clock=clock@entry=0xe004b0) at gstclock.c:993
#6  0x00007fb03caf1def in gst_system_clock_id_wait_jitter_unlocked (clock=0xe004b0, entry=0x7faf84003d40, jitter=<optimized out>, restart=1) at gstsystemclock.c:680
#7  0x00007fb03caafc84 in gst_clock_id_wait (id=0x7faf84003d40, jitter=jitter@entry=0x7fafba7f98b8) at gstclock.c:494
#8  0x00007fb03cd7a5ff in gst_base_sink_wait_clock (sink=sink@entry=0x1015d70, time=365714272, jitter=jitter@entry=0x7fafba7f98b8) at gstbasesink.c:2225
#9  0x00007fb03cd7c98b in gst_base_sink_do_sync (obj_type=2 '\002', step_end=<synthetic pointer>, late=<synthetic pointer>, obj=0x7fafac1663d0, basesink=0x1015d70, pad=<optimized out>) at gstbasesink.c:2572
#10 gst_base_sink_render_object (basesink=basesink@entry=0x1015d70, obj_type=obj_type@entry=2 '\002', obj=obj@entry=0x7fafac1663d0, pad=0xdf6e40) at gstbasesink.c:2978
#11 0x00007fb03cd7e63f in gst_base_sink_queue_object_unlocked (basesink=basesink@entry=0x1015d70, obj_type=obj_type@entry=2 '\002', obj=obj@entry=0x7fafac1663d0, prerollable=prerollable@entry=1, pad=0xdf6e40) at gstbasesink.c:3295
#12 0x00007fb03cd7eb48 in gst_base_sink_chain_unlocked (basesink=basesink@entry=0x1015d70, obj_type=<optimized out>, obj=obj@entry=0x7fafac1663d0, pad=0xdf6e40) at gstbasesink.c:3677
#13 0x00007fb03cd7ee7f in gst_base_sink_chain_main (basesink=0x1015d70, pad=0xdf6e40, obj_type=<optimized out>, obj=0x7fafac1663d0) at gstbasesink.c:3715
#14 0x00007fb03cad2db1 in gst_pad_push (pad=0x100b7c0, buffer=0x7fafac1663d0) at gstpad.c:4710
#15 0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac1663d0) at gstbasetransform.c:2658
#16 0x00007fb03cad2db1 in gst_pad_push (pad=0x100b4c0, buffer=0x7fafac1663d0) at gstpad.c:4710
#17 0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac1663d0) at gstbasetransform.c:2658
#18 0x00007fb03cad2db1 in gst_pad_push (pad=0x100b1c0, buffer=buffer@entry=0x7fafac1663d0) at gstpad.c:4710
#19 0x00007fb02b513df6 in gst_queue_push_one (queue=0x1002330) at gstqueue.c:1156
#20 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1264
#21 0x00007fb03caf8e34 in gst_task_func (task=0x229e730) at gsttask.c:327
#22 0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#23 0x00007fb044c68eb5 in g_thread_proxy (data=0x7fafac003940) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#24 0x00007fb04920bf8e in start_thread (arg=0x7fafba7fa700) at pthread_create.c:311
#25 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7fafb9ff9700 (LWP 13429)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb044c8483f in g_cond_wait (cond=0xdf2f10, mutex=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:756
#2  0x00007fb03cd7a6dc in gst_base_sink_wait_preroll (sink=sink@entry=0xf7e320) at gstbasesink.c:2279
#3  0x00007fb02c3756a8 in gst_base_audio_sink_render (bsink=0xf7e320, buf=<optimized out>) at gstbaseaudiosink.c:1889
#4  0x00007fb03cd7cc3f in gst_base_sink_render_object (basesink=basesink@entry=0xf7e320, obj_type=obj_type@entry=2 '\002', obj=obj@entry=0x7fafac166010, pad=0xdf60c0) at gstbasesink.c:3014
#5  0x00007fb03cd7e63f in gst_base_sink_queue_object_unlocked (basesink=basesink@entry=0xf7e320, obj_type=obj_type@entry=2 '\002', obj=obj@entry=0x7fafac166010, prerollable=prerollable@entry=1, pad=0xdf60c0) at gstbasesink.c:3295
#6  0x00007fb03cd7eb48 in gst_base_sink_chain_unlocked (basesink=basesink@entry=0xf7e320, obj_type=<optimized out>, obj=obj@entry=0x7fafac166010, pad=0xdf60c0) at gstbasesink.c:3677
#7  0x00007fb03cd7ee7f in gst_base_sink_chain_main (basesink=0xf7e320, pad=0xdf60c0, obj_type=<optimized out>, obj=0x7fafac166010) at gstbasesink.c:3715
#8  0x00007fb03cad2db1 in gst_pad_push (pad=0xdf66c0, buffer=0x7fafac166010) at gstpad.c:4710
#9  0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac166010) at gstbasetransform.c:2658
#10 0x00007fb03cad2db1 in gst_pad_push (pad=0xdf6cc0, buffer=0x7fafac166010) at gstpad.c:4710
#11 0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac166010) at gstbasetransform.c:2658
#12 0x00007fb03cad2db1 in gst_pad_push (pad=0xdf63c0, buffer=0x7fafac166010) at gstpad.c:4710
#13 0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac166010) at gstbasetransform.c:2658
#14 0x00007fb03cad2db1 in gst_pad_push (pad=0xdf69c0, buffer=buffer@entry=0x7fafac166010) at gstpad.c:4710
#15 0x00007fb02b513df6 in gst_queue_push_one (queue=0x10020a0) at gstqueue.c:1156
#16 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1264
#17 0x00007fb03caf8e34 in gst_task_func (task=0x229e630) at gsttask.c:327
#18 0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#19 0x00007fb044c68eb5 in g_thread_proxy (data=0x7fafac003990) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#20 0x00007fb04920bf8e in start_thread (arg=0x7fafb9ff9700) at pthread_create.c:311
#21 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7fafb97f8700 (LWP 13430)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb044c8483f in g_cond_wait (cond=0x102aab0, mutex=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:756
#2  0x00007fb02b512e25 in gst_queue_chain (pad=<optimized out>, buffer=0x7fafac06a360) at gstqueue.c:1014
#3  0x00007fb03cad2db1 in gst_pad_push (pad=0x1014440, buffer=0x7fafac06a360) at gstpad.c:4710
#4  0x00007fb03cad2db1 in gst_pad_push (pad=0x1053a20, buffer=0x7fafac06a360) at gstpad.c:4710
#5  0x00007fb03cad2db1 in gst_pad_push (pad=0x7fafac033800, buffer=0x7fafac06a360) at gstpad.c:4710
#6  0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac06a360) at gstbasetransform.c:2658
#7  0x00007fb03cad2db1 in gst_pad_push (pad=0x7fafac033500, buffer=0x7fafac06a360) at gstpad.c:4710
#8  0x00007fb03cd8c8dc in gst_base_transform_chain (pad=<optimized out>, buffer=0x7fafac06a360) at gstbasetransform.c:2658
#9  0x00007fb03cad2db1 in gst_pad_push (pad=0x105abf0, buffer=0x7fafac06a360) at gstpad.c:4710
#10 0x00007fb03cad2db1 in gst_pad_push (pad=0x2299a80, buffer=buffer@entry=0x7fafac06a360) at gstpad.c:4710
#11 0x00007fb02b513df6 in gst_queue_push_one (queue=0x1003520) at gstqueue.c:1156
#12 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1264
#13 0x00007fb03caf8e34 in gst_task_func (task=0x229eb30) at gsttask.c:327
#14 0x00007fb044c696f2 in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gthreadpool.c:309
#15 0x00007fb044c68eb5 in g_thread_proxy (data=0x7fafac0039e0) at /build/buildd/glib2.0-2.36.0/./glib/gthread.c:798
#16 0x00007fb04920bf8e in start_thread (arg=0x7fafb97f8700) at pthread_create.c:311
#17 0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fafb8ff7700 (LWP 13431)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb0472b6e77 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fb0475c4660 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fb0472b6ea9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fb04920bf8e in start_thread (arg=0x7fafb8ff7700) at pthread_create.c:311
#4  0x00007fb04a441e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7fb0391bf7c0 (LWP 13409)):
[KCrash Handler]
#6  0x00007faf28000030 in ?? ()
#7  0x00007faf9114eda0 in ?? ()
#8  0x7fffffff00000032 in ?? ()
#9  0x00007fafb8045ec0 in ?? ()
#10 0x00007fb000000010 in ?? ()
#11 0x0000000000000003 in ?? ()
#12 0x00007faf90c2f840 in ?? ()
#13 0x00007fb000020240 in ?? ()
#14 0x00007fb000015738 in ?? ()
#15 0x00007faf90c30960 in ?? ()
#16 0x00007faf90c2ac00 in ?? ()
#17 0x00007faf91148000 in ?? ()
#18 0x00007fb000015750 in ?? ()
#19 0x00007fafb83f7060 in ?? ()
#20 0x00007fb00001ba88 in ?? ()
#21 0x00007fb0475afd98 in QTJSC::ExecutableAllocator::pageSize () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#22 0x00007fb00001a800 in ?? ()
#23 0x00007fafb83f7000 in ?? ()
#24 0x00007fb00002baf0 in ?? ()
#25 0x00007fb0475afd98 in QTJSC::ExecutableAllocator::pageSize () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#26 0x0000000001e59968 in ?? ()
#27 0x00007fafb83f7060 in ?? ()
#28 0x00007fb000015738 in ?? ()
#29 0x00007fb0471c4979 in execute (exception=0x7fb00001ba88, globalData=0x7fb00001a800, callFrame=0x200, registerFile=0x7ffffb027f88, this=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITCode.h:79
#30 QTJSC::Interpreter::execute (this=0x7ffffb027f70, functionExecutable=0xffff000000000002, callFrame=0x7fafb83f70e0, callFrame@entry=0x1e59968, function=function@entry=0x7fafb8383940, thisObj=<optimized out>, args=..., scopeChain=scopeChain@entry=0x7fb000020240, exception=exception@entry=0x7fb00001ba88) at ../3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp:716
#31 0x00007fb047255587 in QTJSC::JSFunction::call (this=0x7fafb8383940, exec=exec@entry=0x1e59968, thisValue=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSFunction.cpp:122
#32 0x00007fb0472293cf in QTJSC::call (exec=exec@entry=0x1e59968, functionObject=..., functionObject@entry=..., callType=<optimized out>, callData=..., thisValue=..., thisValue@entry=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:62
#33 0x00007fb047325496 in QScript::QObjectConnectionManager::execute (this=this@entry=0x25262d0, slotIndex=<optimized out>, argv=argv@entry=0x7ffffb0282e0) at bridge/qscriptqobject.cpp:2163
#34 0x00007fb0473259a1 in QScript::QObjectConnectionManager::qt_metacall (this=0x25262d0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffffb0282e0) at bridge/qscriptqobject.cpp:2066
#35 0x00007fb04b0bb2b3 in QMetaObject::activate (sender=0x1ac4020, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7ffffb0282e0) at kernel/qobject.cpp:3558
#36 0x00007fb04df0af2a in ScriptableServiceScript::populate (this=0x1ac4020, _t1=1, _t2=..., _t3=...) at /home/mark/Devel/build/amarok/src/moc_AmarokScriptableServiceScript.cpp:252
#37 0x00007fb04e32bff3 in ScriptableServiceScript::slotPopulate (this=0x1ac4020, name=..., level=1, parent_id=-1, callbackData=..., filter=...) at /home/mark/Devel/src/amarok/src/scriptengine/AmarokScriptableServiceScript.cpp:238
#38 0x00007fb04e432c60 in ScriptManager::ServiceScriptPopulate (this=0x1f2b7d0, name=..., level=1, parent_id=-1, path=..., filter=...) at /home/mark/Devel/src/amarok/src/ScriptManager.cpp:342
#39 0x00007fb04df43aa1 in Collections::ScriptableServiceQueryMaker::fetchAlbums (this=0x100dff0) at /home/mark/Devel/src/amarok/src/services/scriptable/ScriptableServiceQueryMaker.cpp:300
#40 0x00007fb04df453a8 in Collections::ScriptableServiceQueryMaker::qt_static_metacall (_o=0x100dff0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x1b38240) at /home/mark/Devel/build/amarok/src/ScriptableServiceQueryMaker.moc:58
#41 0x00007fb04b0c05be in QObject::event (this=0x100dff0, e=<optimized out>) at kernel/qobject.cpp:1194
#42 0x00007fb04bf608ec in QApplicationPrivate::notify_helper (this=this@entry=0x9e2d70, receiver=receiver@entry=0x100dff0, e=e@entry=0x1b6bc60) at kernel/qapplication.cpp:4567
#43 0x00007fb04bf6325b in QApplication::notify (this=this@entry=0x7ffffb029528, receiver=receiver@entry=0x100dff0, e=e@entry=0x1b6bc60) at kernel/qapplication.cpp:4428
#44 0x00007fb04ebe9af6 in KApplication::notify (this=0x7ffffb029528, receiver=0x100dff0, event=0x1b6bc60) at ../../kdeui/kernel/kapplication.cpp:311
#45 0x00007fb04b0a663e in QCoreApplication::notifyInternal (this=0x7ffffb029528, receiver=receiver@entry=0x100dff0, event=event@entry=0x1b6bc60) at kernel/qcoreapplication.cpp:946
#46 0x00007fb04b0aa171 in sendEvent (event=0x1b6bc60, receiver=0x100dff0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#47 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x8f31f0) at kernel/qcoreapplication.cpp:1570
#48 0x00007fb04b0aa4a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#49 0x00007fb04b0d4e83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#50 postEventSourceDispatch (s=s@entry=0x9f0e40) at kernel/qeventdispatcher_glib.cpp:279
#51 0x00007fb044c44f05 in g_main_dispatch (context=0x8f5900) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#52 g_main_context_dispatch (context=context@entry=0x8f5900) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#53 0x00007fb044c45248 in g_main_context_iterate (context=context@entry=0x8f5900, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#54 0x00007fb044c45304 in g_main_context_iteration (context=0x8f5900, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#55 0x00007fb04b0d5016 in QEventDispatcherGlib::processEvents (this=0x9e23c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#56 0x00007fb04c0061ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#57 0x00007fb04b0a538f in QEventLoop::processEvents (this=this@entry=0x7ffffb028e60, flags=...) at kernel/qeventloop.cpp:149
#58 0x00007fb04b0a5618 in QEventLoop::exec (this=this@entry=0x7ffffb028e60, flags=...) at kernel/qeventloop.cpp:204
#59 0x00007fb04b0aacf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#60 0x000000000040f92e in main (argc=4, argv=0x7ffffb02a8c8) at /home/mark/Devel/src/amarok/src/main.cpp:329