crash, pure virtual method called #11651

Open
xewei opened this Issue Sep 27, 2013 · 2 comments

3 participants

@xewei

pure virtual method called
terminate called without an active exception
PhantomJS has crashed. Please read the crash reporting guide at https://github.com/ariya/phantomjs/wiki/Crash-Reporting and file a bug report at https://github.com/ariya/phantomjs/issues/new with the crash dump file attached: /tmp/4e8b726a-11b0-dd57-4f76f0ce-24f76fe3.dmp

@xewei xewei closed this Sep 27, 2013
@xewei xewei reopened this Sep 27, 2013
@thoop

I had the same problem. Trying to get the dump, but heroku deletes it from the tmp folder.

@edwardfung123

Same here.
Seems that it just randomly happens.
I am running a test script every minute.
I use nodejs to fork the phantomjs and execute the script.

Phantomjs Version:
official binary 1.9.2

stack trace

Operating system: Linux
                  0.0.0 Linux 3.8.0-31-generic #46-Ubuntu SMP Tue Sep 10 20:03:44 UTC 2013 x86_64
CPU: amd64
     family 6 model 15 stepping 13
     2 CPUs

Crash reason:  SIGABRT
Crash address: 0x3e8000029d9

Thread 0 (crashed)
 0  libc-2.17.so + 0x37037
    rbx = 0x000000000394b8c0   r12 = 0x00000000038dca10
    r13 = 0x000000000394b890   r14 = 0x00000000038d9940
    r15 = 0x00000000038d9820   rip = 0x00007f7f68efd037
    rsp = 0x00007fff97989888   rbp = 0x000000000394b8d8
    Found by: given as instruction pointer in context
 1  libc-2.17.so + 0x3a697
    rip = 0x00007f7f68f00698   rsp = 0x00007fff97989890
    Found by: stack scanning
 2  ld-2.17.so + 0xec94
    rip = 0x00007f7f6a5bac95   rsp = 0x00007fff97989930
    Found by: stack scanning
 3  libc-2.17.so + 0x6ce7
    rip = 0x00007f7f68eccce8   rsp = 0x00007fff97989950
    Found by: stack scanning
 4  ld-2.17.so + 0x15724
    rip = 0x00007f7f6a5c1725   rsp = 0x00007fff97989970
    Found by: stack scanning
 5  libstdc++.so.6.0.17 + 0xc14ef
    rip = 0x00007f7f6986a4f0   rsp = 0x00007fff979899a8
    Found by: stack scanning
 6  libstdc++.so.6.0.17 + 0x60e8c
    rip = 0x00007f7f69809e8d   rsp = 0x00007fff979899c0
    Found by: stack scanning
 7  libpthread-2.17.so + 0xec5c
    rip = 0x00007f7f69abac5d   rsp = 0x00007fff979899d0
    Found by: stack scanning
 8  libstdc++.so.6.0.17 + 0x5ef75
    rip = 0x00007f7f69807f76   rsp = 0x00007fff979899f0
    Found by: stack scanning
 9  libstdc++.so.6.0.17 + 0x5efa2
    rip = 0x00007f7f69807fa3   rsp = 0x00007fff97989a00
    Found by: stack scanning
10  libstdc++.so.6.0.17 + 0x5face
    rip = 0x00007f7f69808acf   rsp = 0x00007fff97989a10
    Found by: stack scanning
11  phantomjs!QCoreApplication::postEvent [qcoreapplication.cpp : 1392 + 0x8]
    rip = 0x0000000001cdebbc   rsp = 0x00007fff97989a20
    Found by: stack scanning
12  phantomjs!QMetaObject::activate [qobject.cpp : 3516 + 0x65]
    rbx = 0x00000000038d9940   r12 = 0x00007fff97989b80
    r13 = 0x0000000000000001   r14 = 0x0000000003c12f00
    r15 = 0x00000000038d99a0   rip = 0x0000000001cf7241
    rsp = 0x00007fff97989ad0   rbp = 0x00000000038d9820
    Found by: call frame info
13  phantomjs!QNetworkAccessHttpBackend::postRequest [qnetworkaccesshttpbackend.cpp : 650 + 0x7]
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x0000000000000001   r14 = 0x0000000003c12f00
    r15 = 0x0000000003c12f38   rip = 0x0000000001b21485
    rsp = 0x00007fff97989bf0   rbp = 0x00000000038d9820
    Found by: call frame info
14  phantomjs!QNetworkAccessBackend::start [qnetworkaccessbackend.cpp : 426 + 0x8]
    rbx = 0x0000000003c130a0   r12 = 0x00007fff9798a3c0
    r13 = 0x00007fff9798a3d0   r14 = 0x0000000003c12f00
    r15 = 0x00007fff9798a3e0   rip = 0x0000000001b1564f
    rsp = 0x00007fff9798a2d0   rbp = 0x0000000003c153b8
    Found by: call frame info
15  phantomjs!QNetworkReplyImplPrivate::_q_startOperation [qnetworkreplyimpl.cpp : 93 + 0x5]
    rbx = 0x0000000003c15220   r12 = 0x0000000000000002
    r13 = 0x0000000003c15220   r14 = 0x000000000387a7e0
    r15 = 0x00007fff9798a840   rip = 0x0000000001b31990
    rsp = 0x00007fff9798a430   rbp = 0x00007fff9798a6d0
    Found by: call frame info
16  phantomjs!QNetworkReplyImplPrivate::setup [qnetworkreplyimpl.cpp : 374 + 0x7]
    rbx = 0x00007fff9798a630   r12 = 0x0000000000000002
    r13 = 0x0000000003c15220   r14 = 0x000000000387a7e0
    r15 = 0x00007fff9798a840   rip = 0x0000000001b33340
    rsp = 0x00007fff9798a4c0   rbp = 0x00007fff9798a6d0
    Found by: call frame info
17  phantomjs!QNetworkAccessManager::createRequest [qnetworkaccessmanager.cpp : 1010 + 0x12]
    rbx = 0x0000000003c15220   r12 = 0x0000000003c17450
    r13 = 0x00007fff9798a830   r14 = 0x000000000387a7e0
    r15 = 0x00007fff9798a840   rip = 0x0000000001b11af5
    rsp = 0x00007fff9798a780   rbp = 0x00007fff9798a8e0
    Found by: call frame info
18  phantomjs!NetworkAccessManager::createRequest [networkaccessmanager.cpp : 243 + 0x1a]
    rbx = 0x00007fff9798aaa0   r12 = 0x00007fff9798aca0
    r13 = 0x00007fff9798ab20   r14 = 0x00007fff9798a9e0
    r15 = 0x00007fff9798ab50   rip = 0x000000000042d05a
    rsp = 0x00007fff9798a940   rbp = 0x00007fff9798aa90
    Found by: call frame info
19  phantomjs!QNetworkAccessManager::get [qnetworkaccessmanager.cpp : 598 + 0xc]
    rbx = 0x000000000387a770   r12 = 0x00000000038d6038
    r13 = 0x00000000038773a0   r14 = 0x000000000387a770
    r15 = 0x0000000000000000   rip = 0x0000000001b0ee54
    rsp = 0x00007fff9798adc0   rbp = 0x00000000038d6010
    Found by: call frame info
20  phantomjs!WebCore::QNetworkReplyHandler::sendNetworkRequest [QNetworkReplyHandler.cpp : 634 + 0xa]
    rbx = 0x00007fff9798ae10   r12 = 0x00000000038d6038
    r13 = 0x00000000038773a0   r14 = 0x000000000387a770
    r15 = 0x0000000000000000   rip = 0x0000000000adccb2
    rsp = 0x00007fff9798add0   rbp = 0x00000000038d6010
    Found by: call frame info
