RESOLVED FIXED 120551
CodeBlock refactoring broke profile dumping
https://bugs.webkit.org/show_bug.cgi?id=120551
Summary CodeBlock refactoring broke profile dumping
Mark Hahnenberg
Reported 2013-08-30 14:48:03 PDT
[24] $ export DYLD_LIBRARY_PATH=/Volumes/Data/WebKit-svn-01/OpenSource/WebKitBuild/Debug [25] $ export DYLD_FRAMEWORK_PATH=/Volumes/Data/WebKit-svn-01/OpenSource/WebKitBuild/Debug [26] $ /Volumes/Data/WebKit-svn-01/OpenSource/WebKitBuild/Debug/jsc bencher3 V8v7/splay: Conf#1: 0: 0: Time: 2.6188140389806938 [27] $ /Volumes/Data/WebKit-svn-01/OpenSource/WebKitBuild/Debug/jsc bencher3 -p out.profile ASSERTION FAILED: m_programCodeBlock /Volumes/Data/WebKit-svn-01/OpenSource/Source/JavaScriptCore/runtime/Executable.h(516) : JSC::ProgramCodeBlock &JSC::ProgramExecutable::generatedBytecode() 1 0x10a881080 WTFCrash 2 0x10a35efc6 JSC::ProgramExecutable::generatedBytecode() 3 0x10a35538d JSC::ProgramCodeBlock::replacement() 4 0x10a3538a3 JSC::CodeBlock::baselineVersion() 5 0x10a7d6ace JSC::Profiler::Database::ensureBytecodesFor(JSC::CodeBlock*) 6 0x10a593929 JSC::ScriptExecutable::installCode(JSC::CodeBlock*) 7 0x10a594a3b JSC::ScriptExecutable::prepareForExecutionImpl(JSC::ExecState*, JSC::JSScope*, JSC::CodeSpecializationKind) 8 0x10a2f67ed JSC::ScriptExecutable::prepareForExecution(JSC::ExecState*, JSC::JSScope*, JSC::CodeSpecializationKind) 9 0x10a5c2021 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) 10 0x10a39bb5f JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) 11 0x10a28c457 runWithScripts(GlobalObject*, WTF::Vector<Script, 0ul, WTF::CrashOnOverflow> const&, bool) 12 0x10a28bb4c jscmain(int, char**) 13 0x10a28b9ae main 14 0x7fff8e6075fd start Segmentation fault: 11 Is there a way we could add some very basic tests to make sure we don't keep breaking profiling?
Attachments
the patch (21.17 KB, patch)
2013-08-30 15:32 PDT, Filip Pizlo
no flags
Mark Hahnenberg
Comment 1 2013-08-30 14:49:45 PDT
> Is there a way we could add some very basic tests to make sure we don't keep breaking profiling? s/profiling/profile dumping/
Filip Pizlo
Comment 2 2013-08-30 14:54:20 PDT
(In reply to comment #1) > > Is there a way we could add some very basic tests to make sure we don't keep breaking profiling? > > s/profiling/profile dumping/ Yeah we need a way to add new tests that specify a JS file to run and the command-line arguments to use...
Filip Pizlo
Comment 3 2013-08-30 15:07:50 PDT
That's it. I'm eradicating this concept of Executable returning CodeBlock&. It should be CodeBlock*. I'm so tired of C++ references being used for anything other than function parameters. It just causes bugs like this.
Filip Pizlo
Comment 4 2013-08-30 15:32:27 PDT
Created attachment 210169 [details] the patch
Filip Pizlo
Comment 5 2013-08-31 18:59:02 PDT
r=michael
Filip Pizlo
Comment 6 2013-08-31 19:02:05 PDT
Filip Pizlo
Comment 7 2013-09-01 09:52:36 PDT
Comment on attachment 210169 [details] the patch Clearing r? - msaboff reviewed it on irc.
Note You need to log in before you can comment on or make changes to this bug.