Bug 207940 - [mac debug] Regression: http/tests/websocket/tests/hybi/workers/worker-reload.html is a flaky crash
Summary: [mac debug] Regression: http/tests/websocket/tests/hybi/workers/worker-reload...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: youenn fablet
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-02-19 08:43 PST by Aakash Jain
Modified: 2020-02-19 14:10 PST (History)
11 users (show)

See Also:


Attachments
Patch (1.85 KB, patch)
2020-02-19 11:10 PST, youenn fablet
no flags Details | Formatted Diff | Diff
Patch (1.85 KB, patch)
2020-02-19 11:14 PST, youenn fablet
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-cq-01 for mac-mojave (4.25 MB, application/zip)
2020-02-19 13:24 PST, WebKit Commit Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aakash Jain 2020-02-19 08:43:12 PST
http/tests/websocket/tests/hybi/workers/worker-reload.html is a flaky crash on mac debug wk1. It seems to have regressed recently.


Results database: https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fwebsocket%2Ftests%2Fhybi%2Fworkers%2Fworker-reload.html&flavor=wk1&style=debug

Sample builds: 
https://ews-build.webkit.org/#/builders/32/builds/3262
https://ews-build.webkit.org/#/builders/32/builds/3257

Sample results:
https://ews-build.webkit.org/results/macOS-Mojave-Debug-WK1-Tests-EWS/r391157-3262/results.html
https://ews-build.webkit.org/results/macOS-Mojave-Debug-WK1-Tests-EWS/r391152-3257/results.html

Crash log:
https://ews-build.webkit.org/results/macOS-Mojave-Debug-WK1-Tests-EWS/r391157-3262/http/tests/websocket/tests/hybi/workers/worker-reload-crash-log.txt
https://ews-build.webkit.org/results/macOS-Mojave-Debug-WK1-Tests-EWS/r391152-3257/http/tests/websocket/tests/hybi/workers/worker-reload-crash-log.txt


ASSERTION FAILED: The string being removed is an atom in the string table of an other thread!
iterator != atomStringTable.end()