21  phantomjs!WebCore::QNetworkReplyHandler::start [QNetworkReplyHandler.cpp : 673 + 0x14]
    rbx = 0x00007f7f65f4bb80   r12 = 0x00007f7f65f1c180
    r13 = 0x00007f7f65e09060   r14 = 0x00000000038d6048
    r15 = 0x00000000038d6010   rip = 0x0000000000add7ec
    rsp = 0x00007fff9798af10   rbp = 0x00000000038d6010
    Found by: call frame info
22  phantomjs!WebCore::QNetworkReplyHandlerCallQueue::flush [QNetworkReplyHandler.cpp : 198 + 0x28]
    rbx = 0x00000000038cd4d8   r12 = 0x00007f7f65f1c180
    r13 = 0x00007f7f65e09060   r14 = 0x00000000038d6048
    r15 = 0x00000000038d6010   rip = 0x0000000000adaa81
    rsp = 0x00007fff9798af40   rbp = 0x00000000038cd4c0
    Found by: call frame info
23  phantomjs!WebCore::ResourceHandle::loadResourceSynchronously [QNetworkReplyHandler.h : 124 + 0x11]
    rbx = 0x00000000038d6010   r12 = 0x00007f7f65f1c180
    r13 = 0x00007f7f65e09060   r14 = 0x00007f7f65f4bc60
    r15 = 0x00007fff9798b060   rip = 0x0000000000ad82d0
    rsp = 0x00007fff9798af90   rbp = 0x00007f7f65f4bb80
    Found by: call frame info
24  phantomjs!WebCore::FrameLoader::loadResourceSynchronously [FrameLoader.cpp : 2884 + 0x21]
    rbx = 0x0000000000000010   r12 = 0x00000000004b9d70
    r13 = 0x00007f7f666d3278   r14 = 0x00007fff9798b130
    r15 = 0x00007fff9798b060   rip = 0x000000000085c7e2
    rsp = 0x00007fff9798b030   rbp = 0x0000000003849e20
    Found by: call frame info
25  phantomjs!WebCore::DocumentThreadableLoader::loadRequest [DocumentThreadableLoader.cpp : 365 + 0x1c]
    rbx = 0x00007fff9798b5a0   r12 = 0x00007fff9798b5a0
    r13 = 0x00007fff9798b2d0   r14 = 0x0000000000000000
    r15 = 0x00007fff9798b3b0   rip = 0x00000000015186b1
    rsp = 0x00007fff9798b2a0   rbp = 0x00007f7f6624c820
    Found by: call frame info
26  phantomjs!WebCore::DocumentThreadableLoader::DocumentThreadableLoader [DocumentThreadableLoader.cpp : 80 + 0xf]
    rbx = 0x00007fff9798b5a0   r12 = 0x00007f7f6624c820
    r13 = 0x00000000ffffffff   r14 = 0x00007f7f65e71400
    r15 = 0x0000000000000000   rip = 0x0000000001519b21
    rsp = 0x00007fff9798b450   rbp = 0x00007f7f65e714d0
    Found by: call frame info
27  phantomjs!WebCore::DocumentThreadableLoader::loadResourceSynchronously [DocumentThreadableLoader.cpp : 54 + 0x1e]
    rbx = 0x00007fff9798b670   r12 = 0x00007fff9798b5a0
    r13 = 0x00007f7f6628fb10   r14 = 0x00007f7f65e71400
    r15 = 0x0000000000000000   rip = 0x000000000151a39e
    rsp = 0x00007fff9798b530   rbp = 0x00007f7f6624c820
    Found by: call frame info
28  phantomjs!WebCore::XMLHttpRequest::createRequest [XMLHttpRequest.cpp : 662 + 0x23]
    rbx = 0x00007f7f6628fb10   r12 = 0x00007fff9798b5a0
    r13 = 0x00007f7f6628fb38   r14 = 0x00007f7f669690f8
    r15 = 0x0000000000000000   rip = 0x0000000000abc804
    rsp = 0x00007fff9798b580   rbp = 0x00007f7f6628fb00
    Found by: call frame info
29  phantomjs!WebCore::XMLHttpRequest::send [XMLHttpRequest.cpp : 536 + 0xa]
    rbx = 0x00007f7f6628fb00   r12 = 0x00007fff9798b870
    r13 = 0x00007f7f643ab480   r14 = 0x00007f7f669690f8
    r15 = 0xffff000000000002   rip = 0x0000000000ac15c4
    rsp = 0x00007fff9798b700   rbp = 0x00007fff9798b8ec
    Found by: call frame info
30  phantomjs!WebCore::XMLHttpRequest::send [XMLHttpRequest.cpp : 476 + 0x7]
    rbx = 0x00007f7f65e714d0   r12 = 0x0000000000000200
    r13 = 0x00007f7f643ab480   r14 = 0x00007f7f669690f8
    r15 = 0xffff000000000002   rip = 0x0000000000ac1ee4
    rsp = 0x00007fff9798b870   rbp = 0x00007f7f6628fb00
    Found by: call frame info
31  phantomjs!WebCore::JSXMLHttpRequest::send [JSXMLHttpRequestCustom.cpp : 118 + 0xd]
    rbx = 0x00007f7f65e714d0   r12 = 0x0000000000000200
    r13 = 0x00007f7f643ab480   r14 = 0x00007f7f669690f8
    r15 = 0xffff000000000002   rip = 0x00000000014fd06e
    rsp = 0x00007fff9798b8a0   rbp = 0x00007f7f6628fb00
    Found by: call frame info
32  phantomjs!WebCore::jsXMLHttpRequestPrototypeFunctionSend [JSXMLHttpRequest.cpp : 511 + 0xa]
    rbx = 0x00007f7f20070ad0   r12 = 0x0000000000000200
    r13 = 0x00007f7f66969088   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x00000000014202d7
    rsp = 0x00007fff9798b920   rbp = 0x00007fff9798b9e0
    Found by: call frame info
33  0x7f7f200001e7
    rbx = 0x00007f7f20070ad0   r12 = 0x0000000000000200
    r13 = 0x00007f7f66969088   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x00007f7f200001e8
    rsp = 0x00007fff9798b930   rbp = 0x00007fff9798b9e0
    Found by: call frame info
34  phantomjs!JSC::Interpreter::execute [JITCode.h : 77 + 0x7]
    rip = 0x0000000000f2c1eb   rsp = 0x00007fff9798b9f0
    Found by: stack scanning
35  phantomjs!JSC::evaluate [Completion.cpp : 64 + 0x1b]
    rbx = 0x00007f7f6a61d868   r12 = 0x00007f7f64480d50
    r13 = 0x00007fff9798bc98   r14 = 0x00007f7f669555c0
    r15 = 0x00007f7f643a9880   rip = 0x00000000004f9538
    rsp = 0x00007fff9798ba70   rbp = 0x00007f7f669555d8
    Found by: call frame info
36  phantomjs!WebCore::ScriptController::evaluateInWorld [JSMainThreadExecState.h : 54 + 0x4]
    rbx = 0x0000000002acad10   r12 = 0x0000000000000000
    r13 = 0x00007f7f666d3618   r14 = 0x00007f7f666d3200
    r15 = 0x00007f7f65d24790   rip = 0x00000000005291da
    rsp = 0x00007fff9798bb20   rbp = 0x00007f7f669555d8
    Found by: call frame info
