Bug 131901 - REGRESSION(r167501): DYEBench times out
Summary: REGRESSION(r167501): DYEBench times out
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-19 14:45 PDT by Ryosuke Niwa
Modified: 2014-04-21 21:59 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Mark Hahnenberg 2014-04-19 14:57:13 PDT
It'd be nice if DYEBench had crash reports.
Comment 2 Ryosuke Niwa 2014-04-19 16:16:58 PDT
Actually it's just timing out.  Bisected the regression locally to a revision between r167501 and 167502.  Since r167502 is a bmalloc change and bmalloc hasn't been enabled by default, 167501 should be the culprit.
Comment 3 Ryosuke Niwa 2014-04-19 16:58:43 PDT
Looks like everyone is waiting for everyone else.

#8	0x000000010a87723a in DumpRenderTreeMain(int, char const**) at /Volumes/Data/webkit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:1258
#9	0x00007fff8bf185fd in start ()
#10	0x00007fff8bf185fd in start ()
Thread 3Queue : com.apple.libdispatch-manager (serial)
#0	0x00007fff82f61662 in kevent64 ()
#1	0x00007fff84c8943d in _dispatch_mgr_invoke at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/libdispatch/libdispatch-339.90.1/src/source.c:2278
#2	0x00007fff84c89152 in _dispatch_mgr_thread at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/libdispatch/libdispatch-339.90.1/src/source.c:2307
Thread 4 com.apple.NSURLConnectionLoader#0	0x00007fff82f5ca1a in mach_msg_trap ()
#1	0x00007fff82f5bd18 in mach_msg at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/xnu/xnu-2422.90.20/libsyscall/mach/mach_msg.c:103
#2	0x00007fff8e317155 in __CFRunLoopServiceMachPort at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/CF/CF-855.14/RunLoop.subproj/CFRunLoop.c:2344
#3	0x00007fff8e316779 in __CFRunLoopRun at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/CF/CF-855.14/RunLoop.subproj/CFRunLoop.c:2556
#4	0x00007fff8e3160b5 in CFRunLoopRunSpecific at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/CF/CF-855.14/RunLoop.subproj/CFRunLoop.c:2770
#5	0x00007fff8c6c7967 in +[NSURLConnection(Loader) _resourceLoadLoop:] at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/Foundation/Foundation-1056.13/URL.subproj/Connection.subproj/NSURLConnection.m:365
#6	0x00007fff8c6c776b in __NSThread__main__ at /SWE/OSX/Views/CabCPU/LaCrosse/Projects/Foundation/Foundation-1056.13/Soil.subproj/NSThread.m:1076
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 5 JavaScriptCore::BlockFree#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010a9e3283 in JSC::BlockAllocator::blockFreeingThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/BlockAllocator.cpp:146
#4	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#5	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#6	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#7	0x00007fff82592fc9 in thread_start ()
Thread 6 JavaScriptCore::Marking#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010ab399fb in void std::__1::condition_variable::wait<JSC::GCThread::waitForNextPhase()::$_1>(std::__1::unique_lock<std::__1::mutex>&, JSC::GCThread::waitForNextPhase()::$_1) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:376
#4	0x000000010ab399f0 in JSC::GCThread::waitForNextPhase() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:80
#5	0x000000010ab39a98 in JSC::GCThread::gcThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:98
#6	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 7 JavaScriptCore::Marking#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010ab399fb in void std::__1::condition_variable::wait<JSC::GCThread::waitForNextPhase()::$_1>(std::__1::unique_lock<std::__1::mutex>&, JSC::GCThread::waitForNextPhase()::$_1) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:376
#4	0x000000010ab399f0 in JSC::GCThread::waitForNextPhase() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:80
#5	0x000000010ab39a98 in JSC::GCThread::gcThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:98
#6	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 8 JavaScriptCore::Marking#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010ab399fb in void std::__1::condition_variable::wait<JSC::GCThread::waitForNextPhase()::$_1>(std::__1::unique_lock<std::__1::mutex>&, JSC::GCThread::waitForNextPhase()::$_1) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:376
#4	0x000000010ab399f0 in JSC::GCThread::waitForNextPhase() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:80
#5	0x000000010ab39a98 in JSC::GCThread::gcThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:98
#6	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 9 JavaScriptCore::Marking#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010ab399fb in void std::__1::condition_variable::wait<JSC::GCThread::waitForNextPhase()::$_1>(std::__1::unique_lock<std::__1::mutex>&, JSC::GCThread::waitForNextPhase()::$_1) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:376
#4	0x000000010ab399f0 in JSC::GCThread::waitForNextPhase() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:80
#5	0x000000010ab39a98 in JSC::GCThread::gcThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:98
#6	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 10 JavaScriptCore::Marking#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010ab399fb in void std::__1::condition_variable::wait<JSC::GCThread::waitForNextPhase()::$_1>(std::__1::unique_lock<std::__1::mutex>&, JSC::GCThread::waitForNextPhase()::$_1) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:376
#4	0x000000010ab399f0 in JSC::GCThread::waitForNextPhase() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:80
#5	0x000000010ab39a98 in JSC::GCThread::gcThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:98
#6	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 11 JavaScriptCore::Marking#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x00007fff8f98ed43 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libcxx/libcxx-120/src/condition_variable.cpp:40
#3	0x000000010ab399fb in void std::__1::condition_variable::wait<JSC::GCThread::waitForNextPhase()::$_1>(std::__1::unique_lock<std::__1::mutex>&, JSC::GCThread::waitForNextPhase()::$_1) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:376
#4	0x000000010ab399f0 in JSC::GCThread::waitForNextPhase() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:80
#5	0x000000010ab39a98 in JSC::GCThread::gcThreadMain() at /Volumes/Data/webkit/Source/JavaScriptCore/heap/GCThread.cpp:98
#6	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#7	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#8	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#9	0x00007fff82592fc9 in thread_start ()
Thread 12 JSC Compilation Thread#0	0x00007fff82f60716 in __psynch_cvwait ()
#1	0x00007fff82590c3b in _pthread_cond_wait at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread_cond.c:516
#2	0x000000010ab2ddeb in JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) at /Volumes/Data/webkit/Source/JavaScriptCore/dfg/DFGWorklist.cpp:275
#3	0x000000010adc53df in WTF::wtfThreadEntryPoint(void*) at /Volumes/Data/webkit/Source/WTF/wtf/ThreadingPthreads.cpp:168
#4	0x00007fff8258e899 in _pthread_body at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:629
#5	0x00007fff8258e72a in _pthread_start at /Network/Servers/xbsviews1.sd.apple.com/ifs/Views/Views100/Cab/Projects/libpthread/libpthread-53.1.4/src/pthread.c:654
#6	0x00007fff82592fc9 in thread_start ()
Thread 13 WebCore: LocalStorageThread 14 WebCore: LocalStorageThread 15
Comment 4 Mark Hahnenberg 2014-04-19 17:29:15 PDT
When running with DRT on command line I get the following:

