ECKEncryptedMediaTest.FileIOTest and OutputProtectionTest failure |
|||||
Issue descriptionThese two tests were added in https://codereview.chromium.org/2085063002 and are failing on the Site Isolation Win FYI bot, which runs tests with the --isolate-extensions flag. First failed build: https://build.chromium.org/p/chromium.fyi/builders/Site%20Isolation%20Win/builds/15173 Looks like build 15174 is failing these as well. Output for OutputProtectionTest: [ RUN ] ECKEncryptedMediaTest.OutputProtectionTest [5196:2020:0624/131340:WARNING:chrome_browser_main_win.cc(420)] Command line too long for RegisterApplicationRestart [5196:2020:0624/131340:WARNING:message_queue.cc(38)] Leaking 1 ports in unreceived messages [5196:2020:0624/131340:WARNING:message_queue.cc(38)] Leaking 2 ports in unreceived messages [5196:2020:0624/131340:WARNING:message_queue.cc(38)] Leaking 1 ports in unreceived messages [4388:5428:0624/131340:ERROR:singleton_hwnd.cc(34)] Cannot create windows on non-UI thread! [5196:2020:0624/131340:INFO:media_browsertest.cc(42)] 13:13:40.421 Starting HTTP server [5196:2020:0624/131340:INFO:media_browsertest.cc(58)] 13:13:40.424 Running test URL: http://127.0.0.1:63223/eme_player.html?mediaFile=bear-a_enc-a.webm&mediaType=audio/webm;%20codecs=%22vorbis%22&keySystem=org.chromium.externalclearkey.outputprotectiontest [5508:5004:0624/131340:ERROR:singleton_hwnd.cc(34)] Cannot create windows on non-UI thread! [5196:2020:0624/131340:INFO:CONSOLE(277)] "13:13:40.656 - Using UnitTestPlayer", source: http://127.0.0.1:63223/eme_player_js/utils.js (277) [5196:2020:0624/131340:INFO:CONSOLE(277)] "13:13:40.659 - Registering video event handlers.", source: http://127.0.0.1:63223/eme_player_js/utils.js (277) [5196:2020:0624/131340:INFO:CONSOLE(277)] "13:13:40.660 - Setting video media keys: org.chromium.externalclearkey.outputprotectiontest", source: http://127.0.0.1:63223/eme_player_js/utils.js (277) [3544:2584:0624/131340:ERROR:singleton_hwnd.cc(34)] Cannot create windows on non-UI thread! [5196:4684:0624/131340:WARNING:embedded_test_server.cc(193)] Request not handled. Returning 404: /favicon.ico [5196:2020:0624/131340:INFO:CONSOLE(145)] "FAIL: NotSupportedError Unable to create CDM.", source: http://127.0.0.1:63223/eme_player_js/utils.js (145) e:uild\slave\site_isolation_winuild\src\chromerowser\media\media_browsertest.cc(53): error: Value of: final_title Actual: "NOTSUPPORTEDERROR" Expected: expected_title Which is: "UNIT_TEST_SUCCESS" [5196:2020:0624/131340:INFO:CONSOLE(277)] "13:13:40.792 - Set document title to: NOTSUPPORTEDERROR, updated title: NOTSUPPORTEDERROR", source: http://127.0.0.1:63223/eme_player_js/utils.js (277) [5196:2020:0624/131340:WARNING:url_request_context_getter.cc(43)] URLRequestContextGetter leaking due to no owning thread. [ FAILED ] ECKEncryptedMediaTest.OutputProtectionTest, where TypeParam = and GetParam() = (813 ms) xhwang@: can you please take a look? We'd like to keep this bot green, so if a quick fix isn't feasible, we should revert or disable the test for --isolation-extensions (done by including it in isolate-extensions.browser_tests.filter).
,
Jun 24 2016
I don't really see how this test is site isolation related. I'll revert and investigate locally.
,
Jun 24 2016
--isolate-extensions basically puts web iframes inside chrome-extension:// pages in separate processes. Ditto for extension iframes inside web pages. Interestingly, these tests appear to run fine with --site-per-process (which puts all cross-site iframes in separate processes), which is pretty surprising: https://build.chromium.org/p/chromium.fyi/builders/Site%20Isolation%20Linux/builds/9665
,
Jun 24 2016
If you look at the FileIO test, it's not new. I only renamed some js file name and some variable names so that those can be shared with the new OutputProtectionTest. I don't really see how these renaming could make the test fail under --isolation-extensions. But apparently there must be something wrong in my CL :)
,
Jun 24 2016
Apparently, these tests are failing on some other Windows bots as well: https://build.chromium.org/p/chromium.fyi/builders/Win%2010%20Fast%20Ring/builds/910 https://build.chromium.org/p/chromium.fyi/builders/MD%20Top%20Chrome%20Win%20material/builds/871 Thus, this is most likely unrelated to --isolate-extensions, so removing the site isolation label. Rather, it's likely due to something about the configuration of those bots (which are all Windows bots).
,
Jun 25 2016
We have some detailed logs here: https://build.chromium.org/p/chromium.fyi/builders/MD%20Top%20Chrome%20Win%20material/builds/871/steps/browser_tests/logs/ECKEncryptedMediaTest.FileIOTest https://build.chromium.org/p/chromium.fyi/builders/MD%20Top%20Chrome%20Win%20material/builds/871/steps/browser_tests/logs/ECKEncryptedMediaTest.OutputProtectionTest Note that the failure reason of the two tests are actually different. For FileIOTest, it time out after finishing all the tests. For OutputProtectionTest, we failed to create the CDM instance for the new key system (*.outputprotectiontest). I think somehow the test is using an old clearkeycdm.dll, which doesn't pick up the changes in my CL. So the key message sent by the CDM is not recognized by Chrome, which is used to finish the test. Also, the old CDM doesn't support the new key system, so CDM instance creation would fail. Locally I tried to run the test with an old CDM and I can repro the failure. But I don't understand how we end up using an old CDM on these bots. browser_tests depends clearkeycdmadapter, which then depends on clearkeycdm. Building browser_tests should trigger the CDM to be built. hmm...
,
Jun 25 2016
Clearly clearkeycdmadapter.dll and clearkeycdm.dll are built: https://build.chromium.org/p/chromium.fyi/builders/MD%20Top%20Chrome%20Win%20material/builds/871/steps/compile/logs/stdio So now I don't understand what happened. But I still believe an old CDM is used somehow. I'll send out a CL to add a bit more logging and do a little bit experiment to see what's going on.
,
Jun 25 2016
Okay, this seems to be related to where dll is searched for on Windows. Locally, I have these new files built and supposed to be used. The test pass in with this build. - out\GN\browser_tests - out\GN\ClearKeyCdm\_platform_specific\win_x64 \clearkeycdmadapter.dll - out\GN\ClearKeyCdm\_platform_specific\win_x64\clearkeycdm.dll Now, if I manually copy an old CDM to the build directory (out\GN\clearkeycdm.dll), without touching any other files, the test starts to fail. I think somehow out\GN\clearkeycdm.dll is used instead of the new one. It has to be related to the dll search order on Windows. Note that recently I moved the CDMs from the build dir to the new path. This explains how we could have an old CDM at the build directory (in my case, out\GN). So really what we need to do is to clobber these bots so that we can have a clean build.
,
Aug 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa commit 640ef5dcf6481ba1af50d37ee2c57039d08ed2aa Author: xhwang <xhwang@chromium.org> Date: Wed Aug 17 16:46:08 2016 (reland) media: Add OutputProtectionProxy This reverts commit 7ce3db959f0f5b8d3837ac028ef8e150d4ac7147 and relands 22f8a43cae802c102b5e31211ca19466294a0157 without changes. I believe the failure would be fixed after the bots are clobbered. Original Description: This class handles output protection query and request in the browser process on all platforms. On ChromeOS, it delegates the operations on the hardware displays to OutputProtectionDelegate. On other platforms, it does not check hardware displays. On all platforms, it checks whether there is any network link and adds it to the existing link mask. This class will also be used to implement mojo OutputProtection service on all platforms. This CL also updated PPAPI cdm adapter and PPAPI code to enable output protection calls on all platforms. A unit test is added via external clear key tests. TBR=ddorwin@chromium.org, jrummell@chromium.org, oshima@chromium.org, bbudge@chromium.org BUG=592122, 589618, 623214 TEST=Added new tests. Review-Url: https://codereview.chromium.org/2094903005 Cr-Commit-Position: refs/heads/master@{#412560} [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/chromeos/display/output_protection_delegate.cc [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/media/encrypted_media_browsertest.cc [add] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/media/output_protection_proxy.cc [add] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/media/output_protection_proxy.h [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.cc [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/renderer_host/pepper/pepper_output_protection_message_filter.cc [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/browser/renderer_host/pepper/pepper_output_protection_message_filter.h [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/chrome_browser.gypi [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/chrome/renderer/media/chrome_key_systems.cc [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/cdm/ppapi/external_clear_key/clear_key_cdm.h [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/cdm/ppapi/ppapi_cdm_adapter.cc [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/cdm/ppapi/ppapi_cdm_adapter.h [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/test/data/eme_player_js/app_loader.js [delete] https://crrev.com/75cf0e73ef617606f3e38c28d0b470f74ee821de/media/test/data/eme_player_js/file_io_test_player.js [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/test/data/eme_player_js/globals.js [modify] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/test/data/eme_player_js/player_utils.js [add] https://crrev.com/640ef5dcf6481ba1af50d37ee2c57039d08ed2aa/media/test/data/eme_player_js/unit_test_player.js
,
Aug 18 2016
A lot of bots are "clobbered" when switching from gyp to gn. I also manually clobbered a few. Now it seems bots are mostly happy. Closing this now. If this is still happening on any bot, a clobber should work. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by xhw...@chromium.org
, Jun 24 2016