37  phantomjs!WebCore::ScriptController::evaluate [ScriptController.cpp : 167 + 0x15]
    rbx = 0x00007fff9798bc90   r12 = 0x00007f7f666d3618
    r13 = 0x00007fff9798bc30   r14 = 0x00007fff9798bfc0
    r15 = 0x0000000000000001   rip = 0x00000000005294d2
    rsp = 0x00007fff9798bc10   rbp = 0x00007fff9798bc90
    Found by: call frame info
38  phantomjs!WebCore::ScriptElement::executeScript [ScriptElement.cpp : 283 + 0x11]
    rbx = 0x0000000000000000   r12 = 0x00007f7f65e71400
    r13 = 0x0000000000000001   r14 = 0x00007fff9798bfc0
    r15 = 0x0000000000000001   rip = 0x000000000106ed24
    rsp = 0x00007fff9798bc30   rbp = 0x00007fff9798bc90
    Found by: call frame info
39  phantomjs!WebCore::ScriptElement::prepareScript [ScriptElement.cpp : 240 + 0x4]
    rbx = 0x00007f7f66406380   r12 = 0x000000000000000e
    r13 = 0x00007f7f65e715d0   r14 = 0x00007fff9798bfc0
    r15 = 0x0000000000000001   rip = 0x0000000001071954
    rsp = 0x00007fff9798bc70   rbp = 0x00007f7f6a69c5f8
    Found by: call frame info
40  phantomjs!WebCore::HTMLScriptRunner::runScript [HTMLScriptRunner.cpp : 296 + 0xc]
    rbx = 0x00007fff9798bfc0   r12 = 0x00007f7f16f57f58
    r13 = 0x00007f7f16f57f00   r14 = 0x00007f7f6a69c580
    r15 = 0x00007fff9798bfc0   rip = 0x00000000007c0053
    rsp = 0x00007fff9798bda0   rbp = 0x00007f7f6a69c5f8
    Found by: call frame info
41  phantomjs!WebCore::HTMLScriptRunner::execute [HTMLScriptRunner.cpp : 170 + 0x4]
    rbx = 0x00007fff9798bfc0   r12 = 0x00007fff9798bfe0
    r13 = 0x0000000000000001   r14 = 0x00007f7f6634a320
    r15 = 0x00007fff9798c050   rip = 0x00000000007c104f
    rsp = 0x00007fff9798bf90   rbp = 0x00007f7f16f57f00
    Found by: call frame info
42  phantomjs!WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder [HTMLDocumentParser.cpp : 205 + 0x13]
    rbx = 0x00007f7f66349200   r12 = 0x0000000000000000
    r13 = 0x00007f7f66349238   r14 = 0x00007f7f6634a320
    r15 = 0x00007fff9798c050   rip = 0x00000000007b5a34
    rsp = 0x00007fff9798bfc0   rbp = 0x00007fff9798c050
    Found by: call frame info
43  phantomjs!WebCore::HTMLDocumentParser::canTakeNextToken [HTMLDocumentParser.cpp : 223 + 0x7]
    rbx = 0x00007f7f66349200   r12 = 0x0000000000000000
    r13 = 0x00007f7f66349238   r14 = 0x00007f7f6634a320
    r15 = 0x00007fff9798c050   rip = 0x00000000007b5b4d
    rsp = 0x00007fff9798c010   rbp = 0x00007fff9798c050
    Found by: call frame info
44  phantomjs!WebCore::HTMLDocumentParser::pumpTokenizer [HTMLDocumentParser.cpp : 261 + 0xe]
    rbx = 0x00007f7f663492a8   r12 = 0x00007f7f6634a2a8
    r13 = 0x00007f7f66349238   r14 = 0x00007f7f6634a320
    r15 = 0x00007fff9798c050   rip = 0x00000000007b67e6
    rsp = 0x00007fff9798c030   rbp = 0x00007f7f66349200
    Found by: call frame info
45  phantomjs!WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets [HTMLDocumentParser.cpp : 175 + 0x9]
    rbx = 0x00007f7f66349200   r12 = 0x0000000000000000
    r13 = 0x00007f7f65e0f4b0   r14 = 0x00007f7f65e0f538
    r15 = 0x00007f7f663b8e40   rip = 0x00000000007b71ec
    rsp = 0x00007fff9798c0d0   rbp = 0x0000000000000001
    Found by: call frame info
46  phantomjs!WebCore::Document::removePendingSheet [Document.cpp : 2898 + 0xb]
    rbx = 0x00007f7f65e71400   r12 = 0x0000000000000000
    r13 = 0x00007f7f65e0f4b0   r14 = 0x00007f7f65e0f538
    r15 = 0x00007f7f663b8e40   rip = 0x000000000060f5cd
    rsp = 0x00007fff9798c0f0   rbp = 0x00007f7f661e9428
    Found by: call frame info
47  phantomjs!WebCore::HTMLLinkElement::sheetLoaded [HTMLLinkElement.cpp : 529 + 0x8]
    rbx = 0x00007f7f65e0f4b0   r12 = 0x0000000000000000
    r13 = 0x00007f7f65e0f4b0   r14 = 0x00007f7f65e0f538
    r15 = 0x00007f7f663b8e40   rip = 0x0000000000787300
    rsp = 0x00007fff9798c100   rbp = 0x00007f7f661e9428
    Found by: call frame info
48  phantomjs!WebCore::CSSStyleSheet::checkLoaded [CSSStyleSheet.cpp : 230 + 0x12]
    rbx = 0x00007f7f661e9420   r12 = 0x0000000000000000
    r13 = 0x00007f7f65e0f4b0   r14 = 0x00007f7f65e0f538
    r15 = 0x00007f7f663b8e40   rip = 0x00000000005e3c44
    rsp = 0x00007fff9798c110   rbp = 0x00007f7f661e9428
    Found by: call frame info
49  phantomjs!WebCore::HTMLLinkElement::setCSSStyleSheet [HTMLLinkElement.cpp : 421 + 0x8]
    rbx = 0x00007f7f660abab8   r12 = 0x0000000000000000
    r13 = 0x00007f7f65e0f4b0   r14 = 0x00007f7f65e0f538
    r15 = 0x00007f7f663b8e40   rip = 0x0000000000788f81
    rsp = 0x00007fff9798c130   rbp = 0x0000000000000001
    Found by: call frame info
50  phantomjs!WebCore::CachedCSSStyleSheet::checkNotify [CachedCSSStyleSheet.cpp : 116 + 0x3a]
    rbx = 0x00007f7f65e0f528   r12 = 0x00007fff9798c1f0
    r13 = 0x0000000000788d20   r14 = 0x00007f7f663b8fb0
    r15 = 0x00007f7f663b8fa8   rip = 0x000000000082bdfc
    rsp = 0x00007fff9798c1c0   rbp = 0x00007f7f663b8e00
    Found by: call frame info
51  phantomjs!WebCore::CachedCSSStyleSheet::data [CachedCSSStyleSheet.cpp : 104 + 0x7]
    rbx = 0x00007f7f6a5f93e0   r12 = 0x00007f7f663b8e00
    r13 = 0x0000000000000001   r14 = 0x00007f7f663b8fb0
    r15 = 0x00007f7f663b8fa8   rip = 0x000000000082c465
    rsp = 0x00007fff9798c230   rbp = 0x00007f7f661e5ea0
    Found by: call frame info
52  phantomjs!WebCore::CachedResourceRequest::didFinishLoading [CachedResourceRequest.cpp : 166 + 0x29]
    rbx = 0x00007f7f663bf960   r12 = 0x00007f7f65e71400
    r13 = 0x00007f7f66266000   r14 = 0x000000000082c2f0
    r15 = 0x0000000000000001   rip = 0x000000000113cc67
    rsp = 0x00007fff9798c290   rbp = 0x00007f7f66266000
    Found by: call frame info
