Bug 42642 - [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
Summary: [v8] Web Inspector: inspected page renderer crashes when inspected page has J...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (Deprecated) (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 42831
  Show dependency treegraph
 
Reported: 2010-07-20 08:00 PDT by Andrey Kosyakov
Modified: 2010-07-22 09:16 PDT (History)
2 users (show)

See Also:


Attachments
test page (37 bytes, text/html)
2010-07-20 08:00 PDT, Andrey Kosyakov
no flags Details
Patch (1.48 KB, patch)
2010-07-20 08:09 PDT, Yury Semikhatsky
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Kosyakov 2010-07-20 08:00:36 PDT
Created attachment 62076 [details]
test page

1. Load a page with syntax error (sample attached)
2. Open inspector
3. Reload page
4. Observe crash in inspected page renderer

Call stack:
>	chrome.dll!WTF::Vector<WTF::OwnPtr<WebCore::ScriptCallFrame>,0>::at(unsigned int i=0)  Line 533 + 0x29 bytes	C++
 	chrome.dll!WebCore::ScriptCallStack::at(unsigned int index=0)  Line 119 + 0xf bytes	C++
 	chrome.dll!WebCore::ConsoleMessage::ConsoleMessage(WebCore::MessageSource s=JSMessageSource, WebCore::MessageType t=UncaughtExceptionMessageType, WebCore::MessageLevel l=ErrorMessageLevel, const WebCore::String & m="Uncaught SyntaxError: Unexpected token )", WebCore::ScriptCallStack * callStack=0x0c238fc0, unsigned int g=0, bool storeTrace=true)  Line 95 + 0x56 bytes	C++
 	chrome.dll!WebCore::InspectorController::addMessageToConsole(WebCore::MessageSource source=JSMessageSource, WebCore::MessageType type=UncaughtExceptionMessageType, WebCore::MessageLevel level=ErrorMessageLevel, WebCore::ScriptCallStack * callStack=0x0c238fc0, const WebCore::String & message="Uncaught SyntaxError: Unexpected token )")  Line 346 + 0x53 bytes	C++
 	chrome.dll!WebCore::Console::addMessage(WebCore::MessageSource source=JSMessageSource, WebCore::MessageType type=UncaughtExceptionMessageType, WebCore::MessageLevel level=ErrorMessageLevel, const WebCore::String & message="Uncaught SyntaxError: Unexpected token )", unsigned int lineNumber=2, const WebCore::String & sourceURL="file:///E:/caseq/wip/syntxerr.html湨潴映汩᭸揳", WebCore::ScriptCallStack * callStack=0x0c238fc0)  Line 159	C++
 	chrome.dll!WebCore::V8ConsoleMessage::dispatchNow(WebCore::Page * page=0x0a64d1e0, WebCore::ScriptCallStack * callStack=0x0c238fc0)  Line 142	C++
 	chrome.dll!WebCore::V8ConsoleMessage::handler(v8::Handle<v8::Message> message={...}, v8::Handle<v8::Value> data={...})  Line 129	C++
 	chrome.dll!v8::internal::MessageHandler::ReportMessage(v8::internal::MessageLocation * loc=0x07bbea04, v8::internal::Handle<v8::internal::Object> message={...})  Line 146 + 0x28 bytes	C++
 	chrome.dll!v8::internal::Top::ReportPendingMessages()  Line 928 + 0xd bytes	C++
 	chrome.dll!v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::String> source={...}, v8::internal::Handle<v8::internal::Object> script_name={...}, int line_offset=1, int column_offset=0, v8::Extension * extension=0x00000000, v8::internal::ScriptDataImpl * input_pre_data=0x00000000, v8::internal::Handle<v8::internal::Object> script_data={...}, v8::internal::NativesFlag natives=NOT_NATIVES_CODE)  Line 350	C++
 	chrome.dll!v8::Script::New(v8::Handle<v8::String> source={...}, v8::ScriptOrigin * origin=0x07bbec20, v8::ScriptData * pre_data=0x00000000, v8::Handle<v8::String> script_data={...})  Line 1184 + 0x40 bytes	C++
 	chrome.dll!v8::Script::Compile(v8::Handle<v8::String> source={...}, v8::ScriptOrigin * origin=0x07bbec20, v8::ScriptData * pre_data=0x00000000, v8::Handle<v8::String> script_data={...})  Line 1205 + 0x19 bytes	C++
 	chrome.dll!WebCore::V8Proxy::compileScript(v8::Handle<v8::String> code={...}, const WebCore::String & fileName="file:///E:/caseq/wip/syntxerr.html", int baseLine=1, v8::ScriptData * scriptData=0x00000000)  Line 244 + 0x20 bytes	C++
 	chrome.dll!WebCore::V8Proxy::evaluate(const WebCore::ScriptSourceCode & source={...}, WebCore::Node * node=0x00000000)  Line 399 + 0x38 bytes	C++
 	chrome.dll!WebCore::ScriptController::evaluate(const WebCore::ScriptSourceCode & sourceCode={...}, WebCore::ShouldAllowXSS shouldAllowXSS=DoNotAllowXSS)  Line 241	C++
 	chrome.dll!WebCore::ScriptController::executeScript(const WebCore::ScriptSourceCode & sourceCode={...}, WebCore::ShouldAllowXSS shouldAllowXSS=DoNotAllowXSS)  Line 62	C++
Comment 1 Yury Semikhatsky 2010-07-20 08:09:46 PDT
Created attachment 62078 [details]
Patch
Comment 2 Yury Semikhatsky 2010-07-20 08:17:48 PDT
Comment on attachment 62078 [details]
Patch

Clearing flags on attachment: 62078

Committed r63746: <http://trac.webkit.org/changeset/63746>
Comment 3 Yury Semikhatsky 2010-07-20 08:17:58 PDT
All reviewed patches have been landed.  Closing bug.