Last Comment Bug 804323 - Repaint error: Delay until full display of element
: Repaint error: Delay until full display of element
Status: RESOLVED FIXED
: regression
Product: Core
Classification: Components
Component: Layout (show other bugs)
: 17 Branch
: All All
: -- normal (vote)
: mozilla19
Assigned To: Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
:
Mentors:
Depends on: 806056 812665
Blocks: 691651
  Show dependency treegraph
 
Reported: 2012-10-22 13:43 PDT by Henrik Mitsch [:hmitsch]
Modified: 2012-11-16 15:09 PST (History)
14 users (show)
ryanvm: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
unaffected
+
fixed
+
fixed
+
fixed


Attachments
Screenshot FF19 on Win 7 (184.13 KB, image/png)
2012-10-23 06:59 PDT, Loic
no flags Details
testcase (660 bytes, text/html)
2012-10-23 20:41 PDT, Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
no flags Details
fix (6.50 KB, patch)
2012-10-23 21:37 PDT, Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
bzbarsky: review+
Details | Diff | Splinter Review
fix regressions (7.15 KB, patch)
2012-10-25 16:29 PDT, Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
bzbarsky: review+
Details | Diff | Splinter Review
Backout bug 691591 on beta (11.18 KB, patch)
2012-10-28 18:18 PDT, Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
lukasblakk+bugs: approval‑mozilla‑beta+
Details | Diff | Splinter Review
Backout bug 691591 on aurora (12.13 KB, patch)
2012-11-05 18:04 PST, Mats Palmgren (vacation)
roc: review+
bajaj.bhavana: approval‑mozilla‑aurora+
Details | Diff | Splinter Review

Description Henrik Mitsch [:hmitsch] 2012-10-22 13:43:23 PDT
Steps to reproduce:
- Open http://carishina.net/henrik/webapps/BlickAmMozilla/zwitter.html
- Press "Stream!"
- Wait 2 seconds (twitter is being queried)
- Tweets are drawn in rectangles

Expected result:
- Rectangles should be drawn immediately

Actual result:
- Rectangles are only fully drawn after a short delay

Issue reproduced on:
- Aurora (Fx 18) on Mac OS and Windows
- Nightly (2012-10-15) on Mac OS

Issue NOT reproducible on:
- Firefox 16.0.1 on Windows
- Safari 6.0.1 on Mac OS
- Chrome 24.0 on Mac OS
Comment 1 Julian Viereck 2012-10-22 14:28:08 PDT
I can reproduce this bug with a current version of Firefox Beta (17.0) on OSX.

I can NOT reproduce this bug with the current version of Firefox Release (16.0.1) on OSX.

Removing dependency on `dlbi|539356` bug, as that one landed in Gecko 18, but the bug is also available in Gecko 17.
Comment 2 Loic 2012-10-23 06:59:23 PDT
Created attachment 674222 [details]
Screenshot FF19 on Win 7

Rectangles are sometimes cut, see the screenshot I attached.

m-c
good=2012-08-13
bad=2012-08-14
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f89feda9d997&tochange=22288130fea2

Suspected bug: bug 539356.
Comment 3 Julian Viereck 2012-10-23 07:10:59 PDT
Loic, thanks!

> Suspected bug: bug 539356.

\cc Matt as he worked on 539356 (dlbi).
Comment 4 Julian Viereck 2012-10-23 07:12:57 PDT
The zooming is done by setting the style of the <body> element to something like this:

  transform-origin: 626.5px 317.5px 0px; 
  transform: translate(-410.963px, -193.484px) rotate(-2.31655rad) skewX(0rad) scale(0.978596, 0.978596);

By changing the values in JS, the transitions/zoom effects are created.
Comment 5 Alice0775 White 2012-10-23 15:31:37 PDT
Regression window(m-i)
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/b753e1dce89f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0 ID:20120812205544
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/94e4dbce3b94
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0 ID:20120812215445
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=b753e1dce89f&tochange=94e4dbce3b94

Inlocal build
Last Good: 2d6fd808c2b0
First Bad: f4e247827bab

