Bug 91620 - Layout Test css3/filters/blur-filter-page-scroll-self.html is flaky on chromium since it was added.
Summary: Layout Test css3/filters/blur-filter-page-scroll-self.html is flaky on chromi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Stephen White
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-18 05:50 PDT by Vsevolod Vlasov
Modified: 2012-11-03 13:52 PDT (History)
8 users (show)

See Also:


Attachments
Patch (2.89 KB, patch)
2012-11-03 09:44 PDT, Stephen White
no flags Details | Formatted Diff | Diff
Patch for landing (3.17 KB, patch)
2012-11-03 13:11 PDT, Stephen White
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vsevolod Vlasov 2012-07-18 05:50:35 PDT
The following layout test is flaky on chromium since it was added

css3/filters/blur-filter-page-scroll-self.html

Probable cause:
http://trac.webkit.org/changeset/122130/

Flakiness dashboard:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=css3%2Ffilters%2Fblur-filter-page-scroll-self.html
Comment 1 Alexandru Chiculita 2012-07-18 11:04:47 PDT
It looks like this is because of a previous test that runs in the same DRT process and enables some other feature on the WebView. Is there a way I could get the previous tests?
Comment 2 Vsevolod Vlasov 2012-07-19 02:16:16 PDT
You can click on any square in the flakiness dashboard and then click on the build log to open a builder log (e.g. http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%2032/builds/21235)
There you can find stdio log for the webkit_tests step. All the tests that were run are listed there with their results.