53  phantomjs!WebCore::SubresourceLoader::didFinishLoading [SubresourceLoader.cpp : 196 + 0x13]
    rbx = 0x00007f7f66266000   r12 = 0x0000000000000000
    r13 = 0x00007f7f66266000   r14 = 0x0000000003cf8a80
    r15 = 0x0000000003cf8a70   rip = 0x0000000000890412
    rsp = 0x00007fff9798c2e0   rbp = 0x0000000000000001
    Found by: call frame info
54  phantomjs!WebCore::QNetworkReplyHandler::finish [QNetworkReplyHandler.cpp : 462 + 0x11]
    rbx = 0x0000000003cf8a70   r12 = 0x0000000000000001
    r13 = 0x00007f7f66266000   r14 = 0x0000000003cf8a80
    r15 = 0x0000000003cf8a70   rip = 0x0000000000adf872
    rsp = 0x00007fff9798c310   rbp = 0x0000000003c16140
    Found by: call frame info
55  phantomjs!WebCore::QNetworkReplyHandlerCallQueue::flush [QNetworkReplyHandler.cpp : 198 + 0x28]
    rbx = 0x0000000003c16160   r12 = 0x0000000000000001
    r13 = 0x0000000000add5c0   r14 = 0x0000000003cf8aa8
    r15 = 0x0000000003cf8a70   rip = 0x0000000000adaa81
    rsp = 0x00007fff9798c4a0   rbp = 0x0000000003c16140
    Found by: call frame info
56  phantomjs!QMetaObject::activate [qobject.cpp : 3539 + 0x1e]
    rbx = 0x0000000000000004   r12 = 0x0000000000000001
    r13 = 0x0000000000add5c0   r14 = 0x0000000000000001
    r15 = 0x0000000003bf3dc0   rip = 0x0000000001cf6ec8
    rsp = 0x00007fff9798c4f0   rbp = 0x0000000003d22df0
    Found by: call frame info
57  phantomjs!QNetworkReplyImplPrivate::finished [qnetworkreplyimpl.cpp : 795 + 0x7]
    rbx = 0x0000000000000001   r12 = 0x0000000000000001
    r13 = 0x0000000003bf6720   r14 = 0x00007fff9798c680
    r15 = 0x0000000000000001   rip = 0x0000000001b32375
    rsp = 0x00007fff9798c610   rbp = 0x0000000003bf0240
    Found by: call frame info
58  phantomjs!QNetworkAccessHttpBackend::qt_static_metacall [moc_qnetworkaccesshttpbackend_p.cpp : 96 + 0x4]
    rbx = 0x00007f7f1815b750   r12 = 0x00007f7f180e3290
    r13 = 0x00000000035a0ab0   r14 = 0x000000000359e208
    r15 = 0x00007f7f180e3290   rip = 0x0000000001ba6fa5
    rsp = 0x00007fff9798c6e0   rbp = 0x0000000003bf0460
    Found by: call frame info
59  phantomjs!QObject::event [qobject.cpp : 1191 + 0x8]
    rbx = 0x0000000003bf0460   r12 = 0x00007f7f180e3290
    r13 = 0x00000000035a0ab0   r14 = 0x000000000359e208
    r15 = 0x00007f7f180e3290   rip = 0x0000000001cefbf8
    rsp = 0x00007fff9798c770   rbp = 0x0000000000000000
    Found by: call frame info
60  phantomjs!QApplicationPrivate::notify_helper [qapplication.cpp : 4562 + 0xc]
    rbx = 0x00007fff9798d0d0   r12 = 0x00007f7f180e3290
    r13 = 0x00000000035a0ab0   r14 = 0x000000000359e208
    r15 = 0x00007f7f180e3290   rip = 0x00000000015decaf
    rsp = 0x00007fff9798c910   rbp = 0x0000000003bf0460
    Found by: call frame info
61  phantomjs!QApplication::notify [qapplication.cpp : 4423 + 0x17]
    rbx = 0x00007fff9798d0d0   r12 = 0x00007f7f180e3290
    r13 = 0x00007fff9798d0d0   r14 = 0x000000000359e208
    r15 = 0x00007f7f180e3290   rip = 0x00000000015e793b
    rsp = 0x00007fff9798c940   rbp = 0x0000000003bf0460
    Found by: call frame info
62  phantomjs!QCoreApplication::notifyInternal [qcoreapplication.cpp : 946 + 0x2]
    rbx = 0x000000000359e1c0   r12 = 0x00007f7f180e3290
    r13 = 0x00007fff9798d0d0   r14 = 0x000000000359e208
    r15 = 0x000000000359e1fc   rip = 0x0000000001cde3a4
    rsp = 0x00007fff9798ce10   rbp = 0x0000000003bf0460
    Found by: call frame info
63  phantomjs!QCoreApplicationPrivate::sendPostedEvents [qcoreapplication.h : 231 + 0x1f]
    rbx = 0x00007f7f180e3290   r12 = 0x000000000359e1c0
    r13 = 0x0000000003bf0460   r14 = 0x000000000359e208
    r15 = 0x000000000359e1fc   rip = 0x0000000001cdf304
    rsp = 0x00007fff9798ce60   rbp = 0x00007f7f18108f00
    Found by: call frame info
64  phantomjs!QEventDispatcherQPA::processEvents [qcoreapplication.h : 236 + 0xb]
    rbx = 0x0000000003847550   r12 = 0x0000000000000000
    r13 = 0x000000000359d560   r14 = 0x00007fff9798cf60
    r15 = 0x000000000359e2d8   rip = 0x000000000163a623
    rsp = 0x00007fff9798cf20   rbp = 0x00000000035a2030
    Found by: call frame info
65  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x0000000003847550   r12 = 0x00007fff9798cff0
    r13 = 0x00007fff9798d000   r14 = 0x000000000359e230
    r15 = 0x000000000359e2d8   rip = 0x0000000001cdd485
    rsp = 0x00007fff9798cf60   rbp = 0x00007fff9798cfa0
    Found by: call frame info
66  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x0000000003847550   r12 = 0x00007fff9798cff0
    r13 = 0x00007fff9798d000   r14 = 0x000000000359e230
    r15 = 0x000000000359e2d8   rip = 0x0000000001cdd8e8
    rsp = 0x00007fff9798cf90   rbp = 0x00007fff9798d0d0
    Found by: call frame info
67  phantomjs!QCoreApplication::exec [qcoreapplication.cpp : 1218 + 0x4]
    rbx = 0x000000000359e1c0   r12 = 0x00007fff9798d0d0
    r13 = 0x00007fff9798d280   r14 = 0x00007fff9798d040
    r15 = 0x0000000000000000   rip = 0x0000000001cdf79b
    rsp = 0x00007fff9798cff0   rbp = 0x000000000359e1c0
    Found by: call frame info
68  phantomjs!main [main.cpp : 121 + 0x4]
    rbx = 0x0000000003608000   r12 = 0x00007fff9798d0d0
    r13 = 0x00007fff9798d280   r14 = 0x00007fff9798d040
    r15 = 0x0000000000000000   rip = 0x0000000000427cb2
    rsp = 0x00007fff9798d030   rbp = 0x00007fff9798d268
    Found by: call frame info
