WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
197965
REGRESSION (
r84160
): Leak of OpaqueJSString under WTR::JSTestRunner::pathToLocalResource (32 bytes) in com.apple.WebKit.WebContent running layout tests
https://bugs.webkit.org/show_bug.cgi?id=197965
Summary
REGRESSION (r84160): Leak of OpaqueJSString under WTR::JSTestRunner::pathToLo...
David Kilzer (:ddkilzer)
Reported
2019-05-16 15:29:37 PDT
Leak of OpaqueJSString under WTR::JSTestRunner::pathToLocalResource (32 bytes) in com.apple.WebKit.WebContent running layout tests. STACK OF 1 INSTANCE OF 'ROOT LEAK: <0x7fab7c32bf90>': [thread 0x10c0635c0]: 64 libdyld.dylib 0x7fff633ad08d start + 1 63 com.apple.WebKit.WebContent 0x1078ad352 main + 34 XPCServiceMain.mm:165 62 com.apple.WebKit.WebContent 0x1078ad065 WebKit::XPCServiceMain(int, char const**) + 1333 XPCServiceMain.mm:157 61 libxpc.dylib 0x7fff635e39e5 _xpc_copy_xpcservice_dictionary + 0 60 libxpc.dylib 0x7fff635e3ee6 _xpc_objc_main + 555 59 com.apple.Foundation 0x7fff384b828f -[NSRunLoop(NSRunLoop) run] + 76 58 com.apple.Foundation 0x7fff384b83ba -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280 57 com.apple.CoreFoundation 0x7fff36133be6 CFRunLoopRunSpecific + 467 56 com.apple.CoreFoundation 0x7fff36134303 __CFRunLoopRun + 1226 55 com.apple.CoreFoundation 0x7fff36134d5c __CFRunLoopDoSources0 + 195 54 com.apple.CoreFoundation 0x7fff36150eaf __CFRunLoopDoSource0 + 108 53 com.apple.CoreFoundation 0x7fff36150f09 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 52 com.apple.JavaScriptCore 0x5cea67174 WTF::RunLoop::performWork(void*) + 36 RunLoopCF.cpp:38 51 com.apple.JavaScriptCore 0x5cea667e3 WTF::RunLoop::performWork() + 211 RunLoop.cpp:107 50 com.apple.JavaScriptCore 0x5cea00dad WTF::Function<void ()>::operator()() const + 173 Function.h:56 49 com.apple.WebKit 0x5b806d939 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() + 25 Function.h:101 48 com.apple.WebKit 0x5b806da28 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() + 104 Connection.cpp:957 47 com.apple.WebKit 0x5b804ccb7 IPC::Connection::dispatchOneIncomingMessage() + 1607 Connection.cpp:1074 46 com.apple.WebKit 0x5b803e2d1 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 721 Connection.cpp:0 45 com.apple.WebKit 0x5b804beec IPC::Connection::dispatchMessage(IPC::Decoder&) + 476 Connection.cpp:979 44 com.apple.WebKit 0x5b8e69a46 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 166 NetworkProcessConnection.cpp:79 43 com.apple.WebKit 0x5b9251456 WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) + 502 WebResourceLoaderMessageReceiver.cpp:61 42 com.apple.WebKit 0x5b9251cf7 void IPC::handleMessage<Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long)>(IPC::Decoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long)) + 343 HandleMessage.h:134 41 com.apple.WebKit 0x5b92529b0 void IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long), std::__1::tuple<IPC::DataReference, long long>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<IPC::DataReference, long long>&&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long)) + 96 HandleMessage.h:48 40 com.apple.WebKit 0x5b9252a80 void IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long), std::__1::tuple<IPC::DataReference, long long>, 0ul, 1ul>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long), std::__1::tuple<IPC::DataReference, long long>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 192 HandleMessage.h:42 39 com.apple.WebKit 0x5b8e7794e WebKit::WebResourceLoader::didReceiveData(IPC::DataReference const&, long long) + 558 WebResourceLoader.cpp:145 38 com.apple.WebCore 0x5c04ffad2 WebCore::SubresourceLoader::didReceiveData(char const*, unsigned int, long long, WebCore::DataPayloadType) + 98 SubresourceLoader.cpp:423 37 com.apple.WebCore 0x5c04ffd92 WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::RefPtr<WebCore::SharedBuffer, WTF::DumbPtrTraits<WebCore::SharedBuffer> >&&, long long, WebCore::DataPayloadType) + 674 SubresourceLoader.cpp:455 36 com.apple.WebCore 0x5c0574ae9 WebCore::CachedRawResource::updateBuffer(WebCore::SharedBuffer&) + 361 CachedRawResource.cpp:73 35 com.apple.WebCore 0x5c0574d0b WebCore::CachedRawResource::notifyClientsDataWasReceived(char const*, unsigned int) + 155 CachedRawResource.cpp:135 34 com.apple.WebCore 0x5c0433856 WebCore::DocumentLoader::dataReceived(WebCore::CachedResource&, char const*, int) + 150 DocumentLoader.cpp:1102 33 com.apple.WebCore 0x5c0432f35 WebCore::DocumentLoader::dataReceived(char const*, int) + 613 DocumentLoader.cpp:1129 32 com.apple.WebCore 0x5c043300d WebCore::DocumentLoader::commitLoad(char const*, int) + 205 DocumentLoader.cpp:987 31 com.apple.WebKit 0x5b8f5f1af WebKit::WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) + 79 WebFrameLoaderClient.cpp:1035 30 com.apple.WebCore 0x5c042dd96 WebCore::DocumentLoader::commitData(char const*, unsigned long) + 2630 DocumentLoader.cpp:0 29 com.apple.WebCore 0x5c046d31b WebCore::DocumentWriter::addData(char const*, unsigned long) + 219 DocumentWriter.cpp:254 28 com.apple.WebCore 0x5bfc88092 WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter&, char const*, unsigned long) + 162 DecodedDataDocumentParser.cpp:50 27 com.apple.WebCore 0x5c01cc24a WebCore::HTMLDocumentParser::append(WTF::RefPtr<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> >&&) + 874 HTMLDocumentParser.cpp:418 26 com.apple.WebCore 0x5c01c934d WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) + 205 HTMLDocumentParser.cpp:186 25 com.apple.WebCore 0x5c01c9a3e WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 526 HTMLDocumentParser.cpp:302 24 com.apple.WebCore 0x5c01caf13 WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&) + 211 HTMLDocumentParser.cpp:254 23 com.apple.WebCore 0x5c01ca95d WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 1581 HTMLDocumentParser.cpp:233 22 com.apple.WebCore 0x5c01ebf2f WebCore::HTMLScriptRunner::execute(WTF::Ref<WebCore::ScriptElement, WTF::DumbPtrTraits<WebCore::ScriptElement> >&&, WTF::TextPosition const&) + 79 HTMLScriptRunner.cpp:142 21 com.apple.WebCore 0x5c01ec104 WebCore::HTMLScriptRunner::runScript(WebCore::ScriptElement&, WTF::TextPosition const&) + 340 HTMLScriptRunner.cpp:252 20 com.apple.WebCore 0x5bfe2eecd WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 2589 ScriptElement.cpp:267 19 com.apple.WebCore 0x5bfe30c5b WebCore::ScriptElement::executeClassicScript(WebCore::ScriptSourceCode const&) + 891 ScriptElement.cpp:387 18 com.apple.WebCore 0x5bf80b7bd WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&, WebCore::ExceptionDetails*) + 61 ScriptController.cpp:147 17 com.apple.WebCore 0x5bf80b436 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&, WebCore::ExceptionDetails*) + 310 ScriptController.cpp:131 16 com.apple.WebCore 0x5bf80b6db WebCore::JSExecState::profiledEvaluate(JSC::ExecState*, JSC::ProfilingReason, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 75 JSExecState.h:80 15 com.apple.JavaScriptCore 0x5cfe08e71 JSC::profiledEvaluate(JSC::ExecState*, JSC::ProfilingReason, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 97 Completion.cpp:122 14 com.apple.JavaScriptCore 0x5cfe08cb5 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 565 Completion.cpp:106 13 com.apple.JavaScriptCore 0x5cfb1081f JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::ExecState*, JSC::JSObject*) + 6255 Interpreter.cpp:832 12 com.apple.JavaScriptCore 0x5cfb1128e JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 206 JITCodeInlines.h:38 11 com.apple.JavaScriptCore 0x5ceebc0f2 vmEntryToJavaScript + 273 LowLevelInterpreter64.asm:295 10 com.apple.JavaScriptCore 0x5ceecf1eb llint_entry + 77442 LowLevelInterpreter.asm:899 9 com.apple.JavaScriptCore 0x5ceecf1eb llint_entry + 77442 LowLevelInterpreter.asm:899 8 0x43fb91a0102d 0x43fb91a01000 + 45 7 com.apple.JavaScriptCore 0x5cef536b1 long long JSC::APICallbackFunction::call<JSC::JSCallbackFunction>(JSC::ExecState*) + 577 APICallbackFunction.h:63 6 com.apple.WebKitTestRunner.InjectedBundle 0x5d62c49ed WTR::JSTestRunner::pathToLocalResource(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 109 JSTestRunner.cpp:1189 5 com.apple.JavaScriptCore 0x5cef77327 JSValueToStringCopy + 311 JSValueRef.cpp:437 4 com.apple.JavaScriptCore 0x5cef950fe OpaqueJSString::tryCreate(WTF::String&&) + 78 OpaqueJSString.cpp:50 3 com.apple.JavaScriptCore 0x5ce9e9ec5 WTF::ThreadSafeRefCountedBase::operator new(unsigned long) + 21 ThreadSafeRefCounted.h:37 2 com.apple.JavaScriptCore 0x5cea17dcc WTF::fastMalloc(unsigned long) + 124 FastMalloc.cpp:187 1 libsystem_malloc.dylib 0x7fff6355a783 malloc + 24 0 libsystem_malloc.dylib 0x7fff6355a82b malloc_zone_malloc + 139 ==== 1 (32 bytes) ROOT LEAK: 0x7fab7c32bf90 [32]
Attachments
Patch v1
(1.51 KB, patch)
2019-05-16 15:35 PDT
,
David Kilzer (:ddkilzer)
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
David Kilzer (:ddkilzer)
Comment 1
2019-05-16 15:30:00 PDT
<
rdar://problem/46731608
>
David Kilzer (:ddkilzer)
Comment 2
2019-05-16 15:33:04 PDT
This regressed with the original commit:
Bug 42541
: WebKitTestRunner needs layoutTestController.pathToLocalResource <
https://bugs.webkit.org/show_bug.cgi?id=42541
> <
https://trac.webkit.org/r84160
>
David Kilzer (:ddkilzer)
Comment 3
2019-05-16 15:35:20 PDT
Created
attachment 370076
[details]
Patch v1
Joseph Pecoraro
Comment 4
2019-05-16 15:57:36 PDT
Comment on
attachment 370076
[details]
Patch v1 Heh. r=me
WebKit Commit Bot
Comment 5
2019-05-16 16:24:16 PDT
Comment on
attachment 370076
[details]
Patch v1 Clearing flags on attachment: 370076 Committed
r245419
: <
https://trac.webkit.org/changeset/245419
>
WebKit Commit Bot
Comment 6
2019-05-16 16:24:17 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug