Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Phantom JS 1.9.7 crash with JSCover and Jasmine #12385

Closed
dlabaj opened this issue Jul 17, 2014 · 2 comments
Closed

Phantom JS 1.9.7 crash with JSCover and Jasmine #12385

dlabaj opened this issue Jul 17, 2014 · 2 comments

Comments

@dlabaj
Copy link

dlabaj commented Jul 17, 2014

We are getting random crashes on different systems when running our code coverage reports. Some systems it happens on and can be reproduced constantly, and other systems do not see this error at all. The following is the dmp file output on our 32bit linux build machine. This happens when running a code coverage report using jscover and jasmine.

./minidump_stackwalk /tmp/3e20e56d-64b1-653f-691998e5-6508f799.dmp . 2>/dev/null
Operating system: Linux
0.0.0 Linux 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b) x86_64
CPU: x86
GenuineIntel family 6 model 42 stepping 2
8 CPUs

Crash reason: SIGSEGV
Crash address: 0xc

Thread 0 (crashed)
0 phantomjs!JSC::StructureStubInfo::visitAggregate [Bitmap.h : 85 + 0x9]
eip = 0x08bd4598 esp = 0xffe6f180 ebp = 0xffe6f2d8 ebx = 0x0a4f62bc
esi = 0x00000020 edi = 0x00000000 eax = 0x00000000 ecx = 0x0000000c
edx = 0x00000001 efl = 0x00010206
Found by: given as instruction pointer in context
1 phantomjs!JSC::CodeBlock::visitAggregate [CodeBlock.cpp : 1487 + 0xa]
eip = 0x08bcf90d esp = 0xffe6f2e0 ebp = 0xffe6f388 ebx = 0x0a4f62bc
esi = 0x0000001c edi = 0x00000001
Found by: call frame info
2 phantomjs!JSC::FunctionExecutable::visitChildren [Executable.cpp : 354 + 0xe]
eip = 0x0814870a esp = 0xffe6f390 ebp = 0xffe6f3b8 ebx = 0x0a4f62bc
esi = 0x00002000 edi = 0xf726c568
Found by: call frame info
3 phantomjs!JSC::MarkStack::visitChildren [MarkStack.cpp : 82 + 0x9]
eip = 0x08bfd01b esp = 0xffe6f3c0 ebp = 0xffe6f4a8 ebx = 0x0a4f62bc
esi = 0xffe6f550 edi = 0xf4f121a8
Found by: call frame info
4 phantomjs!JSC::MarkStack::drain [MarkStack.cpp : 128 + 0x11]
eip = 0x08bfdb39 esp = 0xffe6f4b0 ebp = 0xffe6f4f8 ebx = 0x0a4f62bc
esi = 0xffe6f550 edi = 0xf67c5244
Found by: call frame info
5 phantomjs!JSC::Heap::markRoots [Heap.cpp : 225 + 0x7]
eip = 0x08bfa6f2 esp = 0xffe6f500 ebp = 0xffe6f988 ebx = 0x0a4f62bc
esi = 0xffe6f550 edi = 0xf67c5244
Found by: call frame info
6 phantomjs!JSC::Heap::reset [Heap.cpp : 397 + 0x4]
eip = 0x08bfaa68 esp = 0xffe6f990 ebp = 0xffe6f9b8 ebx = 0x0a4f62bc
esi = 0xf67c5088 edi = 0xf67c5084
Found by: call frame info
7 phantomjs!JSC::Heap::allocateSlowCase [Heap.cpp : 122 + 0xf]
eip = 0x08bfab70 esp = 0xffe6f9c0 ebp = 0xffe6f9d8 ebx = 0x0a4f62bc
esi = 0x0000000c edi = 0xf67c5084
Found by: call frame info
8 phantomjs!JSC::cti_op_get_by_id_proto_list [JSCell.h : 393 + 0x15]
eip = 0x08c3d49b esp = 0xffe6f9e0 ebp = 0xffe6fc98 ebx = 0x0a4f62bc
esi = 0xf67c5084 edi = 0xf67c4300
Found by: call frame info
9 0xf2319932
eip = 0xf2319933 esp = 0xffe6fca0 ebp = 0xffe6fce8 ebx = 0xf5f81d48
esi = 0x00091ba1 edi = 0xf5a02420
Found by: call frame info
10 phantomjs!JSC::Interpreter::executeCall [JITCode.h : 77 + 0x2d]
eip = 0x08c039a5 esp = 0xffe6fcf0 ebp = 0xffe6fde8
Found by: previous frame's frame pointer
11 phantomjs!JSC::call [CallData.cpp : 38 + 0x34]
eip = 0x08c5256c esp = 0xffe6fdf0 ebp = 0xffe6fe38 ebx = 0x0a4f62bc
esi = 0xf5f81d48 edi = 0xfffffffb
Found by: call frame info
12 phantomjs!WebCore::ScheduledAction::executeFunctionInContext [JSMainThreadExecState.h : 48 + 0x42]
eip = 0x08d07c35 esp = 0xffe6fe40 ebp = 0xffe6ff48 ebx = 0x0a4f62bc
esi = 0xed74f768 edi = 0xfffffffb
Found by: call frame info
13 phantomjs!WebCore::ScheduledAction::execute [ScheduledAction.cpp : 132 + 0x1d]
eip = 0x08d0821b esp = 0xffe6ff50 ebp = 0xffe6ffa8 ebx = 0x0a4f62bc
esi = 0xf5649200 edi = 0xf5f84428
Found by: call frame info
14 phantomjs!WebCore::ScheduledAction::execute [ScheduledAction.cpp : 80 + 0x11]
eip = 0x08d09c80 esp = 0xffe6ffb0 ebp = 0xffe6ffc8 ebx = 0x0a4f62bc
esi = 0xf67bd288 edi = 0xeead2918
Found by: call frame info
15 phantomjs!WebCore::DOMTimer::fired [DOMTimer.cpp : 148 + 0x11]
eip = 0x0851343b esp = 0xffe6ffd0 ebp = 0xffe70058 ebx = 0x0a4f62bc
esi = 0xeea02aa0 edi = 0xf67b8120
Found by: call frame info
16 phantomjs!WebCore::ThreadTimers::sharedTimerFiredInternal [ThreadTimers.cpp : 112 + 0x7]
eip = 0x085f5a1b esp = 0xffe70060 ebp = 0xffe70098 ebx = 0x0a4f62bc
esi = 0xeea02aa0 edi = 0xf67b8120
Found by: call frame info
17 phantomjs!WebCore::ThreadTimers::sharedTimerFired [ThreadTimers.cpp : 90 + 0xa]
eip = 0x085f5b0f esp = 0xffe700a0 ebp = 0xffe700c8 ebx = 0x0a4f62bc
esi = 0xf67940a0 edi = 0x0a52f1c0
Found by: call frame info
18 phantomjs!WebCore::SharedTimerQt::timerEvent [SharedTimerQt.cpp : 120 + 0x2]
eip = 0x0876ae54 esp = 0xffe700d0 ebp = 0xffe700e8 ebx = 0x0a4f62bc
esi = 0x0a611990 edi = 0x0a611990
Found by: call frame info
19 phantomjs!QObject::event [qobject.cpp : 1156 + 0xb]
eip = 0x09b0b95f esp = 0xffe700f0 ebp = 0xffe701f8 ebx = 0x0a4f62bc
esi = 0xffe70644 edi = 0x0a611990
Found by: call frame info
20 phantomjs!QApplicationPrivate::notify_helper [qapplication.cpp : 4562 + 0xe]
eip = 0x0935848f esp = 0xffe70200 ebp = 0xffe70218 ebx = 0x0a4f62bc
esi = 0xffe70644 edi = 0x0a611990
Found by: call frame info
21 phantomjs!QApplication::notify [qapplication.cpp : 3944 + 0x4]
eip = 0x09360461 esp = 0xffe70220 ebp = 0xffe705d8 ebx = 0x0a4f62bc
esi = 0xffe70644 edi = 0xffe7084c
Found by: call frame info
22 phantomjs!QCoreApplication::notifyInternal [qcoreapplication.cpp : 946 + 0x10]
eip = 0x09af913b esp = 0xffe705e0 ebp = 0xffe70608 ebx = 0x0a4f62bc
esi = 0x0a51fd68 edi = 0x0a611990
Found by: call frame info
23 phantomjs!QTimerInfoList::activateTimers [qcoreapplication.h : 231 + 0x19]
eip = 0x09b252c0 esp = 0xffe70610 ebp = 0xffe70668 ebx = 0x0a4f62bc
esi = 0x0a9e51d0 edi = 0xffe70644
Found by: call frame info
24 phantomjs!QEventDispatcherUNIX::activateTimers [qeventdispatcher_unix.cpp : 879 + 0x12]
eip = 0x09b253c9 esp = 0xffe70670 ebp = 0xffe70678 ebx = 0x0a4f62bc
esi = 0x00000000 edi = 0x0a522d48
Found by: call frame info
25 phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 941 + 0xa]
eip = 0x09b25c80 esp = 0xffe70680 ebp = 0xffe706b8 ebx = 0x0a4f62bc
esi = 0x00000000 edi = 0x0a522d48
Found by: call frame info
26 phantomjs!QEventDispatcherQPA::processEvents [qeventdispatcher_qpa.cpp : 246 + 0x11]
eip = 0x093bd5fa esp = 0xffe706c0 ebp = 0xffe706f8 ebx = 0x0a4f62bc
esi = 0x0a62b878 edi = 0x0a522d48
Found by: call frame info
27 phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x8]
eip = 0x09af7fcd esp = 0xffe70700 ebp = 0xffe70728 ebx = 0x0a4f62bc
esi = 0x0a62b878 edi = 0xffe70768
Found by: call frame info
28 phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x11]
eip = 0x09af84b1 esp = 0xffe70730 ebp = 0xffe70778 ebx = 0x0a4f62bc
esi = 0x0a62b878 edi = 0xffe707a0
Found by: call frame info
29 phantomjs!QCoreApplication::exec [qcoreapplication.cpp : 1218 + 0x11]
eip = 0x09afa32d esp = 0xffe70780 ebp = 0xffe707b8 ebx = 0x0a4f62bc
esi = 0x0a51fd68 edi = 0x0a51fd68
Found by: call frame info
30 phantomjs!QApplication::exec [qapplication.cpp : 3823 + 0x4]
eip = 0x09357da7 esp = 0xffe707c0 ebp = 0xffe707c8 ebx = 0x0a4f62bc
esi = 0xffe708a0 edi = 0xffe7084c
Found by: call frame info
31 phantomjs!main [main.cpp : 121 + 0x4]
eip = 0x0806d9b9 esp = 0xffe707d0 ebp = 0xffe70888 ebx = 0x0a524eb0
esi = 0xffe708a0 edi = 0xffe7084c
Found by: call frame info
32 libc-2.11.3.so + 0x16c14
eip = 0xf7390c15 esp = 0xffe708a0 ebp = 0xffe708f8 ebx = 0xf74e2ff4
esi = 0x09b7bb20 edi = 0x0804d910
Found by: call frame info
33 phantomjs + 0x5930
eip = 0x0804d931 esp = 0xffe70900 ebp = 0x00000000
Found by: previous frame's frame pointer
34 phantomjs!_GLOBAL__I_main [main.cpp : 129 + 0x7]
eip = 0x0806d780 esp = 0xffe70904 ebp = 0x00000000
Found by: stack scanning
35 ld-2.11.3.so + 0xfcdf
eip = 0xf773dce0 esp = 0xffe70918 ebp = 0x00000000
Found by: stack scanning
36 ld-2.11.3.so + 0x19a32
eip = 0xf7747a33 esp = 0xffe70920 ebp = 0x00000000
Found by: stack scanning