69  libc-2.17.so + 0x21ea4
    rbx = 0x0000000000000000   r12 = 0x0000000000407cc0
    r13 = 0x00007fff9798d260   r14 = 0x0000000000000000
    r15 = 0x0000000000000000   rip = 0x00007f7f68ee7ea5
    rsp = 0x00007fff9798d190   rbp = 0x0000000000000000
    Found by: call frame info
70  phantomjs + 0x27a5f
    rip = 0x0000000000427a60   rsp = 0x00007fff9798d1b0
    Found by: stack scanning

Thread 1
 0  libc-2.17.so + 0xc0d3d
    rbx = 0x00007f7f67d69c60   r12 = 0x0000000002aa2160
    r13 = 0x00007f7f1626e330   r14 = 0x0000000002aadb60
    r15 = 0x0000000002aadb30   rip = 0x00007f7f68f86d3d
    rsp = 0x00007f7f67d69c40   rbp = 0x00000000ffffffff
    Found by: given as instruction pointer in context
 1  libc-2.17.so + 0xc0be0
    rip = 0x00007f7f68f86be1   rsp = 0x00007f7f67d69c50
    Found by: stack scanning

Thread 2
 0  libc-2.17.so + 0xf2233
    rbx = 0x0000000000000000   r12 = 0x00007f7f67568d80
    r13 = 0x0000000000000008   r14 = 0x00007f7f60000a98
    r15 = 0x00007f7f60000d30   rip = 0x00007f7f68fb8233
    rsp = 0x00007f7f67568b50   rbp = 0x00007f7f600008e0
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 83 + 0x15]
    rip = 0x0000000001d062f7   rsp = 0x00007f7f67568b60
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f7f600012b0   r12 = 0x00007f7f67568d80
    r13 = 0x00007f7f600008e0   r14 = 0x0000000000000000
    r15 = 0x00007f7f60000d30   rip = 0x0000000001d075b7
    rsp = 0x00007f7f67568bf0   rbp = 0x00007f7f600008e0
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f7f600012b0   r12 = 0x00007f7f67568d80
    r13 = 0x00007f7f600008c0   r14 = 0x0000000000000001
    r15 = 0x000000000360b8b8   rip = 0x0000000001d08062
    rsp = 0x00007f7f67568d30   rbp = 0x00007f7f600008e0
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f7f600012b0   r12 = 0x00007f7f67568e10
    r13 = 0x00007f7f67568e20   r14 = 0x000000000359e230
    r15 = 0x000000000360b8b8   rip = 0x0000000001cdd485
    rsp = 0x00007f7f67568d80   rbp = 0x00007f7f67568dc0
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f7f600012b0   r12 = 0x00007f7f67568e10
    r13 = 0x00007f7f67568e20   r14 = 0x000000000359e230
    r15 = 0x000000000360b8b8   rip = 0x0000000001cdd8e8
    rsp = 0x00007f7f67568db0   rbp = 0x00007fff9798d0d0
    Found by: call frame info
 6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x000000000360b830   r12 = 0x000000000360b8b8
    r13 = 0x0000000000000001   r14 = 0x00007fff9798c5b0
    r15 = 0x0000000000001000   rip = 0x0000000001bdfdd6
    rsp = 0x00007f7f67568e10   rbp = 0x000000000360b8b8
    Found by: call frame info
 7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x000000000360b8b8   r12 = 0x00000000035e7930
    r13 = 0x0000000000000001   r14 = 0x00007fff9798c5b0
    r15 = 0x0000000000001000   rip = 0x0000000001be2ca2
    rsp = 0x00007f7f67568e60   rbp = 0x00000000035fe290
    Found by: call frame info
 8  libpthread-2.17.so + 0x7f8d
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x00007f7f6a7cf060   r14 = 0x00007fff9798c5b0
    r15 = 0x0000000000001000   rip = 0x00007f7f69ab3f8e
    rsp = 0x00007f7f67568eb0   rbp = 0x0000000000000000
    Found by: call frame info

Thread 3
 0  libc-2.17.so + 0xf2233
    rbx = 0x00007f7f65d22d30   r12 = 0x00000000000ab508
    r13 = 0x0000000000000024   r14 = 0x00007f7f18000a98
    r15 = 0x00007f7f18000d30   rip = 0x00007f7f68fb8233
    rsp = 0x00007f7f65d22b50   rbp = 0x0000000000078e36
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 93 + 0x16]
    rip = 0x0000000001d061f8   rsp = 0x00007f7f65d22b60
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f7f180012b0   r12 = 0x00007f7f65d22d80
    r13 = 0x00007f7f180008e0   r14 = 0x00007f7f65d22d30
    r15 = 0x00007f7f18000d30   rip = 0x0000000001d075b7
    rsp = 0x00007f7f65d22bf0   rbp = 0x00007f7f180008e0
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f7f180012b0   r12 = 0x00007f7f65d22d80
    r13 = 0x00007f7f180008c0   r14 = 0x0000000000000001
    r15 = 0x000000000388b4e8   rip = 0x0000000001d08062
    rsp = 0x00007f7f65d22d30   rbp = 0x00007f7f180008e0
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f7f180012b0   r12 = 0x00007f7f65d22e10
    r13 = 0x00007f7f65d22e20   r14 = 0x000000000359e230
    r15 = 0x000000000388b4e8   rip = 0x0000000001cdd485
    rsp = 0x00007f7f65d22d80   rbp = 0x00007f7f65d22dc0
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f7f180012b0   r12 = 0x00007f7f65d22e10
    r13 = 0x00007f7f65d22e20   r14 = 0x000000000359e230
    r15 = 0x000000000388b4e8   rip = 0x0000000001cdd8e8
    rsp = 0x00007f7f65d22db0   rbp = 0x00007fff9798d0d0
    Found by: call frame info
 6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x000000000388b460   r12 = 0x000000000388b4e8
    r13 = 0x0000000000000001   r14 = 0x00007fff97988d60
    r15 = 0x0000000000001000   rip = 0x0000000001bdfdd6
    rsp = 0x00007f7f65d22e10   rbp = 0x000000000388b4e8
    Found by: call frame info
 7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x000000000388b4e8   r12 = 0x000000000388b5a0
    r13 = 0x0000000000000001   r14 = 0x00007fff97988d60
    r15 = 0x0000000000001000   rip = 0x0000000001be2ca2
    rsp = 0x00007f7f65d22e60   rbp = 0x000000000388b440
    Found by: call frame info
 8  libpthread-2.17.so + 0x7f8d
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x00007f7f6a7cf060   r14 = 0x00007fff97988d60
    r15 = 0x0000000000001000   rip = 0x00007f7f69ab3f8e
    rsp = 0x00007f7f65d22eb0   rbp = 0x0000000000000000
    Found by: call frame info

Thread 4
 0  libpthread-2.17.so + 0xc05e
    rbx = 0x00007f7f180053c0   r12 = 0x000000000000000d
    r13 = 0x00007f7f65521dc0   r14 = 0xffffffffffffff92
    r15 = 0x00007f7f18005300   rip = 0x00007f7f69ab805e
    rsp = 0x00007f7f65521d40   rbp = 0x00007f7f18005690
    Found by: given as instruction pointer in context
 1  linux-gate.so + 0xd00
    rip = 0x00007fff979fed01   rsp = 0x00007f7f65521d68
    Found by: stack scanning
 2  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 84 + 0x7]
    rip = 0x0000000001be39b7   rsp = 0x00007f7f65521da0
    Found by: stack scanning
 3  phantomjs!QThreadPoolThread::run [qthreadpool.cpp : 141 + 0x1d]
    rbx = 0x00007f7f180052e0   r12 = 0x00007f7f18005369
    r13 = 0x0000000000000002   r14 = 0x00007f7f180b4b30
    r15 = 0x0000000000001000   rip = 0x0000000001bd781d
    rsp = 0x00007f7f65521e20   rbp = 0x00007f7f18005690
    Found by: call frame info
 4  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00007f7f1c0012b0   r12 = 0x00007f7f18005830
    r13 = 0x0000000000000001   r14 = 0x00007f7f65d21590
    r15 = 0x0000000000001000   rip = 0x0000000001be2ca2
    rsp = 0x00007f7f65521e60   rbp = 0x00007f7f18005690
    Found by: call frame info
 5  libpthread-2.17.so + 0x7f8d
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x00007f7f6a7cf060   r14 = 0x00007f7f65d21590
    r15 = 0x0000000000001000   rip = 0x00007f7f69ab3f8e
    rsp = 0x00007f7f65521eb0   rbp = 0x0000000000000000
    Found by: call frame info

