Bug 168149 - iOS DumpRenderTreeApp always asserts running compositing/masks/toggle-mask.html
Summary: iOS DumpRenderTreeApp always asserts running compositing/masks/toggle-mask.html
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-10 15:30 PST by Simon Fraser (smfr)
Modified: 2017-02-10 16:26 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2017-02-10 15:30:58 PST
ASSERTION FAILED: pthread_main_np()
/Volumes/Data/Development/OSX/webkit/OpenSource/Source/WTF/wtf/RunLoop.cpp(54) : static void WTF::RunLoop::initializeMainRunLoop()
1   0x114bef3bd WTFCrash
2   0x114c37cdb WTF::RunLoop::initializeMainRunLoop()
3   0x1170dd88c WebKit::InitializeWebKit2(WebKit::ProcessType)
4   0x116af129a API::Object::Object()
5   0x116ae061f API::ObjectImpl<(API::Object::Type)22>::ObjectImpl()
6   0x116ae0530 API::String::String(WTF::String&&)
7   0x116ae041d API::String::String(WTF::String&&)
8   0x116ae0340 API::String::create(WTF::String&&)
9   0x116adf7c4 API::String::create(WTF::String const&)
10  0x1174b608c WebKit::toCopiedAPI(WTF::String const&)
11  0x11759b45b WKStringCreateWithCFString
12  0x10244ec88 dumpFramesAsText(WebFrame*)
13  0x10244e4ed dump()
14  0x1024995da TestRunner::notifyDone()
15  0x102487956 notifyDoneCallback(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)
16  0x1146e5667 long long JSC::APICallbackFunction::call<JSC::JSCallbackFunction>(JSC::ExecState*)
17  0x1148748ea JSC::LLInt::handleHostCall(JSC::ExecState*, JSC::Instruction*, JSC::JSValue, JSC::CodeSpecializationKind)
18  0x11487073d JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*)
19  0x11486fa04 JSC::LLInt::genericCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind)
20  0x11486f8f3 llint_slow_path_call
21  0x11487dca9 llint_entry
22  0x11487657e vmEntryToJavaScript
23  0x114688abe JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
24  0x11463d74f JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
25  0x113f74d78 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
26  0x113f74e89 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&)
27  0x113f7511d JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&)
28  0x10aa9253b WebCore::JSMainThreadExecState::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&)
29  0x10bd94d8a WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject*, JSC::JSValue, WebCore::ScriptExecutionContext&)
30  0x10bd94981 WebCore::ScheduledAction::execute(WebCore::Document&)
31  0x10bd94843 WebCore::ScheduledAction::execute(WebCore::ScriptExecutionContext&)
Comment 1 Simon Fraser (smfr) 2017-02-10 15:33:16 PST
It seems really wrong for DRT to be using WebKit2 C SPI here.
Comment 2 Simon Fraser (smfr) 2017-02-10 15:34:43 PST
That was added via bug 154863, and the eassertion is new in http://trac.webkit.org/projects/webkit/changeset/212139
Comment 3 Joseph Pecoraro 2017-02-10 16:24:46 PST
Just rolled out the new assertion. However this seems worth looking into. We could move DRT off of WK2 SPI. Or address this in another way. It seems this could could potentially initialize the main run loop on the non-main thread given the current state of the world.