Closed
Bug 540078
Opened 15 years ago
Closed 9 years ago
ASSERTION: GetMinimumWidgetSize was ignored: 'rect->width == indicator_size'
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
b2g-v2.5 | --- | fixed |
People
(Reporter: MatsPalmgren_bugz, Unassigned)
References
(Depends on 2 open bugs)
Details
(Keywords: assertion)
Attachments
(2 files)
The underlying problem might be bug 369581 and/or bug 403934. STEPS TO REPRODUCE 1. load layout/generic/crashtests/382129-1.xhtml ACTUAL RESULTS ###!!! ASSERTION: GetMinimumWidgetSize was ignored: 'rect->width == indicator_size', file widget/src/gtk2/gtk2drawing.c, line 1049 Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0x7f5ddcd317e0 (LWP 29780)] RealBreak () at xpcom/base/nsDebugImpl.cpp:421 421 } (gdb) bt #0 RealBreak () at xpcom/base/nsDebugImpl.cpp:421 #1 0x00007f5ddbe7ed10 in NS_DebugBreak_P (aSeverity=1, aStr=0x7f5dcafc223b "GetMinimumWidgetSize was ignored", aExpr=0x7f5dcafc221d "rect->width == indicator_size", aFile=0x7f5dcafc21f2 "widget/src/gtk2/gtk2drawing.c", aLine=1049) at xpcom/base/nsDebugImpl.cpp:360 #2 0x00007f5dcaf78cfd in moz_gtk_toggle_paint (drawable=0x1567a60, rect=0x7fffe4d68a70, cliprect=0x7fffe4d68a60, state=0x7fffe4d69078, selected=0, inconsistent=0, isradio=0, direction=GTK_TEXT_DIR_LTR) at widget/src/gtk2/gtk2drawing.c:1048 #3 0x00007f5dcaf7b347 in moz_gtk_widget_paint (widget=<value optimized out>, drawable=0x1567a60, rect=0x7fffe4d68a70, cliprect=0x7fffe4d68a60, state=0x7fffe4d69078, flags=0, direction=GTK_TEXT_DIR_LTR) at widget/src/gtk2/gtk2drawing.c:3157 #4 0x00007f5dcafa5e35 in ThemeRenderer::NativeDraw (this=0x7fffe4d69070, drawable=0x1567a60, offsetX=<value optimized out>, offsetY=<value optimized out>, clipRects=<value optimized out>, numClipRects=<value optimized out>) at widget/src/gtk2/nsNativeThemeGTK.cpp:652 #5 0x00007f5dcb9172eb in NativeRendering (closure=0x7fffe4d68fd0, surface=<value optimized out>, offset_x=-30436, offset_y=-1, rectangles=0x7fffe4d68b40, num_rects=0) at gfx/thebes/src/gfxGdkNativeRenderer.cpp:67 #6 0x00007f5dcb8ef7a7 in _draw_with_xlib_direct (cr=0x1a67ca0, default_display=0x621f30, callback=0x7f5dcb917278 <NativeRendering>, closure=0x7fffe4d68fd0, bounds_width=53, bounds_height=64, capabilities=0) at gfx/thebes/src/cairo-xlib-utils.c:309 #7 0x00007f5dcb8efa9b in cairo_draw_with_gdk (cr=0x1a67ca0, callback=0x7f5dcb917278 <NativeRendering>, closure=0x7fffe4d68fd0, width=53, height=64, is_opaque=CAIRO_GDK_DRAWING_TRANSPARENT, capabilities=CAIRO_GDK_DRAWING_SUPPORTS_OFFSET, result=0x0) at gfx/thebes/src/cairo-xlib-utils.c:529 #8 0x00007f5dcb917183 in gfxGdkNativeRenderer::Draw (this=<value optimized out>, ctx=0x19a3e70, width=53, height=64, flags=3, output=0x0) at gfx/thebes/src/gfxGdkNativeRenderer.cpp:110 #9 0x00007f5dcafa72cb in nsNativeThemeGTK::DrawWidgetBackground (this=0x1115f20, aContext=<value optimized out>, aFrame=0x1a65ec0, aWidgetType=<value optimized out>, aRect=<value optimized out>, aDirtyRect=<value optimized out>) at widget/src/gtk2/nsNativeThemeGTK.cpp:803 #10 0x00007f5dc9c17a6d in nsCSSRendering::PaintBackgroundWithSC (aPresContext=0x7f5dbc065010, aRenderingContext=@0x19a3bb0, aForFrame=0x1a65ec0, aDirtyRect=@0x7f5dbc0abe58, aBorderArea=@0x7fffe4d69440, aBackground=@0x1a32100, aBorder=@0x7f5dbc0a20f0, aFlags=0, aBGClipRect=0x0) at layout/base/nsCSSRendering.cpp:2088 #11 0x00007f5dc9c17d61 in nsCSSRendering::PaintBackground (aPresContext=0x7f5dbc065010, aRenderingContext=@0x19a3bb0, aForFrame=0x1a65ec0, aDirtyRect=@0x7f5dbc0abe58, aBorderArea=@0x7fffe4d69440, aFlags=0, aBGClipRect=0x0) at layout/base/nsCSSRendering.cpp:1416 #12 0x00007f5dc9c25ffc in nsDisplayBackground::Paint (this=0x7f5dbc0abe40, aBuilder=<value optimized out>, aCtx=0x19a3bb0) at layout/base/nsDisplayList.cpp:711 #13 0x00007f5dc9c2657c in nsDisplayList::Paint (this=<value optimized out>, aBuilder=0x7fffe4d69600, aCtx=0x19a3bb0) at layout/base/nsDisplayList.cpp:415 #14 0x00007f5dc9c266df in nsDisplayClip::Paint (this=0x7f5dbc0abef8, aBuilder=0x7fffe4d69600, aCtx=0x19a3bb0) at layout/base/nsDisplayList.cpp:1195 #15 0x00007f5dc9c2657c in nsDisplayList::Paint (this=<value optimized out>, aBuilder=0x7fffe4d69600, aCtx=0x19a3bb0) at layout/base/nsDisplayList.cpp:415 #16 0x00007f5dc9c47370 in nsLayoutUtils::PaintFrame (aRenderingContext=0x19a3bb0, aFrame=0x7f5dbc0a2070, aDirtyRegion=@0x7fffe4d69b10, aBackstop=4294967295, aFlags=<value optimized out>) at layout/base/nsLayoutUtils.cpp:1195 #17 0x00007f5dc9c58737 in PresShell::Paint (this=0x7f5dbc09eab0, aView=0x7f5dbc041de0, aRenderingContext=0x19a3bb0, aDirtyRegion=@0x7fffe4d69b10) at layout/base/nsPresShell.cpp:5776 #18 0x00007f5dc9ff3c29 in nsViewManager::RenderViews (this=0x7f5dbc041d60, aView=<value optimized out>, aRC=@0x19a3bb0, aRegion=@0x7fffe4d69bd0) at view/src/nsViewManager.cpp:497 #19 0x00007f5dc9ff4a13 in nsViewManager::Refresh (this=0x7f5dbc041d60, aView=0x7f5dbc041de0, aContext=0x19a3bb0, aRegion=<value optimized out>, aUpdateFlags=1) at view/src/nsViewManager.cpp:464 #20 0x00007f5dc9ff549b in nsViewManager::DispatchEvent (this=0x7f5dbc041d60, aEvent=0x7fffe4d69f30, aView=0x7f5dbc041de0, aStatus=0x7fffe4d69e2c) at view/src/nsViewManager.cpp:934 #21 0x00007f5dc9ff0350 in HandleEvent (aEvent=0x7fffe4d69f30) at view/src/nsView.cpp:160 #22 0x00007f5dcaf8728c in nsWindow::DispatchEvent (this=0x7f5dbc04eb90, aEvent=0x7fffe4d69f30, aStatus=@0x7fffe4d6a138) at widget/src/gtk2/nsWindow.cpp:611 #23 0x00007f5dcaf84509 in nsWindow::OnExposeEvent (this=0x7f5dbc04eb90, aWidget=<value optimized out>, aEvent=0x7fffe4d6a6b0) at widget/src/gtk2/nsWindow.cpp:2555 ... (gdb) fr 2 #2 0x00007f5dcaf78cfd in moz_gtk_toggle_paint (drawable=0x1567a60, rect=0x7fffe4d68a70, cliprect=0x7fffe4d68a60, state=0x7fffe4d69078, selected=0, inconsistent=0, isradio=0, direction=GTK_TEXT_DIR_LTR) at widget/src/gtk2/gtk2drawing.c:1048 1048 NS_ASSERTION(rect->width == indicator_size, Current language: auto; currently c (gdb) p rect->width $1 = 49 (gdb) p indicator_size $2 = 13 (gdb) list 1043 } else { 1044 moz_gtk_checkbox_get_metrics(&indicator_size, &indicator_spacing); 1045 w = gCheckboxWidget; 1046 } 1047 1048 NS_ASSERTION(rect->width == indicator_size, 1049 "GetMinimumWidgetSize was ignored"); 1050 /* 1051 * vertically center in the box, since XUL sometimes ignores our 1052 * GetMinimumWidgetSize in the vertical dimension (gdb) p rect $3 = (GdkRectangle *) 0x7fffe4d68a70 (gdb) p *rect $4 = {x = 8, y = 24, width = 49, height = 60} (gdb) info locals state_type = GTK_STATE_NORMAL shadow_type = GTK_SHADOW_OUT indicator_size = 13 indicator_spacing = <value optimized out> x = <value optimized out> y = <value optimized out> focus_x = <value optimized out> focus_y = <value optimized out> focus_width = <value optimized out> w = (GtkWidget *) 0x683dd0 style = <value optimized out> (gdb) fr 12 #12 0x00007f5dc9c25ffc in nsDisplayBackground::Paint (this=0x7f5dbc0abe40, aBuilder=<value optimized out>, aCtx=0x19a3bb0) at layout/base/nsDisplayList.cpp:711 711 flags); Current language: auto; currently c++ (gdb) list 706 flags |= nsCSSRendering::PAINTBG_WILL_PAINT_BORDER; 707 } 708 nsCSSRendering::PaintBackground(mFrame->PresContext(), *aCtx, mFrame, 709 mVisibleRect, 710 nsRect(offset, mFrame->GetSize()), 711 flags); 712 } 713 714 nsRect 715 nsDisplayBackground::GetBounds(nsDisplayListBuilder* aBuilder) { (gdb) p *mFrame $5 = {<nsQueryFrame> = {_vptr.nsQueryFrame = 0x7f5dca81ddc0}, static kFrameIID = nsIFrame_id, mRect = {x = 0, y = 0, width = 2940, height = 3600}, mContent = 0x1a37060, mStyleContext = 0x1a35b28, mParent = 0x1a35e38, mNextSibling = 0x0, mPrevSibling = 0x0, mState = 2097152, mOverflow = {mType = 0, mDeltas = {mLeft = 0 '\0', mTop = 0 '\0', mRight = 0 '\0', mBottom = 0 '\0'}}} (gdb) x/aw 0x7f5dca81ddc0 0x7f5dca81ddc0 <_ZTV12nsImageFrame+16>: 0xffffffffc9cb9442 (gdb) p offset $6 = {x = 480, y = 1440} (gdb) p mVisibleRect $7 = {x = 480, y = 1440, width = 2940, height = 3600} (gdb) p mFrame->GetSize() $8 = {width = 27680448, height = 0} (gdb)
Comment 1•14 years ago
|
||
Comment 2•14 years ago
|
||
These tests all trigger the assertion, at least most of the time. layout/generic/crashtests/382129-1.xhtml layout/generic/crashtests/382131-1.html view/crashtests/382756-1.xul view/crashtests/387745-1.svg Green: all trigger the assertions, as expected http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1275192808.1275194314.8790.gz&fulltext=1 Orange: fewer assertions than expected http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1275196525.1275197699.21736.gz&fulltext=1
Comment 3•14 years ago
|
||
Update to test manifest: http://hg.mozilla.org/mozilla-central/rev/7f84a0240ddc
Comment 4•14 years ago
|
||
FWIW, this assertion seems to be intermittent, see bug 569435.
Comment 5•14 years ago
|
||
Also see bug 569436.
Comment 6•14 years ago
|
||
and bug 569439.
Comment 7•11 years ago
|
||
https://tbpl.mozilla.org/php/getParsedLog.php?id=25081829&tree=Mozilla-Inbound
Comment 8•11 years ago
|
||
I see the assertion during a test run of |make mozmill| TB test suite run for a single test file. I have not seen this before and so I am not sure what it means at all. The error may be triggered by the influence of the other X clients that run in the same X window session. I have not seen this problem for a while since I started to use Xephyr and set an independent X window environment there. E.g., I run this piece of code before test run. Xephyr -ac -br -noreset -screen 1024x768 :1 & DISPLAY=localhost:1.0 sleep 2 oclock & |make mozmill| used this DISPLAY setting. However, when I did NOT set this DISPLAY value and ran the |mozmill| test for the single test target file, I got this immediately. (I could repeat it.) And then, I set DISPLAY for Xephyr as noted before, and ran the same test, and this time, the ASSERTION was not triggered. TIA
Comment 9•9 years ago
|
||
Testcase no longer asserts on trunk.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: in-testsuite+
Resolution: --- → WORKSFORME
Comment 11•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4d7488f2ba84
Comment 12•9 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-b2g44_v2_5/rev/4d7488f2ba84
status-b2g-v2.5:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•