Does that help you?
Comment 4 Alexandru Chiculita 2012-07-19 11:10:10 PDT
(In reply to comment #2)

> Does that help you?

Thanks, it did help, I found the issue. Sorry, I didn't see the link initially. 

It's the following call that is made in compositing/layer-creation/fixed-position-out-of-view.html :

window.internals.settings.setEnableCompositingForFixedPosition(true);

Judging by the name of the API it enables compositing for fixed elements, and the test that fails is actually using a fixed element, so the blur is going to be applied in hardware instead of software, thus making it look slightly different.

There are two options:
1. Make the DRT reset that flag before each test.
2. Make my test reset the flag.

Which one do you think is best?
Comment 5 Vsevolod Vlasov 2012-07-20 05:37:22 PDT
I am not sure which one is better, adding vangelis@ who created this flag.
Comment 6 Alexandru Chiculita 2012-08-23 14:04:56 PDT
(In reply to comment #5)
> I am not sure which one is better, adding vangelis@ who created this flag.

Any follow up on this bug?
Comment 7 Levi Weintraub 2012-10-23 09:34:09 PDT
It's recently started crashing on Debug bots as well. Example backtraces:

Linux:
crash log for DumpRenderTree (pid 23041):
STDOUT: <empty>
STDERR: [23041:23041:18472271421893:FATAL:layer_impl.cc(498)] Check failed: m_filters.isEmpty(). 
STDERR: Backtrace:
STDERR: 	base::debug::StackTrace::StackTrace() [0x7f0f5150d09e]
STDERR: 	logging::LogMessage::~LogMessage() [0x7f0f5154124b]
STDERR: 	cc::LayerImpl::setFilter() [0x7f0f4f88c0b6]
STDERR: 	cc::Layer::pushPropertiesTo() [0x7f0f4f93439e]
STDERR: 	cc::TiledLayer::pushPropertiesTo() [0x7f0f4f9463ff]
STDERR: 	cc::TreeSynchronizer::synchronizeTreeRecursive() [0x7f0f4f94b2a8]
STDERR: 	cc::TreeSynchronizer::synchronizeTreeRecursive() [0x7f0f4f94b0dc]
STDERR: 

Win7:
crash log for DumpRenderTree (pid 3512):
STDOUT: CONSOLE MESSAGE: Invalid name for preference: WebKitAcceleratedCompositingEnabled
STDERR: [3512:1796:851718:FATAL:layer_impl.cc(498)] Check failed: m_filters.isEmpty(). 
STDERR: Backtrace:
STDERR: 	base::SysWideToMultiByte [0x6D4BDC81+2221027]
STDERR: 	base::SysWideToMultiByte [0x6D366A4E+815536]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8FF830+3016196]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8736EC+2442432]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A904F76+3038538]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D52E0+2842804]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D4926+2840314]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8618E0+2369204]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A893C15+2574825]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A894ECF+2579619]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8922C8+2568348]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8624BE+2372242]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A851633+2302983]
STDERR: 	WebKit::WebGeolocationPermissionRequestManager::remove [0x61BC8BCF+1275871]
STDERR: 	WebKit::WebGeolocationPermissionRequestManager::remove [0x61BC8DD6+1276390]
STDERR: 	(No symbol) [0x00113BD9]
STDERR: 	(No symbol) [0x00113F81]
STDERR: 	(No symbol) [0x000DEC75]
STDERR: 	(No symbol) [0x000EC617]
STDERR: 	(No symbol) [0x001503B2]
STDERR: 	(No symbol) [0x0014FB0C]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62EB7DB0+16560288]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62EB78F2+16559074]
STDERR: 	v8::Locker::StopPreemption [0x6CAD8210+2536496]
STDERR: 	v8::Locker::StopPreemption [0x6CAD2CE4+2514692]
STDERR: 	v8::Locker::StopPreemption [0x6CAD2C56+2514550]
STDERR: 
STDERR: Backtrace:
STDERR: 	base::SysWideToMultiByte [0x6D4A8751+2133683]
STDERR: 	base::SysWideToMultiByte [0x6D366D9D+816383]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8FF830+3016196]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8736EC+2442432]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A904F76+3038538]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D52E0+2842804]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D515C+2842416]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8D4926+2840314]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8618E0+2369204]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A893C15+2574825]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A894ECF+2579619]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8922C8+2568348]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A8624BE+2372242]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A851633+2302983]
STDERR: 	WebKit::WebGeolocationPermissionRequestManager::remove [0x61BC8BCF+1275871]
STDERR: 	WebKit::WebGeolocationPermissionRequestManager::remove [0x61BC8DD6+1276390]
STDERR: 	(No symbol) [0x00113BD9]
STDERR: 	(No symbol) [0x00113F81]
STDERR: 	(No symbol) [0x000DEC75]
STDERR: 	(No symbol) [0x000EC617]
STDERR: 	(No symbol) [0x001503B2]
STDERR: 	(No symbol) [0x0014FB0C]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62EB7DB0+16560288]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62EB78F2+16559074]
STDERR: 	v8::Locker::StopPreemption [0x6CAD8210+2536496]
STDERR: 	v8::Locker::StopPreemption [0x6CAD2CE4+2514692]
STDERR: 	v8::Locker::StopPreemption [0x6CAD2C56+2514550]
STDERR: 	v8::Locker::StopPreemption [0x6C8D42E5+423173]
STDERR: 	v8::Locker::StopPreemption [0x6C8D4064+422532]
STDERR: 	v8::Function::Call [0x6C8513EA+490]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6291D68B+10684795]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6291D43A+10684202]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x63124129+19100697]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x630451F2+18187490]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x63044EE8+18186712]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x623E8E0B+5226747]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x623E8BE4+5226196]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62A20BB2+11746978]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62A2081C+11746060]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6243D54B+5572667]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62437A50+5549376]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x628C7E24+10334484]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x628C7AEE+10333662]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x628C77FE+10332910]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6244166A+5589338]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x626B55BE+8161454]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6264CF7B+7733867]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6264D05E+7734094]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6264BCA5+7729045]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6264D0C9+7734201]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6264D223+7734547]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x6289FC73+10170211]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62A02A94+11623812]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62F670F0+17277920]
STDERR: 	WebKit::WebFilterOperation::WebFilterOperation [0x62DF8BE7+15777495]
STDERR: 	std::_Init_locks::operator= [0x637D454E+2398302]
STDERR: 	webkit::npapi::WebPluginImpl::willSendRequest [0x6A6B0E69+597053]
STDERR: 	(No symbol) [0x0028EB1B]
Comment 8 Stephen White 2012-11-03 08:13:53 PDT
+enne, +jamesr for the compositor commit crash
Comment 9 Stephen White 2012-11-03 08:22:57 PDT
(In reply to comment #8)
> +enne, +jamesr for the compositor commit crash

Never mind; that was me.  It was the setFilter() ASSERT, fixed in http://src.chromium.org/viewvc/chrome?view=rev&revision=163613.  Should no longer be crashing.

Curious about the window.internals.settings.setEnableCompositingForFixedPosition(true); thing above though; seems like the previous test (compositing/layer-creation/fixed-position-out-of-view.html) should also be resetting that flag on exit.
Comment 10 Stephen White 2012-11-03 09:44:09 PDT
Created attachment 172222 [details]
Patch
Comment 11 jochen 2012-11-03 12:20:04 PDT
Comment on attachment 172222 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=172222&action=review

> Source/WebCore/ChangeLog:9
> +        Covered by css3/filters/blur-filter-page-scroll-self.html

You could add a few words why you believe this fixes the problem, and what the problem actually is
Comment 12 Stephen White 2012-11-03 13:11:43 PDT
Created attachment 172224 [details]
Patch for landing
Comment 13 Stephen White 2012-11-03 13:12:05 PDT
(In reply to comment #11)
> (From update of attachment 172222 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=172222&action=review
> 
> > Source/WebCore/ChangeLog:9
> > +        Covered by css3/filters/blur-filter-page-scroll-self.html
> 
> You could add a few words why you believe this fixes the problem, and what the problem actually is

Done.  Thanks for the review.
Comment 14 WebKit Review Bot 2012-11-03 13:52:40 PDT
Comment on attachment 172224 [details]
Patch for landing

Clearing flags on attachment: 172224

Committed r133399: <http://trac.webkit.org/changeset/133399>
Comment 15 WebKit Review Bot 2012-11-03 13:52:44 PDT
All reviewed patches have been landed.  Closing bug.