Bug 182104 - [GTK] fast/events/message-channel-gc-4.html is flaky
Summary: [GTK] fast/events/message-channel-gc-4.html is flaky
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords:
: 182105 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-01-25 08:21 PST by Miguel Gomez
Modified: 2018-02-06 02:55 PST (History)
11 users (show)

See Also:


Attachments
Patch (3.05 KB, patch)
2018-02-01 22:58 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (3.13 KB, patch)
2018-02-01 23:05 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (1.34 KB, patch)
2018-02-06 00:02 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Miguel Gomez 2018-01-25 08:21:23 PST
Moves between pass and crash
Comment 1 Fujii Hironori 2018-01-31 01:33:37 PST
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
Comment 2 Fujii Hironori 2018-02-01 20:45:00 PST
MessagePort::hasPendingActivity has been changed to use
WebMessagePortChannelProvider::checkRemotePortForActivity
in Bug 181910
Comment 3 Fujii Hironori 2018-02-01 22:58:16 PST
Created attachment 332941 [details]
Patch
Comment 4 Fujii Hironori 2018-02-01 23:05:19 PST
Created attachment 332942 [details]
Patch
Comment 5 Fujii Hironori 2018-02-01 23:09:09 PST
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
Comment 6 Fujii Hironori 2018-02-02 02:37:12 PST
*** Bug 182105 has been marked as a duplicate of this bug. ***
Comment 7 WebKit Commit Bot 2018-02-02 02:53:34 PST
Comment on attachment 332942 [details]
Patch

Clearing flags on attachment: 332942

Committed r228001: <https://trac.webkit.org/changeset/228001>
Comment 8 WebKit Commit Bot 2018-02-02 02:53:36 PST
All reviewed patches have been landed.  Closing bug.
Comment 9 Fujii Hironori 2018-02-05 16:57:09 PST
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).
Comment 10 Michael Catanzaro 2018-02-05 20:50:34 PST
So, what remains to be done here? Are you working on it?
Comment 11 Fujii Hironori 2018-02-05 21:06:33 PST
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).
Comment 12 Fujii Hironori 2018-02-06 00:02:41 PST
Created attachment 333157 [details]
Patch
Comment 13 WebKit Commit Bot 2018-02-06 02:55:36 PST
Comment on attachment 333157 [details]
Patch

Clearing flags on attachment: 333157

Committed r228154: <https://trac.webkit.org/changeset/228154>
Comment 14 WebKit Commit Bot 2018-02-06 02:55:38 PST
All reviewed patches have been landed.  Closing bug.