Last Comment Bug 653994 - [Windows] crashtest: intermittent "99776-1.html | assertion count 1 is more than expected 0 assertions" (ASSERTION: Widgets that we paint must all be display roots: 'GetDisplayRootFor(aView) == aView')
: [Windows] crashtest: intermittent "99776-1.html | assertion count 1 is more t...
Status: RESOLVED FIXED
: assertion, intermittent-failure, regression, testcase
Product: Core
Classification: Components
Component: Plug-ins (show other bugs)
: Trunk
: x86 Windows Server 2003
: -- major (vote)
: mozilla15
Assigned To: Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
:
Mentors:
http://mxr.mozilla.org/mozilla-centra...
Depends on:
Blocks: 438871 598854
  Show dependency treegraph
 
Reported: 2011-05-01 08:17 PDT by Serge Gautherie (:sgautherie)
Modified: 2012-11-25 19:31 PST (History)
4 users (show)
ryanvm: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
wontfix
wontfix
fixed
affected


Attachments
Avoid trying to paint plugin widgets in the case where a plugin fails to subclass our window (1.20 KB, patch)
2012-04-25 22:18 PDT, Robert O'Callahan (:roc) (Exited; email my personal email if necessary)
benjamin: review+
akeybl: approval‑mozilla‑aurora+
akeybl: approval‑mozilla‑beta-
Details | Diff | Splinter Review

Description Serge Gautherie (:sgautherie) 2011-05-01 08:17:08 PDT
(First time I notice this failure.)

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1304211780.1304214265.17429.gz&fulltext=1
WINNT 5.2 comm-central-trunk debug test crashtest on 2011/04/30 18:03:00
{
###!!! ASSERTION: Widgets that we paint must all be display roots: 'GetDisplayRootFor(aView) == aView', file e:/builds/slave/comm-cen-trunk-w32-dbg/build/mozilla/view/src/nsViewManager.cpp, line 445
...
REFTEST TEST-UNEXPECTED-FAIL | file:///e:/builds/slave/test/build/reftest/tests/layout/base/crashtests/99776-1.html | assertion count 1 is more than expected 0 assertions
}
Comment 1 Serge Gautherie (:sgautherie) 2012-03-23 01:43:58 PDT
http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1332484394.1332486157.16634.gz
WINNT 5.2 comm-central-trunk debug test crashtest on 2012/03/22 23:33:14
s: cn-sea-qm-win2k3-01
Comment 2 Serge Gautherie (:sgautherie) 2012-03-23 01:45:58 PDT
(In reply to Serge Gautherie (:sgautherie) from comment #1)
> http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1332484394.1332486157.
> 16634.gz
> WINNT 5.2 comm-central-trunk debug test crashtest on 2012/03/22 23:33:14
> s: cn-sea-qm-win2k3-01

I don't know if that's expected or unrelated,
but, fwiw, "For application/x-java-vm found plugin npjp2.dll" happened just before.
Comment 3 Serge Gautherie (:sgautherie) 2012-03-23 01:49:29 PDT
http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1332447619.1332450077.20525.gz
WINNT 5.2 comm-central-trunk debug test crashtest on 2012/03/22 13:20:19
s: cn-sea-qm-win2k3-01

Same as previous comment.
Comment 4 Serge Gautherie (:sgautherie) 2012-04-05 03:54:38 PDT
(In reply to Serge Gautherie (:sgautherie) from comment #2)
> I don't know if that's expected or unrelated,
> but, fwiw, "For application/x-java-vm found plugin npjp2.dll" happened just
> before.

Looks expected, per
{
7 <applet style="position:absolute;left:7;top:73;"></applet>
}

*****

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1333557762.1333559920.8703.gz&fulltext=1
WINNT 5.2 comm-central-trunk debug test crashtest on 2012/04/04 09:42:42
s: cn-sea-qm-win2k3-01
Comment 5 Jesse Ruderman 2012-04-20 05:20:40 PDT
I reliably hit the same assertion on the same crashtest while trying to start the fuzzer. (Windows 7, Firefox trunk)

Based on when this bug was filed, it sounds like it's been happening (at least intermittently) ever since the assertion was added in bug 598854.
Comment 6 Serge Gautherie (:sgautherie) 2012-04-20 12:40:39 PDT
[Mozilla/5.0 (Windows NT 5.0; rv:12.0a1) Gecko/20120126 Firefox/12.0a1 SeaMonkey/2.9a1] (custom debug build for Windows 2000)

I can reproduce by running this test alone locally and confirm the assertion is intermittent (yet frequent enough).

Ftr, I currently use "Java Plug-in 1.6.0_31".
Comment 7 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-04-20 16:36:37 PDT
I can reproduce this.
Comment 8 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-04-25 22:18:47 PDT
Created attachment 618551 [details] [diff] [review]
Avoid trying to paint plugin widgets in the case where a plugin fails to subclass our window
Comment 9 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-04-25 22:20:55 PDT
Comment on attachment 618551 [details] [diff] [review]
Avoid trying to paint plugin widgets in the case where a plugin fails to subclass our window

Apparently the Java plugin fails to subclass our HWND in some cases, letting NS_PAINT events go through to our WindowProc, which then tries to paint them, causing an assertion since we can't paint child widgets anymore. Instead, we just shouldn't try to paint plugin widgets in such a broken state.
Comment 10 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-05-02 21:32:19 PDT
http://hg.mozilla.org/integration/mozilla-inbound/rev/1863228248eb
Comment 11 Ed Morley [:emorley] 2012-05-04 02:27:59 PDT
https://hg.mozilla.org/mozilla-central/rev/1863228248eb
Comment 12 Serge Gautherie (:sgautherie) 2012-05-04 03:04:24 PDT
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #9)
> Apparently the Java plugin fails to subclass our HWND in some cases
> [...]
> we just shouldn't try to paint plugin widgets in such a broken state.

Is such a "misbehavior" case expected to (randomly) happen?
Or should a bug be filed at Oracle to investigate further and improve/fix their plugin?
Comment 13 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-05-04 03:06:16 PDT
I don't know. It doesn't really matter.
Comment 14 Serge Gautherie (:sgautherie) 2012-05-04 03:06:43 PDT
Comment on attachment 618551 [details] [diff] [review]
Avoid trying to paint plugin widgets in the case where a plugin fails to subclass our window

[Approval Request Comment]
Detect and stop bad case early.
No risk.
Comment 15 Alex Keybl [:akeybl] 2012-05-06 18:52:29 PDT
Comment on attachment 618551 [details] [diff] [review]
Avoid trying to paint plugin widgets in the case where a plugin fails to subclass our window

[Triage Comment]
No user impact provided, and a very intermittent orange. Approving for Aurora 14 but not Beta 13.
Comment 16 Ryan VanderMeulen [:RyanVM] 2012-05-15 05:44:20 PDT
https://hg.mozilla.org/releases/mozilla-aurora/rev/cfeda9529635

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