Thread 5
 0  libpthread-2.17.so + 0xc05e
    rbx = 0x00007f7f180053c0   r12 = 0x000000000000000a
    r13 = 0x00007f7f16ea2dc0   r14 = 0xffffffffffffff92
    r15 = 0x00007f7f18005300   rip = 0x00007f7f69ab805e
    rsp = 0x00007f7f16ea2d40   rbp = 0x00007f7f18016f30
    Found by: given as instruction pointer in context
 1  linux-gate.so + 0xd00
    rip = 0x00007fff979fed01   rsp = 0x00007f7f16ea2d68
    rbp = 0x00007f7f18016f30
    Found by: stack scanning
 2  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 84 + 0x7]
    rip = 0x0000000001be39b7   rsp = 0x00007f7f16ea2da0
    rbp = 0x00007f7f18016f30
    Found by: stack scanning
 3  phantomjs!QThreadPoolThread::run [qthreadpool.cpp : 141 + 0x1d]
    rbx = 0x00007f7f180052e0   r12 = 0x00007f7f18005369
    r13 = 0x0000000000000002   r14 = 0x00007f7f65d20ce0
    r15 = 0x0000000000000011   rip = 0x0000000001bd781d
    rsp = 0x00007f7f16ea2e20   rbp = 0x00007f7f18016f30
    Found by: call frame info
 4  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00007f7f10005570   r12 = 0x00007f7f18017210
    r13 = 0x0000000000000001   r14 = 0x00007f7f65d20ce0
    r15 = 0x0000000000000011   rip = 0x0000000001be2ca2
    rsp = 0x00007f7f16ea2e60   rbp = 0x00007f7f18016f30
    Found by: call frame info
 5  libpthread-2.17.so + 0x7f8d
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x00000000038c3c00   r14 = 0x00007f7f65d20ce0
    r15 = 0x0000000000000011   rip = 0x00007f7f69ab3f8e
    rsp = 0x00007f7f16ea2eb0   rbp = 0x0000000000000000
    Found by: call frame info

Thread 6
 0  libpthread-2.17.so + 0xc05e
    rbx = 0x00007f7f180053c0   r12 = 0x000000000000000b
    r13 = 0x00007f7f157eedc0   r14 = 0xffffffffffffff92
    r15 = 0x00007f7f18005300   rip = 0x00007f7f69ab805e
    rsp = 0x00007f7f157eed40   rbp = 0x00007f7f1801f4c0
    Found by: given as instruction pointer in context
 1  linux-gate.so + 0xd00
    rip = 0x00007fff979fed01   rsp = 0x00007f7f157eed68
    rbp = 0x00007f7f1801f4c0
    Found by: stack scanning
 2  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 84 + 0x7]
    rip = 0x0000000001be39b7   rsp = 0x00007f7f157eeda0
    rbp = 0x00007f7f1801f4c0
    Found by: stack scanning
 3  phantomjs!QThreadPoolThread::run [qthreadpool.cpp : 141 + 0x1d]
    rbx = 0x00007f7f180052e0   r12 = 0x00007f7f18005369
    r13 = 0x0000000000000002   r14 = 0x00007f7f65d20ce0
    r15 = 0x0000000000001000   rip = 0x0000000001bd781d
    rsp = 0x00007f7f157eee20   rbp = 0x00007f7f1801f4c0
    Found by: call frame info
 4  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00007f7f080012b0   r12 = 0x00007f7f1801f770
    r13 = 0x0000000000000001   r14 = 0x00007f7f65d20ce0
    r15 = 0x0000000000001000   rip = 0x0000000001be2ca2
    rsp = 0x00007f7f157eee60   rbp = 0x00007f7f1801f4c0
    Found by: call frame info
 5  libpthread-2.17.so + 0x7f8d
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x00007f7f6a7cf060   r14 = 0x00007f7f65d20ce0
    r15 = 0x0000000000001000   rip = 0x00007f7f69ab3f8e
    rsp = 0x00007f7f157eeeb0   rbp = 0x0000000000000000
    Found by: call frame info

Thread 7
 0  libc-2.17.so + 0xf2233
    rbx = 0x00007f7f14fed250   r12 = 0x00000000000ab508
    r13 = 0x000000000000002a   r14 = 0x00007f7f0c008bb8
    r15 = 0x00007f7f0c008e50   rip = 0x00007f7f68fb8233
    rsp = 0x00007f7f14fed070   rbp = 0x00000000000f21f4
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 93 + 0x16]
    rip = 0x0000000001d061f8   rsp = 0x00007f7f14fed080
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f7f0c00faa0   r12 = 0x00007f7f14fed2a0
    r13 = 0x00007f7f0c008a00   r14 = 0x00007f7f14fed250
    r15 = 0x00007f7f0c008e50   rip = 0x0000000001d075b7
    rsp = 0x00007f7f14fed110   rbp = 0x00007f7f0c008a00
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f7f0c00faa0   r12 = 0x00007f7f14fed2a0
    r13 = 0x00007f7f0c00df00   r14 = 0x0000000000000001
    r15 = 0x000000000394b7d8   rip = 0x0000000001d08062
    rsp = 0x00007f7f14fed250   rbp = 0x00007f7f0c008a00
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f7f0c00faa0   r12 = 0x00007f7f14fed470
    r13 = 0x00007f7f14fed490   r14 = 0x000000000359e230
    r15 = 0x000000000394b7d8   rip = 0x0000000001cdd485
    rsp = 0x00007f7f14fed2a0   rbp = 0x00007f7f14fed2e0
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f7f0c00faa0   r12 = 0x00007f7f14fed470
    r13 = 0x00007f7f14fed490   r14 = 0x000000000359e230
    r15 = 0x000000000394b7d8   rip = 0x0000000001cdd8e8
    rsp = 0x00007f7f14fed2d0   rbp = 0x00007fff9798d0d0
    Found by: call frame info
 6  phantomjs!QHttpThreadDelegate::startRequestSynchronously [qhttpthreaddelegate.cpp : 228 + 0xf]
    rbx = 0x00000000038d9820   r12 = 0x00007f7f14fed470
    r13 = 0x00000000035a0ab0   r14 = 0x000000000394b8d8
    r15 = 0x00000000038d9940   rip = 0x0000000001b43f8d
    rsp = 0x00007f7f14fed330   rbp = 0x0000000000000000
    Found by: call frame info
 7  phantomjs!QHttpThreadDelegate::qt_static_metacall [moc_qhttpthreaddelegate_p.cpp : 120 + 0x4]
    rbx = 0x00000000038d9820   r12 = 0x00000000038d9940
    r13 = 0x00000000035a0ab0   r14 = 0x000000000394b8d8
    r15 = 0x00000000038d9940   rip = 0x0000000001ba7fda
    rsp = 0x00007f7f14fed4c0   rbp = 0x0000000000000000
    Found by: call frame info
 8  phantomjs!QObject::event [qobject.cpp : 1191 + 0x8]
    rbx = 0x00000000038d9820   r12 = 0x00000000038d9940
    r13 = 0x00000000035a0ab0   r14 = 0x000000000394b8d8
    r15 = 0x00000000038d9940   rip = 0x0000000001cefbf8
    rsp = 0x00007f7f14fed580   rbp = 0x0000000000000000
    Found by: call frame info
 9  phantomjs!QApplicationPrivate::notify_helper [qapplication.cpp : 4562 + 0xc]
    rbx = 0x00007fff9798d0d0   r12 = 0x00000000038d9940
    r13 = 0x00000000035a0ab0   r14 = 0x000000000394b8d8
    r15 = 0x00000000038d9940   rip = 0x00000000015decaf
    rsp = 0x00007f7f14fed720   rbp = 0x00000000038d9820
    Found by: call frame info