Triggered by:
f4e247827bab	Robert O'Callahan — Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
Comment 6 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-23 20:41:51 PDT
Created attachment 674523 [details]
testcase

If you reload the testcase a few times, the yellow box will sometimes fail to appear.

Dumping the frame tree shows that in those cases, the yellow box has been added as an aboslutely-positioned child of the root element instead of the transformed body.
Comment 7 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-23 21:37:45 PDT
Created attachment 674541 [details] [diff] [review]
fix
Comment 8 Boris Zbarsky [:bz] 2012-10-23 22:13:04 PDT
Comment on attachment 674541 [details] [diff] [review]
fix

r=me
Comment 9 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-25 03:31:55 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/e4367fd2043f
Comment 10 Ryan VanderMeulen [:RyanVM] 2012-10-25 04:55:56 PDT
Either this patch or bug 801488's patches caused mochitest browser-chrome crashes on all platforms. Backed out.
https://hg.mozilla.org/integration/mozilla-inbound/rev/293bdc2afe11

https://tbpl.mozilla.org/php/getParsedLog.php?id=16451037&tree=Mozilla-Inbound

 0  libxul.so!nsGenericHTMLElement::GetOffsetRect(nsRect&, nsIContent**) [nsGenericHTMLElement.cpp : 490 + 0x6]
    eip = 0x013e5761   esp = 0xbfbc2910   ebp = 0xbfbc2998   ebx = 0x027a1234
    esi = 0x91bb1858   edi = 0x8b213228   eax = 0xf0dea7ff   ecx = 0x027a1234
    edx = 0x8b0b7e00   efl = 0x00010296
    Found by: given as instruction pointer in context
 1  libxul.so!nsGenericHTMLElement::GetOffsetHeight(int*) [nsGenericHTMLElement.cpp : 625 + 0x17]
    eip = 0x013e3cea   esp = 0xbfbc29a0   ebp = 0xbfbc29e8   ebx = 0x8d991da0
    esi = 0xbfbc29dc   edi = 0x8f3fa420
    Found by: call frame info
 2  libxul.so!nsIDOMHTMLElement_GetOffsetHeight [dom_quickstubs.cpp : 12640 + 0xb]
    eip = 0x017c484e   esp = 0xbfbc29f0   ebp = 0xbfbc2a38   ebx = 0x8d991da0
    esi = 0xb2fff8a0   edi = 0xa63b2024
    Found by: call frame info
 3  0x3b1d326
    eip = 0x03b1d327   esp = 0xbfbc2a40   ebp = 0xbfbc2a88   ebx = 0x8d991da0
    esi = 0x8aafe010   edi = 0xb2fff8b0
    Found by: call frame info
 4  libxul.so + 0x1aea233
    eip = 0x027a1234   esp = 0xbfbc2a90   ebp = 0xb2fff848
    Found by: previous frame's frame pointer
 5  libxul.so!js::mjit::EnterMethodJIT(JSContext*, js::StackFrame*, void*, JS::Value*, bool) [MethodJIT.cpp : 1043 + 0x1c]
    eip = 0x022273da   esp = 0xbfbc2aa0   ebp = 0xb2fff848
    Found by: stack scanning
 6  libxul.so!mozilla::css::Loader::InsertSheetInDoc(nsCSSStyleSheet*, nsIContent*, nsIDocument*) [Loader.cpp : 1310 + 0x5]
    eip = 0x01227079   esp = 0xbfbc2ac0   ebp = 0xb2fff848
    Found by: stack scanning
 7  libxul.so!js::mjit::JaegerShot(JSContext*, bool) [MethodJIT.cpp : 1101 + 0x8]
    eip = 0x02227567   esp = 0xbfbc2b10   ebp = 0xb2fff848
    Found by: stack scanning
 8  libc-2.11.so + 0xdab47
    eip = 0x00bc2b48   esp = 0xbfbc2b30   ebp = 0xb2fff848
    Found by: stack scanning
 9  libxul.so!js::Interpret(JSContext*, js::StackFrame*, js::InterpMode) [jsinterp.cpp : 2420 + 0x15]
    eip = 0x020f9981   esp = 0xbfbc2b70   ebp = 0xb2fff848
    Found by: stack scanning
