Issue metadata
Sign in to add a comment
|
'Uncaught SyntaxError: Unexpected end of arg string' on many sites
Reported by
vsemozhe...@gmail.com,
Apr 1 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3053.3 Safari/537.36 Steps to reproduce the problem: Try to interact with the sites mentioned below What is the expected behavior? UI is OK What went wrong? Starting from 59.0.3057.0 console output is flooded by error 'Uncaught SyntaxError: Unexpected end of arg string'. It is reported on initial loading and then on trying to click on buttons or links configured to work as buttons. This error breaks UI. Did this work before? Yes till 59.0.3057.0 Chrome version: 59.0.3059.0 Channel: canary OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: 25.0.0.148 Some sites seem to work despite this message (google search, Gmail). Some sites fall back to default links behavior (Facebook 'See More' links produce location change instead of text unfolding). Some sites are mostly broken: UI interaction in the inoreader.com are mostly disabled (folder tree or news list traversal); ironically, the issue wizard on the chromiumbugs.appspot.com is also broken (button 'Next' does not work.)
,
Apr 2 2017
Crossposted in the https://bugs.chromium.org/p/v8/issues/detail?id=6190
,
Apr 2 2017
A simple reproducible case: 1. Open the attached test.html 2. Click on the button. 3. See the error message and the code, like in the attached test.png.
,
Apr 3 2017
,
Apr 3 2017
Unable to reproduce the issue on Windows 7, Mac 10.12.4 & Ubuntu 14.04 using chrome reported version-59.0.3059.0 & latest Canary-59.0.3060.0 as per steps mentioned in comment#3. No error observed in devtools->Console when user click on 'test' button. Please find the attached screencast for reference. Thank you!! Note: Verified on 59.0.3057.0 build also.
,
Apr 3 2017
Did you enable #enable-javascript-harmony flag in chrome://flags/#enable-javascript-harmony?
,
Apr 3 2017
Thank you for providing more feedback. Adding requester "jmukthavaram@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 3 2017
For some reason the bug cannot be reproduced in waterfall snapshots (at least on Windows) from https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html Reproducible in the official Google Chrome canary 59.0.3060.0 64-bit r461328 on Windows 7x64. Suspecting https://crrev.com/2156303002 which added this error message. The only place that emits it is in v8::parser.cc: https://cs.chromium.org/chromium/src/v8/src/parsing/parser.cc?l=3236&rcl=71860a8cc1369a36975edd415cf735f6c9661993 I've set a breakpoint at that line and got this callstack: > chrome_child.dll!v8::internal::Parser::ParseFunction(const v8::internal::AstRawString * function_name, int pos, v8::internal::FunctionKind kind, v8::internal::FunctionLiteral::FunctionType function_type, v8::internal::DeclarationScope * function_scope, int * num_parameters, int * function_length, bool * has_duplicate_parameters, int * expected_property_count, bool * ok) Line 3234 C++ chrome_child.dll!v8::internal::Parser::ParseFunctionLiteral(const v8::internal::AstRawString * function_name, v8::internal::Scanner::Location function_name_location, v8::internal::FunctionNameValidity function_name_validity, v8::internal::FunctionKind kind, int function_token_pos, v8::internal::FunctionLiteral::FunctionType function_type, v8::internal::LanguageMode language_mode, bool * ok) Line 2722 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseMemberExpression(bool * is_async, bool * ok) Line 3414 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseMemberWithNewPrefixesExpression(bool * is_async, bool * ok) Line 3348 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseLeftHandSideExpression(bool * ok) Line 3155 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParsePostfixExpression(bool * ok) Line 3125 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseUnaryExpression(bool * ok) Line 3116 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseConditionalExpression(bool accept_IN, bool * ok) Line 2956 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseAssignmentExpression(bool accept_IN, bool * ok) Line 2730 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseExpressionCoverGrammar(bool accept_IN, bool * ok) Line 1923 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParsePrimaryExpression(bool * is_async, bool * ok) Line 1840 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseMemberExpression(bool * is_async, bool * ok) Line 3417 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseMemberWithNewPrefixesExpression(bool * is_async, bool * ok) Line 3348 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseLeftHandSideExpression(bool * ok) Line 3155 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParsePostfixExpression(bool * ok) Line 3125 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseUnaryExpression(bool * ok) Line 3116 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseConditionalExpression(bool accept_IN, bool * ok) Line 2956 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseAssignmentExpression(bool accept_IN, bool * ok) Line 2730 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseExpressionCoverGrammar(bool accept_IN, bool * ok) Line 1923 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseExpressionOrLabelledStatement(v8::internal::ZoneList<v8::internal::AstRawString const *> * labels, v8::internal::AllowLabelledFunctionStatement allow_function, bool * ok) Line 5003 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseStatement(v8::internal::ZoneList<v8::internal::AstRawString const *> * labels, v8::internal::AllowLabelledFunctionStatement allow_function, bool * ok) Line 4847 C++ chrome_child.dll!v8::internal::ParserBase<v8::internal::Parser>::ParseStatementList(v8::internal::ZoneList<v8::internal::Statement *> * body, int end_token, bool ok, bool *) Line 4650 C++ chrome_child.dll!v8::internal::Parser::DoParseProgram(v8::internal::ParseInfo * info) Line 736 C++ chrome_child.dll!v8::internal::Parser::ParseProgram(v8::internal::Isolate * isolate, v8::internal::ParseInfo * info) Line 644 C++ chrome_child.dll!v8::internal::parsing::ParseProgram(v8::internal::ParseInfo * info, v8::internal::Isolate * isolate, bool internalize) Line 29 C++ chrome_child.dll!v8::internal::`anonymous namespace'::CompileToplevel(v8::internal::CompilationInfo * info) Line 1136 C++ chrome_child.dll!v8::internal::Compiler::GetFunctionFromEval(v8::internal::Handle<v8::internal::String> source, v8::internal::Handle<v8::internal::SharedFunctionInfo> outer_info, v8::internal::Handle<v8::internal::Context> context, v8::internal::LanguageMode language_mode, v8::internal::ParseRestriction restriction, int parameters_end_pos, int eval_scope_position, int eval_position, int line_offset, int column_offset, v8::internal::Handle<v8::internal::Object> script_name, v8::ScriptOriginOptions options) Line 1502 C++ chrome_child.dll!v8::ScriptCompiler::CompileFunctionInContext(v8::Local<v8::Context> v8_context, v8::ScriptCompiler::Source * source, unsigned __int64 arguments_count, v8::Local<v8::String> * arguments, unsigned __int64 context_extension_count, v8::Local<v8::Object> * context_extensions) Line 2361 C++ chrome_child.dll!blink::V8LazyEventListener::compileScript(blink::ScriptState * scriptState, blink::ExecutionContext * executionContext) Line 198 C++ chrome_child.dll!blink::V8LazyEventListener::getListenerObjectInternal(blink::ExecutionContext * executionContext) Line 156 C++ chrome_child.dll!blink::V8LazyEventListener::callListenerFunction(blink::ScriptState * scriptState, v8::Local<v8::Value> jsEvent, blink::Event * event) Line 89 C++ chrome_child.dll!blink::V8AbstractEventListener::invokeEventHandler(blink::ScriptState * scriptState, blink::Event * event, v8::Local<v8::Value> jsEvent) Line 142 C++ chrome_child.dll!blink::V8AbstractEventListener::handleEvent(blink::ScriptState * scriptState, blink::Event * event) Line 103 C++ chrome_child.dll!blink::V8AbstractEventListener::handleEvent(blink::ExecutionContext * executionContext, blink::Event * event) Line 90 C++ chrome_child.dll!blink::EventTarget::fireEventListeners(blink::Event * event, blink::EventTargetData * d, blink::HeapVector<blink::RegisteredEventListener,1> & entry) Line 716 C++ chrome_child.dll!blink::EventTarget::fireEventListeners(blink::Event * event) Line 573 C++ chrome_child.dll!blink::Node::handleLocalEvents(blink::Event & event) Line 2068 C++ chrome_child.dll!blink::EventDispatcher::dispatch() Line 155 C++ chrome_child.dll!blink::MouseEventDispatchMediator::dispatchEvent(blink::EventDispatcher & dispatcher) Line 453 C++ chrome_child.dll!blink::EventDispatcher::dispatchEvent(blink::Node & node, blink::EventDispatchMediator * mediator) Line 59 C++ chrome_child.dll!blink::MouseEventManager::dispatchMouseEvent(blink::EventTarget * target, const WTF::AtomicString & mouseEventType, const blink::WebMouseEvent & mouseEvent, const WTF::String & canvasRegionId, blink::EventTarget * relatedTarget, bool checkForListener) Line 214 C++ chrome_child.dll!blink::MouseEventManager::dispatchMouseClickIfNeeded(const blink::EventWithHitTestResults<blink::WebMouseEvent> & mev) Line 272 C++ chrome_child.dll!blink::EventHandler::handleMouseReleaseEvent(const blink::WebMouseEvent & mouseEvent) Line 985 C++ chrome_child.dll!blink::PageWidgetEventHandler::handleMouseUp(blink::LocalFrame & mainFrame, const blink::WebMouseEvent & event) Line 258 C++ chrome_child.dll!blink::WebViewImpl::handleMouseUp(blink::LocalFrame & mainFrame, const blink::WebMouseEvent & event) Line 588 C++ chrome_child.dll!blink::PageWidgetDelegate::handleInputEvent(blink::PageWidgetEventHandler & handler, const blink::WebCoalescedInputEvent & coalescedEvent, blink::LocalFrame * root) Line 169 C++ chrome_child.dll!blink::WebViewImpl::handleInputEvent(const blink::WebCoalescedInputEvent & coalescedEvent) Line 2270 C++ chrome_child.dll!content::RenderWidgetInputHandler::HandleInputEvent(const blink::WebCoalescedInputEvent & coalesced_event, const ui::LatencyInfo & latency_info, content::InputEventDispatchType dispatch_type) Line 312 C++ chrome_child.dll!content::RenderWidget::OnHandleInputEvent(const blink::WebInputEvent * input_event, const std::vector<blink::WebInputEvent const *,std::allocator<blink::WebInputEvent const *> > & coalesced_events, const ui::LatencyInfo & latency_info, content::InputEventDispatchType dispatch_type) Line 816 C++ chrome_child.dll!IPC::DispatchToMethod<content::RenderWidget,void (__cdecl content::RenderWidget::*)(blink::WebInputEvent const * __ptr64,std::vector<blink::WebInputEvent const * __ptr64,std::allocator<blink::WebInputEvent const * __ptr64> > const & __ptr64,ui::LatencyInfo const & __ptr64,enum content::InputEventDispatchType) __ptr64,void,std::tuple<blink::WebInputEvent const * __ptr64,std::vector<blink::WebInputEvent const * __ptr64,std::allocator<blink::WebInputEvent const * __ptr64> >,ui::LatencyInfo,enum content::InputEventDispatchType> >(content::RenderWidget * obj, void(content::RenderWidget::*)(const blink::WebInputEvent *, const std::vector<blink::WebInputEvent const *,std::allocator<blink::WebInputEvent const *> > &, const ui::LatencyInfo &, content::InputEventDispatchType) method, void * tuple, const std::tuple<blink::WebInputEvent const *,std::vector<blink::WebInputEvent const *,std::allocator<blink::WebInputEvent const *> >,ui::LatencyInfo,enum content::InputEventDispatchType> &) Line 27 C++ chrome_child.dll!IPC::MessageT<InputMsg_HandleInputEvent_Meta,std::tuple<blink::WebInputEvent const * __ptr64,std::vector<blink::WebInputEvent const * __ptr64,std::allocator<blink::WebInputEvent const * __ptr64> >,ui::LatencyInfo,enum content::InputEventDispatchType>,void>::Dispatch<content::RenderWidget,content::RenderWidget,void,void (__cdecl content::RenderWidget::*)(blink::WebInputEvent const * __ptr64,std::vector<blink::WebInputEvent const * __ptr64,std::allocator<blink::WebInputEvent const * __ptr64> > const & __ptr64,ui::LatencyInfo const & __ptr64,enum content::InputEventDispatchType) __ptr64>(const IPC::Message * msg, content::RenderWidget * obj, content::RenderWidget * func, void *) Line 121 C++ chrome_child.dll!content::RenderWidget::OnMessageReceived(const IPC::Message & message) Line 630 C++ chrome_child.dll!content::RenderViewImpl::OnMessageReceived(const IPC::Message & message) Line 1294 C++ chrome_child.dll!content::ChildThreadImpl::OnMessageReceived(const IPC::Message & msg) Line 748 C++ chrome_child.dll!base::internal::Invoker<base::internal::BindState<void (__cdecl content::ServiceManagerConnectionImpl::*)(service_manager::Identity const & __ptr64) __ptr64,base::WeakPtr<content::ServiceManagerConnectionImpl> >,void __cdecl(service_manager::Identity const & __ptr64)>::Run(base::internal::BindStateBase * base, const service_manager::Identity & <unbound_args_0>) Line 343 C++ chrome_child.dll!content::InputEventFilter::HandleEventOnMainThread(int routing_id, const blink::WebCoalescedInputEvent * event, const ui::LatencyInfo & latency_info, content::InputEventDispatchType dispatch_type) Line 345 C++ chrome_child.dll!content::`anonymous namespace'::QueuedWebInputEvent::Dispatch(int routing_id, content::MainThreadEventQueueClient * client) Line 137 C++ chrome_child.dll!content::MainThreadEventQueue::DispatchInFlightEvent() Line 395 C++ chrome_child.dll!content::MainThreadEventQueue::DispatchEvents() Line 437 C++ chrome_child.dll!base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 59 C++ chrome_child.dll!blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue * work_queue, bool is_nested, blink::scheduler::LazyNow time_before_task, base::TimeTicks * time_after_task) Line 542 C++ chrome_child.dll!blink::scheduler::TaskQueueManager::DoWork(bool delayed) Line 337 C++ chrome_child.dll!base::internal::Invoker<base::internal::BindState<void (__cdecl blink::scheduler::TaskQueueManager::*)(bool) __ptr64,base::WeakPtr<blink::scheduler::TaskQueueManager>,bool>,void __cdecl(void)>::Run(base::internal::BindStateBase * base) Line 343 C++ chrome_child.dll!base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 59 C++ chrome_child.dll!base::MessageLoop::RunTask(base::PendingTask * pending_task) Line 424 C++ chrome_child.dll!base::MessageLoop::DoWork() Line 527 C++ chrome_child.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate * delegate) Line 34 C++ chrome_child.dll!base::RunLoop::Run() Line 38 C++ chrome_child.dll!content::RendererMain(const content::MainFunctionParams & parameters) Line 200 C++ chrome_child.dll!content::RunNamedProcessTypeMain(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & process_type, const content::MainFunctionParams & main_function_params, content::ContentMainDelegate * delegate) Line 454 C++ chrome_child.dll!content::ContentMainRunnerImpl::Run() Line 729 C++ chrome_child.dll!service_manager::Main(const service_manager::MainParams & params) Line 179 C++ chrome_child.dll!ChromeMain(HINSTANCE__ * instance, sandbox::SandboxInterfaceInfo * sandbox_info, __int64 exe_entry_point_ticks) Line 123 C++ chrome.exe!MainDllLoader::Launch(HINSTANCE__ * instance, base::TimeTicks exe_entry_point_ticks) Line 204 C++ chrome.exe!wWinMain(HINSTANCE__ * instance, HINSTANCE__ * prev, wchar_t * __formal, int __formal) Line 272 C++
,
Apr 3 2017
I'm still seeing this on OSX 10.12.4, with Canary Version 59.0.3061.0 (up-to-date as of posting this). So far as I can tell, harmony is enabled (the button on that page says 'Disable', so I assume that means it is active). I reproduced with the sample HTML attached in comment #3
,
Apr 3 2017
It seems there is an attempt to fix it: https://bugs.chromium.org/p/v8/issues/detail?id=6190#c5
,
Apr 3 2017
,
Apr 4 2017
Issue 708067 has been merged into this issue. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by bfu...@gmail.com
, Apr 2 2017