Status: New
Owner: ----

New issue 1156 by [email protected]: V8 Crash when idling at news.google.com
http://code.google.com/p/v8/issues/detail?id=1156

Detailed description of the issue.

With current top of tree debug Chromium just navigate to http:// news.google.com and leave the window alone for 10 to 30 minutes.
Eventually V8 will assert and kill the renderer process.

The trigger is this assert on line 118 of deoptimizer-ia32.cc  in function
void Deoptimizer::DeoptimizeFunction(JSFunction* function).

----snippet----
  // Handle the junk part after the new relocation info. We will create
// a non-live object in the extra space at the end of the former reloc info.
  Address junk_address = reloc_info->address() + reloc_info->Size();
  ASSERT(junk_address <= reloc_end_address);
--------------

Looking with the debugger showed that junk_address was reloc_end_address + 4 at the time this fired.

Backtrace:

Thread 0 Crashed:  CrRendererMain  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib                   0x9902f176 __kill + 10
1   libSystem.B.dylib                   0x9902f168 kill$UNIX2003 + 32
2   libSystem.B.dylib                   0x990c189d raise + 26
3   libSystem.B.dylib                   0x990d79bc abort + 93
4   ...chromium.Chromium.framework      0x0187fda5 v8::internal::OS::Abort() + 
11
5   ...chromium.Chromium.framework      0x015a2f35 V8_Fatal + 185
6 ...chromium.Chromium.framework 0x018047bb CheckHelper(char const*, int, char const*, bool) + 74 7 ...chromium.Chromium.framework 0x01807005 v8::internal::Deoptimizer::DeoptimizeFunction(v8::internal::JSFunction*) + 683 8 ...chromium.Chromium.framework 0x015cfac7 v8::internal::DeoptimizingVisitor::VisitFunction(v8::internal::JSFunction*) + 17 9 ...chromium.Chromium.framework 0x015ce7fd v8::internal::Deoptimizer::VisitAllOptimizedFunctionsForContext(v8::internal::Context*, v8::internal::OptimizedFunctionVisitor*) + 157 10 ...chromium.Chromium.framework 0x015ce8ba v8::internal::Deoptimizer::VisitAllOptimizedFunctionsForGlobalObject(v8::internal::JSObject*, v8::internal::OptimizedFunctionVisitor*) + 128 11 ...chromium.Chromium.framework 0x015ce9aa v8::internal::Deoptimizer::DeoptimizeGlobalObject(v8::internal::JSObject*) + 46 12 ...chromium.Chromium.framework 0x01577257 v8::Object::ForceDelete(v8::Handle<v8::Value>) + 185 13 ...chromium.Chromium.framework 0x025bd912 WebCore::V8DOMWindowShell::clearDocumentWrapperCache() + 192 14 ...chromium.Chromium.framework 0x025be7c5 WebCore::V8DOMWindowShell::clearForNavigation() + 93 15 ...chromium.Chromium.framework 0x025d1bd4 WebCore::V8Proxy::clearForNavigation() + 36 16 ...chromium.Chromium.framework 0x025a52c8 WebCore::ScriptController::clearWindowShell(bool) + 34 17 ...chromium.Chromium.framework 0x028e8de3 WebCore::FrameLoader::clear(bool, bool, bool) + 353 18 ...chromium.Chromium.framework 0x028dc77e WebCore::DocumentWriter::begin(WebCore::KURL const&, bool, WebCore::SecurityOrigin*) + 382 19 ...chromium.Chromium.framework 0x028e89ed WebCore::FrameLoader::receivedFirstData() + 73 20 ...chromium.Chromium.framework 0x028e8c80 WebCore::FrameLoader::willSetEncoding() + 40 21 ...chromium.Chromium.framework 0x028dbd0d WebCore::DocumentWriter::setEncoding(WTF::String const&, bool) + 33 22 ...chromium.Chromium.framework 0x028d0e9c WebCore::DocumentLoader::commitData(char const*, int) + 128 23 ...chromium.Chromium.framework 0x0205a9f4 WebKit::WebFrameImpl::commitDocumentData(char const*, unsigned long) + 56 24 ...chromium.Chromium.framework 0x0201e3c0 WebKit::FrameLoaderClientImpl::committedLoad(WebCore::DocumentLoader*, char const*, int) + 176 25 ...chromium.Chromium.framework 0x028d0fdf WebCore::DocumentLoader::commitLoad(char const*, int) + 105 26 ...chromium.Chromium.framework 0x028d1038 WebCore::DocumentLoader::receivedData(char const*, int) + 76 27 ...chromium.Chromium.framework 0x028ffa60 WebCore::MainResourceLoader::addData(char const*, int, bool) + 80 28 ...chromium.Chromium.framework 0x0290a971 WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool) + 83 29 ...chromium.Chromium.framework 0x028ff087 WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool) + 401 30 ...chromium.Chromium.framework 0x0290a114 WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int) + 108 31 ...chromium.Chromium.framework 0x02037580 WebCore::ResourceHandleInternal::didReceiveData(WebKit::WebURLLoader*, char const*, int) + 220 32 ...chromium.Chromium.framework 0x01b401af webkit_glue::WebURLLoaderImpl::Context::OnReceivedData(char const*, int) + 225 33 ...chromium.Chromium.framework 0x001307ad ResourceDispatcher::OnReceivedData(IPC::Message const&, int, base::FileDescriptor, int) + 485 34 ...chromium.Chromium.framework 0x00134919 bool IPC::MessageWithTuple<Tuple3<int, base::FileDescriptor, int>
::Dispatch<ResourceDispatcher, ResourceDispatcher, int,
base::FileDescriptor, int>(IPC::Message const*, ResourceDispatcher*, ResourceDispatcher*, void (ResourceDispatcher::*)(IPC::Message const&, int, base::FileDescriptor, int)) + 142 35 ...chromium.Chromium.framework 0x0012f9af ResourceDispatcher::DispatchMessage(IPC::Message const&) + 617 36 ...chromium.Chromium.framework 0x00130c0c ResourceDispatcher::OnMessageReceived(IPC::Message const&) + 724 37 ...chromium.Chromium.framework 0x0016a1f2 ChildThread::OnMessageReceived(IPC::Message const&) + 44 38 ...chromium.Chromium.framework 0x019f7d52 IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message const&) + 144 39 ...chromium.Chromium.framework 0x019f8da2 void DispatchToMethod<IPC::ChannelProxy::Context, void (IPC::ChannelProxy::Context::*)(IPC::Message const&), IPC::Message>(IPC::ChannelProxy::Context*, void (IPC::ChannelProxy::Context::*)(IPC::Message const&), Tuple1<IPC::Message> const&) + 63 40 ...chromium.Chromium.framework 0x019f8ddd RunnableMethod<IPC::ChannelProxy::Context, void (IPC::ChannelProxy::Context::*)(IPC::Message const&), Tuple1<IPC::Message>
::Run() + 57
41 ...chromium.Chromium.framework 0x00e10d7d MessageLoop::RunTask(Task*) + 303 42 ...chromium.Chromium.framework 0x00e10f07 MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) + 53
43  ...chromium.Chromium.framework      0x00e1177f MessageLoop::DoWork() + 253
44 ...chromium.Chromium.framework 0x00ddc172 base::MessagePumpCFRunLoopBase::RunWork() + 74 45 ...chromium.Chromium.framework 0x00ddc1b7 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 23
46  com.apple.CoreFoundation            0x9025b4cb __CFRunLoopDoSources0 + 1563
47  com.apple.CoreFoundation            0x90258f8f __CFRunLoopRun + 1071
48  com.apple.CoreFoundation            0x90258464 CFRunLoopRunSpecific + 452
49  com.apple.CoreFoundation            0x90258291 CFRunLoopRunInMode + 97
50 com.apple.HIToolbox 0x94da3004 RunCurrentEventLoopInMode + 392
51  com.apple.HIToolbox                 0x94da2dbb ReceiveNextEventCommon + 354
52 com.apple.HIToolbox 0x94da2c40 BlockUntilNextEventMatchingListInMode + 81
53  com.apple.AppKit                    0x90c8b78d _DPSNextEvent + 847
54 com.apple.AppKit 0x90c8afce -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
55  com.apple.AppKit                    0x90c4d247 -[NSApplication run] + 821
56 ...chromium.Chromium.framework 0x00ddbcce base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 100 57 ...chromium.Chromium.framework 0x00ddc2a3 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 175 58 ...chromium.Chromium.framework 0x00e11a6a MessageLoop::RunInternal() + 188
59  ...chromium.Chromium.framework      0x00e11a85 MessageLoop::RunHandler() + 
17
60  ...chromium.Chromium.framework      0x00e11ae9 MessageLoop::Run() + 35
61 ...chromium.Chromium.framework 0x00d276c0 RendererMain(MainFunctionParams const&) + 1936 62 ...chromium.Chromium.framework 0x000085da (anonymous namespace)::RunNamedProcessTypeMain(std::string const&, MainFunctionParams const&) + 78 (chrome_main.cc:622) 63 ...chromium.Chromium.framework 0x000083bb ChromeMain + 3929 (chrome_main.cc:950) 64 org.chromium.Chromium.helper 0x00001f52 main + 24 (chrome_exe_main_mac.mm:16)
65  org.chromium.Chromium.helper        0x00001f0e start + 54


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to