10  libxul.so!XPCWrappedNative::GetWrappedNativeOfJSObject(JSContext*, JSObject*, JSObject*, JSObject**, XPCWrappedNativeTearOff**) [XPCWrappedNative.cpp : 1869 + 0xa]
    eip = 0x017b6af7   esp = 0xbfbc2b90   ebp = 0xb2fff848
    Found by: stack scanning
Comment 11 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-25 15:29:02 PDT
It's this patch.
Comment 12 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-25 16:29:52 PDT
Created attachment 675358 [details] [diff] [review]
fix regressions

The crashes were due to use calling MarkAbsoluteContainingBlock on a frame that already is one, wiping out the old AbsoluteContainer property.
Comment 13 Boris Zbarsky [:bz] 2012-10-25 20:16:20 PDT
Comment on attachment 675358 [details] [diff] [review]
fix regressions

r=me
Comment 14 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-26 02:12:34 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/f6f8969f4a70
Comment 15 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-26 14:58:03 PDT
Comment on attachment 675358 [details] [diff] [review]
fix regressions

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 691651
User impact if declined: Some pages won't render correctly
Testing completed (on m-c, etc.): none
Risk to taking this patch (and alternatives if risky): Not trivial, but not a very complicated patch either. We have the alternative of backing out bug 691651 on beta instead of taking this patch there.
String or UUID changes made by this patch: None.
Comment 16 Ryan VanderMeulen [:RyanVM] 2012-10-26 19:12:47 PDT
https://hg.mozilla.org/mozilla-central/rev/f6f8969f4a70
Comment 17 Henrik Mitsch [:hmitsch] 2012-10-28 11:07:04 PDT
Just tested this on the latest Nightly build. It works. Thanks for fixing the issue so quickly.

Best regards,
   Henrik (the person who reported this bug)
Comment 18 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-28 16:25:20 PDT
Comment on attachment 675358 [details] [diff] [review]
fix regressions

Review of attachment 675358 [details] [diff] [review]:
-----------------------------------------------------------------

This patch caused bug 806056. Let's back out bug 691651 on beta and try to settle things down for Aurora.
Comment 19 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-28 18:18:54 PDT
Created attachment 676017 [details] [diff] [review]
Backout bug 691591 on beta

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 691591
User impact if declined: Problems rendering some Web pages
Testing completed (on m-c, etc.): none, this is just a backout for beta
Risk to taking this patch (and alternatives if risky): nothing better than this
String or UUID changes made by this patch: none
Comment 20 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-10-29 16:18:37 PDT
https://hg.mozilla.org/releases/mozilla-beta/rev/f1e54c50517a
Comment 21 Mats Palmgren (vacation) 2012-11-05 18:04:08 PST
Created attachment 678576 [details] [diff] [review]
Backout bug 691591 on aurora

Your beta-backout patch with some minor tweaks.  It fixes the test in
this bug and running reftests locally ... looks good so far.
Comment 22 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-11-06 00:01:45 PST
Comment on attachment 678576 [details] [diff] [review]
Backout bug 691591 on aurora

Review of attachment 678576 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks!
Comment 24 bhavana bajaj [:bajaj] 2012-11-07 15:35:25 PST
Comment on attachment 678576 [details] [diff] [review]
Backout bug 691591 on aurora

lowrisk backout patch, approving on aurora
Comment 25 Mats Palmgren (vacation) 2012-11-07 17:22:31 PST
https://hg.mozilla.org/releases/mozilla-aurora/rev/eab0a3d65b1e
Comment 26 Henrik Mitsch [:hmitsch] 2012-11-08 08:36:09 PST
Verified fix on latest Aurora. It works. Right in time for tonight's MozMUC meetup. You guys rock! AwesomeR.

Thank you,
   Henrik

Note You need to log in before you can comment on or make changes to this bug.