Bug 30978 - [Qt] ASSERT failure while running DRT
Summary: [Qt] ASSERT failure while running DRT
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords: Qt
Depends on:
Blocks:
 
Reported: 2009-10-31 08:25 PDT by Yael
Modified: 2009-11-16 14:24 PST (History)
3 users (show)

See Also:


Attachments
Patch (2.34 KB, patch)
2009-11-14 17:03 PST, Yael
kenneth: review+
kenneth: commit-queue+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yael 2009-10-31 08:25:54 PDT
When running DRT in Debug mode, _many_ tests are crashing due to ASSERT failure in JavaScriptCore. All the crashes I looked at, lead to the same callstack:

ASSERTION FAILED: !m_isCheckingForDefaultMarkViolation
(../../../JavaScriptCore/runtime/JSCell.h:318 void JSC::MarkStack::append(JSC::JSCell*))
Segmentation fault
0: /home/yael/trunk4/WebKitBuild/Debug/bin/DumpRenderTree [0x805ba69]
1: /home/yael/trunk4/WebKitBuild/Debug/bin/DumpRenderTree [0x805be7c]
2: [0xb80e0400]
3: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC9MarkStack6appendEPNS_6JSCellE+0x4c) [0xb6835908]
4: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC8Bindings10QtInstance13markAggregateERNS_9MarkStackE+0xc0) [0xb70de9d2]
5: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC8Bindings18QtRuntimeObjectImp12markChildrenERNS_9MarkStackE+0x4a) [0xb70dffe2]
6: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC9MarkStack12markChildrenEPNS_6JSCellE+0xed) [0xb690be91]
7: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC9MarkStack5drainEv+0x2bc) [0xb690c1f8]
8: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC4Heap18markConservativelyERNS_9MarkStackEPvS3_+0x215) [0xb690c5bb]
9: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC12RegisterFile11markGlobalsERNS_9MarkStackEPNS_4HeapE+0x3e) [0xb68357d2]
10: /home/yael/trunk4/WebKitBuild/Debug/lib/libQtWebKit.so.4(_ZN3JSC14JSGlobalObject12markChildrenERNS_9MarkStackE+0x21f) [0xb6835e63]
...
Comment 1 Kenneth Rohde Christiansen 2009-11-09 08:18:25 PST
Is this in the Qt implementation? or shared code?
Comment 2 Yael 2009-11-09 08:20:42 PST
(In reply to comment #1)
> Is this in the Qt implementation? or shared code?

The ASSERT is in shared code. I marked this as Qt bug because I do not get this ASSERT when running DRT on Mac.
Comment 3 Yael 2009-11-14 17:03:44 PST
Created attachment 43235 [details]
Patch

Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod. These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
Comment 4 Kenneth Rohde Christiansen 2009-11-14 18:29:01 PST
Good that you are looking into this, but does it really make sense to make those statics?
Comment 5 Yael 2009-11-14 19:24:06 PST
(In reply to comment #4)
> Good that you are looking into this, but does it really make sense to make
> those statics?

I followed what Oliver did in r49694 and r49721. StructureFlags is static everywhere else.
Comment 6 Kenneth Rohde Christiansen 2009-11-14 19:32:04 PST
OK then :-)
Comment 7 Yael 2009-11-16 14:24:49 PST
Committed r51052: <http://trac.webkit.org/changeset/51052>