Bug 152248

Summary: [meta] Make B3 work on Linux
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: JavaScriptCoreAssignee: Csaba Osztrogonác <ossy>
Status: RESOLVED FIXED    
Severity: Normal CC: cgarcia, gyuyoung.kim, jh718.park, mcatanzaro, ossy, ysuzuki
Priority: P2    
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 150794, 151618, 151619, 151620, 151621, 151622, 151624, 151857, 151860, 152120, 152122, 152123, 152124, 152126, 152887, 153126, 153232, 153422, 153478, 153644, 153647    
Bug Blocks:    
Attachments:
Description Flags
list of the failing tests
none
list of the failing tests on AArch64 none

Csaba Osztrogonác
Reported 2015-12-14 04:51:46 PST
The goal: Make B3 based FTL JIT build and work on Linux. (work == all tests pass, no performance regression)
Attachments
list of the failing tests (11.76 KB, text/plain)
2016-01-08 06:56 PST, Csaba Osztrogonác
no flags
list of the failing tests on AArch64 (9.17 KB, text/plain)
2016-01-29 05:19 PST, Csaba Osztrogonác
no flags
Csaba Osztrogonác
Comment 1 2016-01-08 06:56:45 PST
Created attachment 268545 [details] list of the failing tests Quick summary: There are only 144 JSC stress test failures remaining from 30361. Results for JSC stress tests: 144 failures found.
Csaba Osztrogonác
Comment 2 2016-01-11 06:46:59 PST
There are only 6 failures on Linux with B3 on r194847: ** The following JSC stress test failures have been introduced: regress/script-tests/call-spread-apply.js.ftl-no-cjit-no-inline-validate regress/script-tests/call-spread-call.js.ftl-no-cjit-no-inline-validate stress/load-varargs-then-inlined-call-and-exit-strict.js.ftl-no-cjit-no-inline-validate stress/reflect-apply.js.ftl-eager-no-cjit stress/tail-call-varargs-no-stack-overflow.js.ftl-eager stress/tail-call-varargs-no-stack-overflow.js.ftl-eager-no-cjit Results for JSC stress tests: 6 failures found.
Csaba Osztrogonác
Comment 3 2016-01-29 05:19:15 PST
Created attachment 270201 [details] list of the failing tests on AArch64 I tested B3-FTL on AArch64 Linux, testb3 and testair pass and there are 126 JSC stress tests failure - list attached. ( Without FTL JIT we have 20-40 crashes long time ago on AArch64 - bug151486 )
Yusuke Suzuki
Comment 4 2016-01-30 09:17:24 PST
When building B3 enabled JSC on Linux x86_64 (GTK port) with debug mode, testb3 still fails. testBitNotOnBooleanAndBranch32(-1, int32-min)... 1 0x7ffff6e6ecdc /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7ffff6e6ecdc] 2 0x46f0f6 /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/bin/testb3() [0x46f0f6] 3 0x4b6145 /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/bin/testb3() [0x4b6145] 4 0x6183a8 /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/bin/testb3() [0x6183a8] 5 0x4c40f1 /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/bin/testb3() [0x4c40f1] 6 0x5ab4e9 /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/bin/testb3() [0x5ab4e9] 7 0x7ffff68f26a2 /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZNKSt8functionIFvvEEclEv+0x32) [0x7ffff68f26a2] 8 0x7ffff6e8a27d /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1f8927d) [0x7ffff6e8a27d] 9 0x7ffff6ebdf8e /home/yusuke/dev/WebKit/WebKitBuild/b3-linux/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1fbcf8e) [0x7ffff6ebdf8e] 10 0x7ffff31ec182 /lib/x86_64-linux-gnu/libpthread.so.0(+0x8182) [0x7ffff31ec182] 11 0x7ffff440c47d /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7ffff440c47d] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffad3fc700 (LWP 16618)] 0x00007ffff6e6ece1 in WTFCrash () at ../../../Source/WTF/wtf/Assertions.cpp:321 321 *(int *)(uintptr_t)0xbbadbeef = 0; (gdb) info stack #0 0x00007ffff6e6ece1 in WTFCrash () at ../../../Source/WTF/wtf/Assertions.cpp:321 #1 0x000000000046f0f6 in (anonymous namespace)::testBitNotOnBooleanAndBranch32 (a=0, b=0) at ../../../Source/JavaScriptCore/b3/testb3.cpp:2735 #2 0x00000000004b6145 in (anonymous namespace)::<lambda()>::operator()(void) const (__closure=0x7fffaf5f9f28) at ../../../Source/JavaScriptCore/b3/testb3.cpp:10506 #3 0x00000000006183a8 in WTF::SharedTaskFunctor<void(), (anonymous namespace)::run(char const*)::<lambda()> >::run(void) (this=0x7fffaf5f9f18) at ../../../Source/WTF/wtf/SharedTask.h:90 #4 0x00000000004c40f1 in (anonymous namespace)::<lambda()>::operator()(void) const (__closure=0x8541f0) at ../../../Source/JavaScriptCore/b3/testb3.cpp:11404 #5 0x00000000005ab4e9 in std::_Function_handler<void(), (anonymous namespace)::run(char const*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/4.9/functional:2039 #6 0x00007ffff68f26a2 in std::function<void ()>::operator()() const (this=0x7fffad3fbe50) at /usr/include/c++/4.9/functional:2439 #7 0x00007ffff6e8a27d in WTF::threadEntryPoint (contextData=0x7fffaf1d0140) at ../../../Source/WTF/wtf/Threading.cpp:58 #8 0x00007ffff6ebdf8e in WTF::wtfThreadEntryPoint (param=0x7fffaedc6f80) at ../../../Source/WTF/wtf/ThreadingPthreads.cpp:164 #9 0x00007ffff31ec182 in start_thread (arg=0x7fffad3fc700) at pthread_create.c:312 #10 0x00007ffff440c47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Yusuke Suzuki
Comment 5 2016-01-30 09:24:26 PST
Ah, ignore that, I've just modified some part of B3 to test https://bugs.webkit.org/show_bug.cgi?id=153647
Note You need to log in before you can comment on or make changes to this bug.