10  phantomjs!QApplication::notify [qapplication.cpp : 4423 + 0x17]
    rbx = 0x00007fff9798d0d0   r12 = 0x00000000038d9940
    r13 = 0x00007fff9798d0d0   r14 = 0x000000000394b8d8
    r15 = 0x00000000038d9940   rip = 0x00000000015e793b
    rsp = 0x00007f7f14fed750   rbp = 0x00000000038d9820
    Found by: call frame info
11  phantomjs!QCoreApplication::notifyInternal [qcoreapplication.cpp : 946 + 0x2]
    rbx = 0x000000000394b890   r12 = 0x00000000038d9940
    r13 = 0x00007fff9798d0d0   r14 = 0x000000000394b8d8
    r15 = 0x000000000394b8cc   rip = 0x0000000001cde3a4
    rsp = 0x00007f7f14fedc20   rbp = 0x00000000038d9820
    Found by: call frame info
12  phantomjs!QCoreApplicationPrivate::sendPostedEvents [qcoreapplication.h : 231 + 0x1f]
    rbx = 0x00000000038d9940   r12 = 0x000000000394b890
    r13 = 0x00000000038d9820   r14 = 0x000000000394b8d8
    r15 = 0x000000000394b8cc   rip = 0x0000000001cdf304
    rsp = 0x00007f7f14fedc70   rbp = 0x00000000038d99f0
    Found by: call frame info
13  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 909 + 0xc]
    rbx = 0x00007f7f0c011ff0   r12 = 0x00007f7f14fedd80
    r13 = 0x00007f7f0c00df00   r14 = 0x0000000000000000
    r15 = 0x000000000394b7d8   rip = 0x0000000001d07ff3
    rsp = 0x00007f7f14fedd30   rbp = 0x00007f7f0c008a00
    Found by: call frame info
14  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f7f0c011ff0   r12 = 0x00007f7f14fede10
    r13 = 0x00007f7f14fede20   r14 = 0x000000000359e230
    r15 = 0x000000000394b7d8   rip = 0x0000000001cdd485
    rsp = 0x00007f7f14fedd80   rbp = 0x00007f7f14feddc0
    Found by: call frame info
15  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f7f0c011ff0   r12 = 0x00007f7f14fede10
    r13 = 0x00007f7f14fede20   r14 = 0x000000000359e230
    r15 = 0x000000000394b7d8   rip = 0x0000000001cdd8e8
    rsp = 0x00007f7f14feddb0   rbp = 0x00007fff9798d0d0
    Found by: call frame info
16  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x000000000394b750   r12 = 0x000000000394b7d8
    r13 = 0x0000000000000001   r14 = 0x00007fff97989b20
    r15 = 0x0000000000000011   rip = 0x0000000001bdfdd6
    rsp = 0x00007f7f14fede10   rbp = 0x000000000394b7d8
    Found by: call frame info
17  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x000000000394b7d8   r12 = 0x000000000394b890
    r13 = 0x0000000000000001   r14 = 0x00007fff97989b20
    r15 = 0x0000000000000011   rip = 0x0000000001be2ca2
    rsp = 0x00007f7f14fede60   rbp = 0x00000000038d5fa0
    Found by: call frame info
18  libpthread-2.17.so + 0x7f8d
    rbx = 0x0000000000000000   r12 = 0x0000000000000000
    r13 = 0x00000000038d7b20   r14 = 0x00007fff97989b20
    r15 = 0x0000000000000011   rip = 0x00007f7f69ab3f8e
    rsp = 0x00007f7f14fedeb0   rbp = 0x0000000000000000
    Found by: call frame info

