Bug 83185

Summary: Layout Test fast/writing-mode/relative-positioning-percentages.html is crashing
Product: WebKit Reporter: Dimitri Glazkov (Google) <dglazkov>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: schenney, zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Dimitri Glazkov (Google)
Reported 2012-04-04 10:56:50 PDT
Can't point out a revision that could've caused it, but the stack trace looks like this: crash log for DumpRenderTree (pid 1648): STDOUT: <empty> STDERR: ASSERTION FAILED: !needsLayout() STDERR: /b/build/slave/webkit-mac-latest-dbg/build/src/third_party/WebKit/Source/WebCore/WebCore.gyp/../page/FrameView.cpp(2986) : virtual void WebCore::FrameView::paintContents(WebCore::GraphicsContext *, const WebCore::IntRect &) STDERR: 1 0x6125706a WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&) STDERR: 2 0x604a326c WebCore::ScrollView::paint(WebCore::GraphicsContext*, WebCore::IntRect const&) STDERR: 3 0x61d7d8a3 WebCore::SVGImage::draw(WebCore::GraphicsContext*, WebCore::FloatRect const&, WebCore::FloatRect const&, WebCore::ColorSpace, WebCore::CompositeOperator) STDERR: 4 0x61d7d2ee WebCore::SVGImage::drawSVGToImageBuffer(WebCore::ImageBuffer*, WebCore::IntSize const&, float, WebCore::SVGImage::ShouldClearBuffer) STDERR: 5 0x61d7350d WebCore::SVGImageCache::redraw() STDERR: 6 0x61d73315 WebCore::SVGImageCache::imageContentChanged() STDERR: 7 0x6118838b WebCore::CachedImage::changedInRect(WebCore::Image const*, WebCore::IntRect const&) STDERR: 8 0x61188406 non-virtual thunk to WebCore::CachedImage::changedInRect(WebCore::Image const*, WebCore::IntRect const&) STDERR: 9 0x61d82a65 WebCore::SVGImageChromeClient::invalidateContentsAndRootView(WebCore::IntRect const&, bool) STDERR: 10 0x611ce91e WebCore::Chrome::invalidateContentsAndRootView(WebCore::IntRect const&, bool) STDERR: 11 0x604a241e WebCore::ScrollView::repaintContentRectangle(WebCore::IntRect const&, bool) STDERR: 12 0x61253239 WebCore::FrameView::doDeferredRepaints() STDERR: 13 0x6124f392 WebCore::FrameView::endDeferredRepaints() STDERR: 14 0x6124dad1 WebCore::FrameView::layout(bool) STDERR: 15 0x61249092 WebCore::FrameView::layoutTimerFired(WebCore::Timer<WebCore::FrameView>*) STDERR: 16 0x6126b4b7 WebCore::Timer<WebCore::FrameView>::fired() STDERR: 17 0x604b918e WebCore::ThreadTimers::sharedTimerFiredInternal() STDERR: 18 0x604b8f1f WebCore::ThreadTimers::sharedTimerFired() STDERR: 19 0x621677f9 webkit_glue::WebKitPlatformSupportImpl::DoTimeout() STDERR: 20 0x62168984 base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>::Run(webkit_glue::WebKitPlatformSupportImpl*) STDERR: 21 0x62168883 base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>, void ()(webkit_glue::WebKitPlatformSupportImpl*)>::MakeItSo(base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>, webkit_glue::WebKitPlatformSupportImpl*) STDERR: 22 0x621687c3 base::internal::Invoker<1, base::internal::BindState<base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>, void ()(webkit_glue::WebKitPlatformSupportImpl*), void ()(base::internal::UnretainedWrapper<webkit_glue::WebKitPlatformSupportImpl>)>, void ()(webkit_glue::WebKitPlatformSupportImpl*)>::Run(base::internal::BindStateBase*) STDERR: 23 0x5ec532eb base::Callback<void ()()>::Run() const STDERR: 24 0x5ed0233b base::Timer::RunScheduledTask() STDERR: 25 0x5ed02549 base::BaseTimerTaskInternal::Run() STDERR: 26 0x5ed02e14 base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>::Run(base::BaseTimerTaskInternal*) STDERR: 27 0x5ed02d13 base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>, void ()(base::BaseTimerTaskInternal*)>::MakeItSo(base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>, base::BaseTimerTaskInternal*) STDERR: 28 0x5ed02c4e base::internal::Invoker<1, base::internal::BindState<base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>, void ()(base::BaseTimerTaskInternal*), void ()(base::internal::OwnedWrapper<base::BaseTimerTaskInternal>)>, void ()(base::BaseTimerTaskInternal*)>::Run(base::internal::BindStateBase*) STDERR: 29 0x5ec532eb base::Callback<void ()()>::Run() const STDERR: 30 0x5ec50a0e MessageLoop::RunTask(base::PendingTask const&) STDERR: 31 0x5ec50db1 MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) STDERR: [1648:-1610537664:2418291914643:ERROR:process_util_posix.cc(142)] Received signal 11 STDERR: 0 DumpRenderTree 0x5ebee86f base::debug::StackTrace::StackTrace() + 63 STDERR: 1 DumpRenderTree 0x5ebee80b base::debug::StackTrace::StackTrace() + 43 STDERR: 2 DumpRenderTree 0x5eca34e7 base::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, __darwin_ucontext*) + 295 STDERR: 3 libSystem.B.dylib 0x9006a05b _sigtramp + 43 STDERR: 4 ??? 0xffffffff 0x0 + 4294967295 STDERR: 5 DumpRenderTree 0x604a326c WebCore::ScrollView::paint(WebCore::GraphicsContext*, WebCore::IntRect const&) + 1068 STDERR: 6 DumpRenderTree 0x61d7d8a3 WebCore::SVGImage::draw(WebCore::GraphicsContext*, WebCore::FloatRect const&, WebCore::FloatRect const&, WebCore::ColorSpace, WebCore::CompositeOperator) + 1107 STDERR: 7 DumpRenderTree 0x61d7d2ee WebCore::SVGImage::drawSVGToImageBuffer(WebCore::ImageBuffer*, WebCore::IntSize const&, float, WebCore::SVGImage::ShouldClearBuffer) + 1006 STDERR: 8 DumpRenderTree 0x61d7350d WebCore::SVGImageCache::redraw() + 445 STDERR: 9 DumpRenderTree 0x61d73315 WebCore::SVGImageCache::imageContentChanged() + 293 STDERR: 10 DumpRenderTree 0x6118838b WebCore::CachedImage::changedInRect(WebCore::Image const*, WebCore::IntRect const&) + 155 STDERR: 11 DumpRenderTree 0x61188406 non-virtual thunk to WebCore::CachedImage::changedInRect(WebCore::Image const*, WebCore::IntRect const&) + 54 STDERR: 12 DumpRenderTree 0x61d82a65 WebCore::SVGImageChromeClient::invalidateContentsAndRootView(WebCore::IntRect const&, bool) + 165 STDERR: 13 DumpRenderTree 0x611ce91e WebCore::Chrome::invalidateContentsAndRootView(WebCore::IntRect const&, bool) + 94 STDERR: 14 DumpRenderTree 0x604a241e WebCore::ScrollView::repaintContentRectangle(WebCore::IntRect const&, bool) + 414 STDERR: 15 DumpRenderTree 0x61253239 WebCore::FrameView::doDeferredRepaints() + 345 STDERR: 16 DumpRenderTree 0x6124f392 WebCore::FrameView::endDeferredRepaints() + 402 STDERR: 17 DumpRenderTree 0x6124dad1 WebCore::FrameView::layout(bool) + 3441 STDERR: 18 DumpRenderTree 0x61249092 WebCore::FrameView::layoutTimerFired(WebCore::Timer<WebCore::FrameView>*) + 66 STDERR: 19 DumpRenderTree 0x6126b4b7 WebCore::Timer<WebCore::FrameView>::fired() + 135 STDERR: 20 DumpRenderTree 0x604b918e WebCore::ThreadTimers::sharedTimerFiredInternal() + 334 STDERR: 21 DumpRenderTree 0x604b8f1f WebCore::ThreadTimers::sharedTimerFired() + 47 STDERR: 22 DumpRenderTree 0x621677f9 webkit_glue::WebKitPlatformSupportImpl::DoTimeout() + 73 STDERR: 23 DumpRenderTree 0x62168984 base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>::Run(webkit_glue::WebKitPlatformSupportImpl*) + 132 STDERR: 24 DumpRenderTree 0x62168883 base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>, void ()(webkit_glue::WebKitPlatformSupportImpl*)>::MakeItSo(base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>, webkit_glue::WebKitPlatformSupportImpl*) + 67 STDERR: 25 DumpRenderTree 0x621687c3 base::internal::Invoker<1, base::internal::BindState<base::internal::RunnableAdapter<void (webkit_glue::WebKitPlatformSupportImpl::*)()>, void ()(webkit_glue::WebKitPlatformSupportImpl*), void ()(base::internal::UnretainedWrapper<webkit_glue::WebKitPlatformSupportImpl>)>, void ()(webkit_glue::WebKitPlatformSupportImpl*)>::Run(base::internal::BindStateBase*) + 115 STDERR: 26 DumpRenderTree 0x5ec532eb base::Callback<void ()()>::Run() const + 75 STDERR: 27 DumpRenderTree 0x5ed0233b base::Timer::RunScheduledTask() + 363 STDERR: 28 DumpRenderTree 0x5ed02549 base::BaseTimerTaskInternal::Run() + 89 STDERR: 29 DumpRenderTree 0x5ed02e14 base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>::Run(base::BaseTimerTaskInternal*) + 132 STDERR: 30 DumpRenderTree 0x5ed02d13 base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>, void ()(base::BaseTimerTaskInternal*)>::MakeItSo(base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>, base::BaseTimerTaskInternal*) + 67 STDERR: 31 DumpRenderTree 0x5ed02c4e base::internal::Invoker<1, base::internal::BindState<base::internal::RunnableAdapter<void (base::BaseTimerTaskInternal::*)()>, void ()(base::BaseTimerTaskInternal*), void ()(base::internal::OwnedWrapper<base::BaseTimerTaskInternal>)>, void ()(base::BaseTimerTaskInternal*)>::Run(base::internal::BindStateBase*) + 110 STDERR: 32 DumpRenderTree 0x5ec532eb base::Callback<void ()()>::Run() const + 75 STDERR: 33 DumpRenderTree 0x5ec50a0e MessageLoop::RunTask(base::PendingTask const&) + 846 STDERR: 34 DumpRenderTree 0x5ec50db1 MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) + 97 STDERR: 35 DumpRenderTree 0x5ec50fe8 MessageLoop::DoWork() + 312 STDERR: 36 DumpRenderTree 0x5ebc116b base::MessagePumpCFRunLoopBase::RunWork() + 107 STDERR: 37 DumpRenderTree 0x5ebc0862 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 50 STDERR: 38 CoreFoundation 0x91d8942b __CFRunLoopDoSources0 + 1563 STDERR: 39 CoreFoundation 0x91d86eef __CFRunLoopRun + 1071 STDERR: 40 CoreFoundation 0x91d863c4 CFRunLoopRunSpecific + 452 STDERR: 41 CoreFoundation 0x91d861f1 CFRunLoopRunInMode + 97 STDERR: 42 HIToolbox 0x962d5e04 RunCurrentEventLoopInMode + 392 STDERR: 43 HIToolbox 0x962d5bb9 ReceiveNextEventCommon + 354 STDERR: 44 HIToolbox 0x962d5a3e BlockUntilNextEventMatchingListInMode + 81 STDERR: 45 AppKit 0x959a7595 _DPSNextEvent + 847 STDERR: 46 AppKit 0x959a6dd6 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156 STDERR: 47 AppKit 0x959691f3 -[NSApplication run] + 821 STDERR: 48 DumpRenderTree 0x5ebc1e8e base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 350 STDERR: 49 DumpRenderTree 0x5ebc0e5d base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 189 STDERR: 50 DumpRenderTree 0x5ec50373 MessageLoop::RunInternal() + 291 STDERR: 51 DumpRenderTree 0x5ec4f68b MessageLoop::RunHandler() + 43 STDERR: 52 DumpRenderTree 0x5ec4f5d0 MessageLoop::Run() + 64 STDERR: 53 DumpRenderTree 0x5e805b57 webkit_support::RunMessageLoop() + 39 STDERR: 54 DumpRenderTree 0x5e4a3ed2 TestShell::waitTestFinished() + 386 STDERR: 55 DumpRenderTree 0x5e494dcf TestShell::runFileTest(TestParams const&) + 975 STDERR: 56 DumpRenderTree 0x5e445f33 runTest(TestShell&, TestParams&, std::string const&, bool) + 1395 STDERR: 57 DumpRenderTree 0x5e4457fa main + 3722 STDERR: 58 DumpRenderTree 0x5e4248fe start + 54 STDERR: ax: bbadbeef, bx: 1aa3cc60, cx: c2a5da9, dx: c2a5da9 STDERR: di: 626511f7, si: 626249e6, bp: bfffc288, sp: bfffc1b0, ss: 23, flags: 210282 STDERR: ip: 61257074, cs: 1b, ds: 23, es: 23, fs: 0, gs: f
Attachments
Stephen Chenney
Comment 2 2012-04-04 13:31:21 PDT
We're right at this minute (actually, for the last two days), trying to track this down. Right now we've got it down to sensitivity to repaint and layout timer firing order. But basically the SVGImage code is trying to layout the FrameView to a new size but it's happening inside layout so the FrameView does not in fact lay out. I also do not know why SVG is in there. Something related to the image cache, as far as I can tell. Basically, a whole slew of Mac Chromium tests are flakey right now, with Debug builds tending to crash with this particular stack while Release just fails on image.
Stephen Chenney
Comment 3 2012-04-04 13:31:49 PDT
Oh, and could you file all of the crashes with this stack in 82232.
Stephen Chenney
Comment 4 2012-04-05 08:10:07 PDT
This is tracked in 82232, which in turn is dependent on a real fix for 78315. *** This bug has been marked as a duplicate of bug 82232 ***
Note You need to log in before you can comment on or make changes to this bug.