CONSOLE MESSAGE: line 5780: TypeError: undefined is not an object (evaluating 'this.get('newTitle').trim')

Seems like this could cause a timeout. I'll investigate more.
Comment 5 Ryosuke Niwa 2014-04-19 17:48:02 PDT
(In reply to comment #4)
> When running with DRT on command line I get the following:
> 
> CONSOLE MESSAGE: line 5780: TypeError: undefined is not an object (evaluating 'this.get('newTitle').trim')
> 
> Seems like this could cause a timeout. I'll investigate more.

That indeed appears to be the problem.  I can reproduce it on Safari as well.  It's erroring out inside an ember.js test.  If I keep the inspector's console open, it doesn't hit that error so it ought be some JIT bug.
Comment 6 Mark Hahnenberg 2014-04-19 18:01:38 PDT
(In reply to comment #5)
> (In reply to comment #4)
> > When running with DRT on command line I get the following:
> > 
> > CONSOLE MESSAGE: line 5780: TypeError: undefined is not an object (evaluating 'this.get('newTitle').trim')
> > 
> > Seems like this could cause a timeout. I'll investigate more.
> 
> That indeed appears to be the problem.  I can reproduce it on Safari as well.  It's erroring out inside an ember.js test.  If I keep the inspector's console open, it doesn't hit that error so it ought be some JIT bug.

I can still repro when running with JSC_useJIT=0, so it seems unlikely it's a JIT problem unless it's related to the regular expression JIT (again, very unlikely). Maybe the inspector being open causes enough other random stuff to happen that we avoid hitting this particular bug.

I'm going to try running in debug mode to see what happens.
Comment 7 Mark Hahnenberg 2014-04-19 19:44:11 PDT
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #4)
> > > When running with DRT on command line I get the following:
> > > 
> > > CONSOLE MESSAGE: line 5780: TypeError: undefined is not an object (evaluating 'this.get('newTitle').trim')
> > > 
> > > Seems like this could cause a timeout. I'll investigate more.
> > 
> > That indeed appears to be the problem.  I can reproduce it on Safari as well.  It's erroring out inside an ember.js test.  If I keep the inspector's console open, it doesn't hit that error so it ought be some JIT bug.
> 
> I can still repro when running with JSC_useJIT=0, so it seems unlikely it's a JIT problem unless it's related to the regular expression JIT (again, very unlikely). Maybe the inspector being open causes enough other random stuff to happen that we avoid hitting this particular bug.
> 
> I'm going to try running in debug mode to see what happens.

Debug build didn't reveal any additional info. I'm going to try adding some logging to Structure transition stuff and see if that tells us anything.
Comment 8 Mark Hahnenberg 2014-04-19 22:29:32 PDT
I can catch the error in a debugger at the time it throws. It seems like the object in question has a Structure that is a descendent of a Structure that was the result of a delete transition. The current Structure and the ancestor Structure have different size property tables. My current theory is that we're somehow copying properties over incorrectly due to the resize of the property table when materializing.
Comment 9 Mark Hahnenberg 2014-04-20 04:36:57 PDT
Ok, well I've been unsuccessful in fixing this so far, so I'm going to recommend that we roll out the bad change so that we don't lose too much coverage on DYEBench.
Comment 10 Mark Hahnenberg 2014-04-20 04:47:31 PDT
(In reply to comment #9)
> Ok, well I've been unsuccessful in fixing this so far, so I'm going to recommend that we roll out the bad change so that we don't lose too much coverage on DYEBench.

Rolled out in http://trac.webkit.org/changeset/167564.
Comment 11 Ryosuke Niwa 2014-04-21 21:59:10 PDT
No longer seeing the hang.