CRASHING TEST: http://127.0.0.1:8000/websocket/tests/hybi/workers/worker-reload.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x0000000102f4d920 WTFCrash + 16 (Assertions.cpp:305)
1   com.apple.JavaScriptCore      	0x0000000102f55fc4 WTF::AtomStringImpl::remove(WTF::AtomStringImpl*) + 308 (AtomStringImpl.cpp:496)
2   com.apple.JavaScriptCore      	0x0000000103003528 WTF::StringImpl::~StringImpl() + 280 (StringImpl.cpp:121)
3   com.apple.JavaScriptCore      	0x00000001030038d5 WTF::StringImpl::~StringImpl() + 21 (StringImpl.cpp:148)
Comment 1 Radar WebKit Bug Importer 2020-02-19 08:58:04 PST
<rdar://problem/59592000>
Comment 3 Ryan Haddad 2020-02-19 09:17:41 PST
ASSERTION FAILED: The string being removed is an atom in the string table of an other thread!
iterator != atomStringTable.end()
/Volumes/Data/worker/macOS-Mojave-Debug-Build-EWS/build/Source/WTF/wtf/text/AtomStringImpl.cpp(496) : static void WTF::AtomStringImpl::remove(WTF::AtomStringImpl *)
1   0x102f4d919 WTFCrash
2   0x102f55fc4 WTF::AtomStringImpl::remove(WTF::AtomStringImpl*)
3   0x103003528 WTF::StringImpl::~StringImpl()
4   0x1030038d5 WTF::StringImpl::~StringImpl()
5   0x1030038f5 WTF::StringImpl::destroy(WTF::StringImpl*)
6   0x11bdce1ef WTF::StringImpl::deref()
7   0x11bdce17e void WTF::derefIfNotNull<WTF::StringImpl>(WTF::StringImpl*)
8   0x11bdce149 WTF::RefPtr<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> >::~RefPtr()
9   0x11bdce115 WTF::RefPtr<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> >::~RefPtr()
10  0x11bdce0f5 WTF::String::~String()
11  0x11bdce0d5 WTF::String::~String()
12  0x11be0ba05 WTF::URL::~URL()
13  0x11be0b9e5 WTF::URL::~URL()
14  0x11dec09a5 WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)::$_11::~$_11()
15  0x11deac5f5 WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)::$_11::~$_11()
16  0x11dee6df1 WTF::Detail::CallableWrapper<WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)::$_11, void, WebCore::ScriptExecutionContext&>::~CallableWrapper()
17  0x11dee6d45 WTF::Detail::CallableWrapper<WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)::$_11, void, WebCore::ScriptExecutionContext&>::~CallableWrapper()
18  0x11dee6d69 WTF::Detail::CallableWrapper<WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)::$_11, void, WebCore::ScriptExecutionContext&>::~CallableWrapper()
19  0x11be0cdaf std::__1::default_delete<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&> >::operator()(WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&>*) const
20  0x11be0cd2f std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&>, std::__1::default_delete<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&> > >::reset(WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&>*)
21  0x11be0ccc9 std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&>, std::__1::default_delete<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&> > >::~unique_ptr()
22  0x11be0cca5 std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&>, std::__1::default_delete<WTF::Detail::CallableWrapperBase<void, WebCore::ScriptExecutionContext&> > >::~unique_ptr()
23  0x11be0cc85 WTF::Function<void (WebCore::ScriptExecutionContext&)>::~Function()
24  0x11be0cc65 WTF::Function<void (WebCore::ScriptExecutionContext&)>::~Function()
25  0x11be0cc45 WebCore::ScriptExecutionContext::Task::~Task()
26  0x11be089f5 WebCore::ScriptExecutionContext::Task::~Task()
27  0x11e639a69 WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_13::~$_13()
28  0x11e615965 WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_13::~$_13()
29  0x11e68c381 WTF::Detail::CallableWrapper<WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_13, void>::~CallableWrapper()
30  0x11e68c2b5 WTF::Detail::CallableWrapper<WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_13, void>::~CallableWrapper()
31  0x11e68c2d9 WTF::Detail::CallableWrapper<WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_13, void>::~CallableWrapper()
Comment 4 youenn fablet 2020-02-19 09:18:24 PST
There is an isolatedCopy that is missing in  auto reportRegistrableDomain = [url = m_url](ScriptExecutionContext& context)
Comment 5 Jacob Uphoff 2020-02-19 09:18:42 PST
Looks like this can be reproduce with running the test in iterations.. Looking for regression point now.
Comment 6 Jacob Uphoff 2020-02-19 11:00:56 PST
Looks like it started on r256837. I can reproduce with running 'run-webkit-tests  --root BUILD http/tests/websocket/tests/hybi/workers/worker-reload.html -1 -f --debug --iterations 100' on r256837 but it does not reproduce on r256836.
Comment 7 youenn fablet 2020-02-19 11:10:15 PST
Created attachment 391181 [details]
Patch
Comment 8 youenn fablet 2020-02-19 11:14:54 PST
Created attachment 391182 [details]
Patch
Comment 9 Chris Dumez 2020-02-19 12:20:36 PST
Comment on attachment 391182 [details]
Patch

Doh!
Comment 10 WebKit Commit Bot 2020-02-19 13:24:25 PST
Comment on attachment 391182 [details]
Patch

Rejecting attachment 391182 [details] from commit-queue.

New failing tests:
editing/spelling/spellcheck-async-remove-frame.html
Full output: https://webkit-queues.webkit.org/results/13325145
Comment 11 WebKit Commit Bot 2020-02-19 13:24:27 PST
Created attachment 391193 [details]
Archive of layout-test-results from webkit-cq-01 for mac-mojave

The attached test failures were seen while running run-webkit-tests on the commit-queue.
Bot: webkit-cq-01  Port: mac-mojave  Platform: Mac OS X 10.14.6
Comment 12 WebKit Commit Bot 2020-02-19 14:10:27 PST
Comment on attachment 391182 [details]
Patch

Clearing flags on attachment: 391182

Committed r256949: <https://trac.webkit.org/changeset/256949>
Comment 13 WebKit Commit Bot 2020-02-19 14:10:29 PST
All reviewed patches have been landed.  Closing bug.