Thread 1
0 linux-gate.so + 0x430
eip = 0xffffe430 esp = 0xf7093130 ebp = 0xf7093308 ebx = 0xf70932f4
esi = 0xf70932f4 edi = 0xf70932f4 eax = 0xfffffdfc ecx = 0xf70932f4
edx = 0xf74e2ff4 efl = 0x00000296
Found by: given as instruction pointer in context
1 phantomjs!WTF::TCMalloc_PageHeap::scavengerThread [FastMalloc.cpp : 2499 + 0xb]
eip = 0x0812a6d3 esp = 0xf7093310 ebp = 0xf7093378
Found by: previous frame's frame pointer
2 phantomjs!WTF::TCMalloc_PageHeap::runScavengerThread [FastMalloc.cpp : 1618 + 0xa]
eip = 0x0812a961 esp = 0xf7093380 ebp = 0xf7093388 ebx = 0xf7634ff4
esi = 0x00000000 edi = 0x003d0f00
Found by: call frame info
3 libpthread-2.11.3.so + 0x6da8
eip = 0xf7621da9 esp = 0xf7093390 ebp = 0xf7093478 ebx = 0xf7634ff4
esi = 0x00000000 edi = 0x003d0f00
Found by: call frame info
4 libc-2.11.3.so + 0xd930d
eip = 0xf745330e esp = 0xf7093480 ebp = 0x00000000
Found by: previous frame's frame pointer

Thread 2
0 linux-gate.so + 0x430
eip = 0xffffe430 esp = 0xf679207c ebp = 0xf67920f8 ebx = 0x00000008
esi = 0xf5e00984 edi = 0x00000000 eax = 0xfffffdfe ecx = 0xf5e0055c
edx = 0xf5e00770 efl = 0x00000296
Found by: given as instruction pointer in context
1 phantomjs!QEventDispatcherUNIX::select [qeventdispatcher_unix.cpp : 650 + 0x23]
eip = 0x09b23e29 esp = 0xf6792100 ebp = 0xf6792118
Found by: previous frame's frame pointer
2 phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0x34]
eip = 0x09b257e7 esp = 0xf6792120 ebp = 0xf6792228 ebx = 0x0a4f62bc
Found by: call frame info
3 phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0xb]
eip = 0x09b25c57 esp = 0xf6792230 ebp = 0xf6792268 ebx = 0x0a4f62bc
esi = 0xf6792250 edi = 0xf5e00468
Found by: call frame info
4 phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x8]
eip = 0x09af7fcd esp = 0xf6792270 ebp = 0xf6792298 ebx = 0x0a4f62bc
esi = 0xf5e00bc8 edi = 0xf67922d8
Found by: call frame info
5 phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x11]
eip = 0x09af84b1 esp = 0xf67922a0 ebp = 0xf67922e8 ebx = 0x0a4f62bc
esi = 0xf5e00bc8 edi = 0xf6792320
Found by: call frame info
6 phantomjs!QThread::exec [qthread.cpp : 542 + 0xe]
eip = 0x099e7b6a esp = 0xf67922f0 ebp = 0xf6792338 ebx = 0x0a4f62bc
esi = 0x0a5409d0 edi = 0xf6792320
Found by: call frame info
7 phantomjs!QThread::run [qthread.cpp : 609 + 0xa]
eip = 0x099e7cb1 esp = 0xf6792340 ebp = 0xf6792348 ebx = 0x0a4f62bc
esi = 0x0a5c37f8 edi = 0x0a5729e0
Found by: call frame info
8 phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x7]
eip = 0x099ead90 esp = 0xf6792350 ebp = 0xf6792388 ebx = 0x0a4f62bc
esi = 0x0a5c37f8 edi = 0x0a5729e0
Found by: call frame info
9 libpthread-2.11.3.so + 0x6da8
eip = 0xf7621da9 esp = 0xf6792390 ebp = 0xf6792478 ebx = 0xf7634ff4
esi = 0x00000000 edi = 0x003d0f00
Found by: call frame info
10 libc-2.11.3.so + 0xd930d
eip = 0xf745330e esp = 0xf6792480 ebp = 0x00000000
Found by: previous frame's frame pointer