Loaded modules:
0x00400000 - 0x026b9fff  phantomjs  ???  (main)
0x7f7f16fa4000 - 0x7f7f17ffffff  ukai.ttc  ???
0x7f7f64041000 - 0x7f7f64062fff  LiberationSans-Bold.ttf  ???
0x7f7f64063000 - 0x7f7f64075fff  Umpush-Bold.ttf  ???
0x7f7f64076000 - 0x7f7f64088fff  Garuda-Bold.ttf  ???
0x7f7f64089000 - 0x7f7f6409cfff  Loma-Bold.ttf  ???
0x7f7f6409d000 - 0x7f7f640b1fff  Waree-Bold.ttf  ???
0x7f7f640b2000 - 0x7f7f640c3fff  n019004l.pfb  ???
0x7f7f640c4000 - 0x7f7f640d5fff  luxisb.ttf  ???
0x7f7f640d6000 - 0x7f7f6411bfff  Arial_Bold.ttf  ???
0x7f7f6411c000 - 0x7f7f6413dfff  Verdana_Bold.ttf  ???
0x7f7f6413e000 - 0x7f7f6414cfff  VeraBd.ttf  ???
0x7f7f6414d000 - 0x7f7f641e7fff  DejaVuSansCondensed-Bold.ttf  ???
0x7f7f641e8000 - 0x7f7f641fbfff  Umpush.ttf  ???
0x7f7f641fc000 - 0x7f7f6420efff  Garuda.ttf  ???
0x7f7f6420f000 - 0x7f7f64222fff  Loma.ttf  ???
0x7f7f64223000 - 0x7f7f64238fff  Waree.ttf  ???
0x7f7f64239000 - 0x7f7f64249fff  luxisr.ttf  ???
0x7f7f6424a000 - 0x7f7f6428dfff  Arial.ttf  ???
0x7f7f6428e000 - 0x7f7f642b0fff  Verdana.ttf  ???
0x7f7f642b1000 - 0x7f7f642c1fff  Vera.ttf  ???
0x7f7f642c2000 - 0x7f7f642d5fff  n019003l.pfb  ???
0x7f7f642d6000 - 0x7f7f64373fff  DejaVuSansCondensed.ttf  ???
0x7f7f644db000 - 0x7f7f646e1fff  libnss_dns-2.17.so  ???
0x7f7f646e2000 - 0x7f7f648e4fff  libnss_mdns4_minimal.so.2  ???
0x7f7f648e5000 - 0x7f7f64af1fff  libnss_files-2.17.so  ???
0x7f7f64af2000 - 0x7f7f64d09fff  libresolv-2.17.so  ???
0x7f7f67d6b000 - 0x7f7f67fc6fff  libssl.so.1.0.0  ???
0x7f7f67fc8000 - 0x7f7f6839efff  libcrypto.so.1.0.0  ???
0x7f7f683a3000 - 0x7f7f68a85fff  locale-archive  ???
0x7f7f68a86000 - 0x7f7f68caefff  libexpat.so.1.6.0  ???
0x7f7f68caf000 - 0x7f7f68ec5fff  libz.so.1.2.7  ???
0x7f7f68ec6000 - 0x7f7f69288fff  libc-2.17.so  ???
0x7f7f6928e000 - 0x7f7f694a3fff  libgcc_s.so.1  ???
0x7f7f694a4000 - 0x7f7f697a8fff  libm-2.17.so  ???
0x7f7f697a9000 - 0x7f7f69a96fff  libstdc++.so.6.0.17  ???
0x7f7f69aac000 - 0x7f7f69cc4fff  libpthread-2.17.so  ???
0x7f7f69cc9000 - 0x7f7f69ed0fff  librt-2.17.so  ???
0x7f7f69ed1000 - 0x7f7f6a0d4fff  libdl-2.17.so  ???
0x7f7f6a0d5000 - 0x7f7f6a30dfff  libfontconfig.so.1.6.2  ???
0x7f7f6a30f000 - 0x7f7f6a5abfff  libfreetype.so.6.10.0  ???
0x7f7f6a5ac000 - 0x7f7f6a5cefff  ld-2.17.so  ???
0x7f7f6a711000 - 0x7f7f6a711fff  c05880de57d1f5e948fdfacc138775d9-le64.cache-3  ???
0x7f7f6a712000 - 0x7f7f6a71afff  945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-3  ???
0x7f7f6a71b000 - 0x7f7f6a71efff  99e8ed0e538f840c565b6ed5dad60d56-le64.cache-3  ???
0x7f7f6a71f000 - 0x7f7f6a723fff  2cd17615ca594fa2959ae173292e504c-le64.cache-3  ???
0x7f7f6a724000 - 0x7f7f6a727fff  a46337af8a0b4c9b317ad981ec3bdf87-le64.cache-3  ???
0x7f7f6a728000 - 0x7f7f6a728fff  e7071f4a29fa870f4323321c154eba04-le64.cache-3  ???
0x7f7f6a729000 - 0x7f7f6a729fff  0d8c3b2ac0904cb8a57a757ad11a4a08-le64.cache-3  ???
0x7f7f6a72a000 - 0x7f7f6a72ffff  a755afe4a08bf5b97852ceb7400b47bc-le64.cache-3  ???
0x7f7f6a730000 - 0x7f7f6a738fff  6d41288fd70b0be22e8c3a91e032eec0-le64.cache-3  ???
0x7f7f6a739000 - 0x7f7f6a73bfff  de156ccd2eddbdc19d37a45b8b2aac9c-le64.cache-3  ???
0x7f7f6a73c000 - 0x7f7f6a744fff  a6354e3ac43af67bd8d7b8e43c34e49f-le64.cache-3  ???
0x7f7f6a745000 - 0x7f7f6a754fff  04aabc0a78ac019cf9454389977116d2-le64.cache-3  ???
0x7f7f6a755000 - 0x7f7f6a755fff  1ac9eb803944fde146138c791f5cc56a-le64.cache-3  ???
0x7f7f6a756000 - 0x7f7f6a758fff  385c0604a188198f04d133e54aba7fe7-le64.cache-3  ???
0x7f7f6a759000 - 0x7f7f6a759fff  dc05db6664285cc2f12bf69c139ae4c3-le64.cache-3  ???
0x7f7f6a75a000 - 0x7f7f6a75bfff  767a8244fc0220cfb567a839d0392e0b-le64.cache-3  ???
0x7f7f6a75c000 - 0x7f7f6a75cfff  4794a0821666d79190d59a36cb4f44b5-le64.cache-3  ???
0x7f7f6a75d000 - 0x7f7f6a75ffff  8801497958630a81b71ace7c5f9b32a8-le64.cache-3  ???
0x7f7f6a760000 - 0x7f7f6a78dfff  365b55f210c0a22e9a19e35191240f32-le64.cache-3  ???
0x7f7f6a78e000 - 0x7f7f6a792fff  3047814df9a2f067bd2d96a2b9c36e5a-le64.cache-3  ???
0x7f7f6a793000 - 0x7f7f6a793fff  56cf4f4769d0f4abc89a4895d7bd3ae1-le64.cache-3  ???
0x7f7f6a794000 - 0x7f7f6a794fff  b9d506c9ac06c20b433354fa67a72993-le64.cache-3  ???
0x7f7f6a795000 - 0x7f7f6a799fff  b47c4e1ecd0709278f4910c18777a504-le64.cache-3  ???
0x7f7f6a79a000 - 0x7f7f6a79cfff  e49e89034d371f0f9de17aab02136486-le64.cache-3  ???
0x7f7f6a79d000 - 0x7f7f6a7adfff  d52a8644073d54c13679302ca1180695-le64.cache-3  ???
0x7f7f6a7b6000 - 0x7f7f6a7b7fff  4b14b093aebc79c320de5e86ae1d3314-le64.cache-3  ???
0x7f7f6a7b8000 - 0x7f7f6a7c3fff  089dead882dea3570ffc31a9898cfb69-le64.cache-3  ???
0x7f7f6a7c4000 - 0x7f7f6a7c4fff  0c9eb80ebd1c36541ebe2852d3bb0c49-le64.cache-3  ???
0x7f7f6a7c5000 - 0x7f7f6a7c7fff  e13b20fdb08344e0e664864cc2ede53d-le64.cache-3  ???
0x7f7f6a7c8000 - 0x7f7f6a7cbfff  7ef2298fde41cc6eeb7af42e48b7d293-le64.cache-3  ???
0x7fff979fe000 - 0x7fff979fffff  linux-gate.so  ???

@catharsis catharsis added a commit to catharsis/phantomjs that referenced this issue Jan 9, 2015
@catharsis catharsis Sleep until HTTP thread is running
This patch works around/ameliorates around a bug in QT 4
(https://bugreports.qt.io/browse/QTBUG-29452) which triggers the
infamous "pure virtual method called" crash. In summary, the problem is
that threads that are supposed to handle HTTP requests are not
necessarily fully constructed when time comes to do the handling.

This patch is only applicable for phantomjs 1.9, since later releases
to my understanding will use QT 5, in which the bug has been properly
fixed.

This workaround does a very primitive usleep()-loop, continually
checking for thread->isRunning() to make sure that we actually are ready
to deal with the request.

NB. This is not a proper fix, since the race condition might in theory
still occur. However, after running this patch (with a sleep celiing of
0.1 seconds, as opposed to the full 1 second in this patch) internally
it has significantly reduced the occurence of the issue. It took me a
full day of re-building to trigger the error. Again, that was with the
0.1 seconds, this patch increases that number by a factor of 10.

It's worth noting that, unsuprisingly, the issue is easier to reproduce
with a system under heavy load, such as a build slave building a lot of
things in parallel.

Note also that the workaround suggested in the bug report to QT is not
feasible:
    ...
    manager->httpThread->start();
    manager->httpThread->wait(20); // add this line
    ...

Partially, because this workaround applied verbatim only affects
asynchronous requests but moreso because:

"[the QThread::wait() function] also returns true if the thread has not been started yet."

See http://qt-project.org/doc/qt-4.8/qthread.html#wait.

This fixes issues #12325, #11651, #12006, #11687, #12816, #11857,
 #12054, #11577, #11597, #12284

This probably/possibly (but can't verify because of missing stack
traces) fixes issues #11047, #11347, #12026, #12309, #10666, #11696, #12133, #10823,
 #10717, #12348

And probably others that I couldn't find or that have already been
closed.

Signed-off-by: Anton Lofgren <alofgren@op5.com>
1f2c631
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment