Moves between pass and crash
https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20(Tests)/builds/5175 Thread 1 (Thread 0x2ad900200700 (LWP 21792)): #0 0x00002ad87ed861ec in WTFCrash () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #1 0x00002ad87eda0fe5 in WTF::RunLoop::current() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #2 0x00002ad87eda1029 in WTF::RunLoop::isMain() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #3 0x00002ad87b070fb8 in IPC::Connection::sendMessage(std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >, WTF::OptionSet<IPC::SendOption>) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #4 0x00002ad87b2990ed in WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity(WebCore::MessagePortIdentifier const&, WTF::CompletionHandler<void (WebCore::MessagePortChannelProvider::HasActivity)>&&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #5 0x00002ad87bd4c2e5 in WebCore::MessagePort::hasPendingActivity() const () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #6 0x00002ad87b6d29e9 in WebCore::JSMessagePortOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void*, JSC::SlotVisitor&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #7 0x00002ad87e82f510 in void JSC::WeakBlock::specializedVisit<JSC::MarkedBlock>(JSC::MarkedBlock&, JSC::SlotVisitor&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #8 0x00002ad87e821e83 in JSC::MarkedSpace::visitWeakSets(JSC::SlotVisitor&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #9 0x00002ad87e82644b in JSC::MarkingConstraint::execute(JSC::SlotVisitor&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #10 0x00002ad87e82a236 in JSC::MarkingConstraintSolver::runExecutionThread(JSC::SlotVisitor&, JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<std::optional<unsigned int> ()>) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #11 0x00002ad87e82b148 in JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #12 0x00002ad87e80bf21 in WTF::SharedTaskFunctor<void (), JSC::Heap::runBeginPhase(JSC::GCConductor)::{lambda()#2}>::run() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #13 0x00002ad87ed9c71b in WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > >) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #14 0x00002ad87ed9d519 in WTF::ParallelHelperPool::Thread::work() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #15 0x00002ad87ed87d9f in WTF::Function<void ()>::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::{lambda()#1}>::call() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #16 0x00002ad87eda289b in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #17 0x00002ad87edd5e59 in WTF::wtfThreadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #18 0x00002ad880ca0494 in start_thread (arg=0x2ad900200700) at pthread_create.c:333 #19 0x00002ad88565b93f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
MessagePort::hasPendingActivity has been changed to use WebMessagePortChannelProvider::checkRemotePortForActivity in Bug 181910
Created attachment 332941 [details] Patch
Created attachment 332942 [details] Patch
Following message was recorded in crash-log.txt. > STDERR: warning: core file may not match specified executable file. > STDERR: 272 ../../Source/WTF/wtf/Assertions.cpp: No such file or directory. > STDERR: ASSERTION FAILED: canBeGCThread == CanBeGCThread::True || !mayBeGCThread() > STDERR: ../../Source/WTF/wtf/ThreadSpecific.h(278) : T* WTF::ThreadSpecific<T, canBeGCThread>::set() [with T = WTF::RunLoop::Holder; WTF::CanBeGCThread canBeGCThread = (WTF::CanBeGCThread)0] > STDERR: 1 0x7fb5fd85f4fc /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7fb5fd85f4fc] > STDERR: 2 0x7fb5fd89028a /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::ThreadSpecific<WTF::RunLoop::Holder, (WTF::CanBeGCThread)0>::set()+0x5c) [0x7fb5fd89028a] > STDERR: 3 0x7fb5fd8901a3 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::ThreadSpecific<WTF::RunLoop::Holder, (WTF::CanBeGCThread)0>::operator WTF::RunLoop::Holder*()+0x35) [0x7fb5fd8901a3] > STDERR: 4 0x7fb5fd8900ec /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::ThreadSpecific<WTF::RunLoop::Holder, (WTF::CanBeGCThread)0>::operator->()+0x18) [0x7fb5fd8900ec] > STDERR: 5 0x7fb5fd88fc1b /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::current()+0x55) [0x7fb5fd88fc1b] > STDERR: 6 0x7fb5fd88fc9d /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::isMain()+0x39) [0x7fb5fd88fc9d] > STDERR: 7 0x7fb608ccdc95 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::sendMessage(std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >, WTF::OptionSet<IPC::SendOption>)+0x47) [0x7fb608ccdc95] > STDERR: 8 0x7fb6091d3c81 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(bool IPC::Connection::send<Messages::WebProcessProxy::CheckRemotePortForActivity>(Messages::WebProcessProxy::CheckRemotePortForActivity&&, unsigned long, WTF::OptionSet<IPC::SendOption>)+0xb3) [0x7fb6091d3c81] > STDERR: 9 0x7fb6091d1aea /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity(WebCore::MessagePortIdentifier const&, WTF::CompletionHandler<void (WebCore::MessagePortChannelProvider::HasActivity)>&&)+0x168) [0x7fb6091d1aea] > STDERR: 10 0x7fb60a8d52b9 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::MessagePort::hasPendingActivity() const+0xf1) [0x7fb60a8d52b9] > STDERR: 11 0x7fb609a94bd0 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::JSMessagePortOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void*, JSC::SlotVisitor&)+0x4c) [0x7fb609a94bd0] > STDERR: 12 0x7fb5fd116cf2 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(void JSC::WeakBlock::specializedVisit<JSC::MarkedBlock>(JSC::MarkedBlock&, JSC::SlotVisitor&)+0x12c) [0x7fb5fd116cf2] > STDERR: 13 0x7fb5fd115a89 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::WeakBlock::visit(JSC::SlotVisitor&)+0xb1) [0x7fb5fd115a89] > STDERR: 14 0x7fb5fd0ed962 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::WeakSet::visit(JSC::SlotVisitor&)+0x3e) [0x7fb5fd0ed962] > STDERR: 15 0x7fb5fd0f84ee /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x23224ee) [0x7fb5fd0f84ee] > STDERR: 16 0x7fb5fd0fee22 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2328e22) [0x7fb5fd0fee22] > STDERR: 17 0x7fb5fd0f8533 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::MarkedSpace::visitWeakSets(JSC::SlotVisitor&)+0x41) [0x7fb5fd0f8533] > STDERR: 18 0x7fb5fd0a828d /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x22d228d) [0x7fb5fd0a828d] > STDERR: 19 0x7fb5fd0b2b56 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x22dcb56) [0x7fb5fd0b2b56] > STDERR: 20 0x7fb5fd10479a /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::Function<void (JSC::SlotVisitor&)>::operator()(JSC::SlotVisitor&) const+0x78) [0x7fb5fd10479a] > STDERR: 21 0x7fb5fd0fb627 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::SimpleMarkingConstraint::executeImpl(JSC::SlotVisitor&)+0x27) [0x7fb5fd0fb627] > STDERR: 22 0x7fb5fd0f96fc /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::MarkingConstraint::execute(JSC::SlotVisitor&)+0x50) [0x7fb5fd0f96fc] > STDERR: 23 0x7fb5fd0fb0c6 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::MarkingConstraintSolver::runExecutionThread(JSC::SlotVisitor&, JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<std::optional<unsigned int> ()>)+0x262) [0x7fb5fd0fb0c6] > STDERR: 24 0x7fb5fd0fa42d /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x232442d) [0x7fb5fd0fa42d] > STDERR: 25 0x7fb5fd1023ce /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x232c3ce) [0x7fb5fd1023ce] > STDERR: 26 0x7fb5fd10d165 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime)+0x433) [0x7fb5fd10d165] > STDERR: 27 0x7fb5fd0a3646 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x22cd646) [0x7fb5fd0a3646] > STDERR: 28 0x7fb5fd0b2a26 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x22dca26) [0x7fb5fd0b2a26] > STDERR: 29 0x7fb5fd88576b /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > >)+0x9d) [0x7fb5fd88576b] > STDERR: 30 0x7fb5fd88611e /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::ParallelHelperPool::Thread::work()+0x4a) [0x7fb5fd88611e] > STDERR: 31 0x7fb5fd861ac0 /home/fujii/work/webkit/ga/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2a8bac0) [0x7fb5fd861ac0] > STDERR: LEAK: 1 WebPageProxy
*** Bug 182105 has been marked as a duplicate of this bug. ***
Comment on attachment 332942 [details] Patch Clearing flags on attachment: 332942 Committed r228001: <https://trac.webkit.org/changeset/228001>
All reviewed patches have been landed. Closing bug.
I will revert my change (r228001) because the change of Bug 182494 is better than mine. I want to preserve the assertion because it relies on threadsafe-statics (Bug 174747 Comment 6).
So, what remains to be done here? Are you working on it?
Yes, I'm working on this. After the patch of Bug 182494 will land, I will check the test still passes by reverting my patch (r228001).
Created attachment 333157 [details] Patch
Comment on attachment 333157 [details] Patch Clearing flags on attachment: 333157 Committed r228154: <https://trac.webkit.org/changeset/228154>