Thread 3
0 linux-gate.so + 0x430
eip = 0xffffe430 esp = 0xf2ff81e0 ebp = 0xf2ff8248 ebx = 0x0a74d8e4
esi = 0x00000000 edi = 0x00000001 eax = 0xfffffe00 ecx = 0x00000080
edx = 0x00000001 efl = 0x00000296
Found by: given as instruction pointer in context
1 phantomjs!WTF::ThreadCondition::timedWait [ThreadingQt.cpp : 253 + 0x17]
eip = 0x08133789 esp = 0xf2ff8250 ebp = 0xf2ff8288
Found by: previous frame's frame pointer
2 phantomjs!WTF::MessageQueueWebCore::LocalStorageTask::waitForMessage [MessageQueue.h : 137 + 0x23]
eip = 0x08e7f029 esp = 0xf2ff8290 ebp = 0xf2ff82c8 ebx = 0x0a4f62bc
esi = 0x00000001 edi = 0xf51ca16c
Found by: call frame info
3 phantomjs!WebCore::LocalStorageThread::threadEntryPoint [LocalStorageThread.cpp : 68 + 0xb]
eip = 0x08e7f269 esp = 0xf2ff82d0 ebp = 0xf2ff8308 ebx = 0x0a4f62bc
esi = 0xf550c4e0 edi = 0xf51ca164
Found by: call frame info
4 phantomjs!WebCore::LocalStorageThread::threadEntryPointCallback [LocalStorageThread.cpp : 62 + 0xa]
eip = 0x08e7f2b1 esp = 0xf2ff8310 ebp = 0xf2ff8318 ebx = 0x0a4f62bc
esi = 0xf51ca160 edi = 0xf4da744c
Found by: call frame info
5 phantomjs!WTF::threadEntryPoint [Threading.cpp : 67 + 0x5]
eip = 0x08bc92e5 esp = 0xf2ff8320 ebp = 0xf2ff8338 ebx = 0x0a4f62bc
esi = 0xf51ca160 edi = 0xf4da744c
Found by: call frame info
6 phantomjs!WTF::ThreadPrivate::run [ThreadingQt.cpp : 66 + 0x8]
eip = 0x08132d43 esp = 0xf2ff8340 ebp = 0xf2ff8348 ebx = 0x0a4f62bc
esi = 0x0a74b378 edi = 0x0a74da68
Found by: call frame info
7 phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x7]
eip = 0x099ead90 esp = 0xf2ff8350 ebp = 0xf2ff8388 ebx = 0x0a4f62bc
esi = 0x0a74b378 edi = 0x0a74da68
Found by: call frame info
8 libpthread-2.11.3.so + 0x6da8
eip = 0xf7621da9 esp = 0xf2ff8390 ebp = 0xf2ff8478 ebx = 0xf7634ff4
esi = 0x00000000 edi = 0x003d0f00
Found by: call frame info
9 libc-2.11.3.so + 0xd930d
eip = 0xf745330e esp = 0xf2ff8480 ebp = 0x00000000
Found by: previous frame's frame pointer

Loaded modules:
0x08048000 - 0x0a505fff phantomjs ??? (main)
0xed68f000 - 0xed6b8fff albw.ttf ???
0xf504a000 - 0xf505bfff n019004l.pfb ???
0xf505c000 - 0xf506cfff n019003l.pfb ???
0xf7094000 - 0xf70e3fff libssl.so.0.9.8 ???
0xf70e4000 - 0xf7258fff libcrypto.so.0.9.8 ???
0xf7290000 - 0xf7296fff 77e41c5059666d75f92e318d4be8c21e-x86.cache-2 ???
0xf7297000 - 0xf72b8fff 8d4af663993b81a124ee82e610bb31f9-x86.cache-2 ???
0xf72b9000 - 0xf72f8fff 17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 ???
0xf72f9000 - 0xf7338fff df311e82a1a24c41a75c2c930223552e-x86.cache-2 ???
0xf733c000 - 0xf7363fff libexpat.so.1.5.2 ???
0xf7365000 - 0xf7379fff libz.so.1.2.3 ???
0xf737a000 - 0xf74e3fff libc-2.11.3.so ???
0xf74e7000 - 0xf7504fff libgcc_s.so.1 ???
0xf7505000 - 0xf752cfff libm-2.11.3.so ???
0xf752d000 - 0xf7613fff libstdc++.so.6.0.16 ???
0xf761b000 - 0xf7635fff libpthread-2.11.3.so ???
0xf7639000 - 0xf7642fff librt-2.11.3.so ???
0xf7643000 - 0xf7647fff libdl-2.11.3.so ???
0xf7648000 - 0xf7678fff libfontconfig.so.1.3.0 ???
0xf7679000 - 0xf76f8fff libfreetype.so.6.3.18 ???
0xf7713000 - 0xf7717fff d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 ???
0xf7718000 - 0xf772cfff 7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2 ???
0xf772e000 - 0xf774efff ld-2.11.3.so ???
0xffffe000 - 0xffffefff linux-gate.so ???

@dlabaj
Copy link
Author

dlabaj commented Jul 31, 2014

Any updates on this?

@vitallium
Copy link
Collaborator

Please upgrade to PhantomJS 2.0. 1.9.x is no longer supported, and known to have many crasher bugs that are fixed in 2 version.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants