-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suppress Marionette debug/trace messages for wdspec tests #12166
Comments
The problem seems to be worse than I thought. It can easily block PRs from landing in the following failure mode: Affected tests use a lot of DOM events and/or script loading. Although the tests don't take too long to run, they produce a huge amount of log because of this issue. Once the log reaches 32MB, the output is disabled; and if the job cannot finish within the next 10 minutes, the job will be killed by Travis because of "no output". Example: https://travis-ci.org/web-platform-tests/wpt/jobs/407504544 |
Another example today: #12179 |
This looks like a regression of Marionette. Geckodriver doc says the default logging level is info (https://github.com/mozilla/geckodriver#log-object). And I also tried explicitly setting |
I assume the invocation of wpt runner somehow sets the Maybe it's a result of upgrading geckodriver from about a week ago? But even in the last releases which all were part this upgrade we didn't change anything related to this. |
A quick grep doesn't find any place that sets |
Do we store those logs somewhere? I would like to have at least a look at those. If not, maybe you can upload an excerpt? |
@whimboo there's a link to an example at the top. |
@andreastt This is the issue with marionette having too-verbose logging. |
This is not a regression, since it was a conscious decision to enable finer output from Marionette specifically for the wdspec tests. This is useful to developers when diagnosing why wdspec tests fail at Mozilla. Since Travis does not support artifacts, a reasonable compromise here might be to decrease the log details on there. This is possible by setting the |
Also I want to add that we still have Whereby I can also see it when running the wdspec jobs locally with |
Well, please scratch the second half of my last comment. The alias I have actually uses |
I think so. But to further help you I would need some links to see how the tests are started, including which arguments are used. |
Looks like this is a regression in Marionette. I’ve filed https://bugzilla.mozilla.org/show_bug.cgi?id=1482829. |
https://bugzilla.mozilla.org/show_bug.cgi?id=1482829 is claimed to be fixed, has that change reached Firefox Nightly yet? |
Yes. You shouldn’t see debug-level output from Marionette by default anymore. You can surface it by passing |
@Hexcles, can you check a recent run to see if what you originally saw is gone? |
Verified (https://travis-ci.org/web-platform-tests/wpt/jobs/419186171#L622). Thanks, @andreastt . |
OK, can't blame #11436 (comment) on this issue then :) |
FWIW we also have a future plan to suppress Firefox output, but it’s a bit into the future: https://bugzilla.mozilla.org/show_bug.cgi?id=1399441 |
I still see TRACE output from Marionette in the latest Travis builds: So is this really fixed? |
Sorry, you're right. The job I was looking at somehow just didn't have trace output. Travis is currently running geckodriver 0.21.0 & Firefox Nightly. Has the patch not released yet? |
I have a vauge memory that @andreastt made the log levels case sensitive? If I'm not totally mistaken about that, I guess we might be passing in the wrong string? (I'm not sure what the argument is for making them case sensitive, but it seems like a dubious idea on the face of it). |
The level is case-sensitive now but in Marionette we compare it still after running |
I see different invocations of Firefox. Case 1: No trace / debug output:
Case 2: trace / debug output:
So the problem here is that the working case is for non-wdspec tests, while the 2nd case with trace output is for wdspec tests. |
So what makes us wonder is why there is no debug output for |
Please drop my last comment. We don't see those debug lines because |
Ok, so there are two issues here. First geckodriver incorrectly stores "INFO" instead of "Info" in the We will fix the geckodriver issue immediately because we have to release a new version anyway at latest early next week. Then this issue should be solved. @andreastt will work on that fix. |
To clarify, we did fix this issue in https://bugzilla.mozilla.org/show_bug.cgi?id=1482829, but it regressed a few days after due to a faulty rebase. We had put in a backwards compatibility fallback in Marionette, but due to another bug this didn’t kick in. See https://bugzilla.mozilla.org/show_bug.cgi?id=1494613#c0 for the full extent of this shitshow. Sorry about all of this. |
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. Depends on D7077 Differential Revision: https://phabricator.services.mozilla.com/D7078 --HG-- extra : moz-landing-system : lando
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared.
@andreastt looks like there's been progress in gecko on this. Has it been fixed? What's the best way to verify? |
@mdittmer It is fixed in |
We have released geckodriver 0.23.0 yesterday. So the problem should be fixed now for wdspec tests. @foolip can you have a look if that version of geckodriver is already used? |
I defer to @jgraham. FWIW, it doesn't look like the geckodriver version is pinned in wpt. |
I believe @jugglinmike or @jgraham fixed it so that the latest version of geckodriver is now always picked up. |
I've filed #13399 about the difficulty of determining what geckodriver version is used. https://taskcluster-artifacts.net/D1rcmB07QXG_T1lClSfh8w/0/public/logs/live_backing.log is still very verbose, but only ~12% of the lines have "Marionette" in them so I'll assume this is now fixed. |
Thanks for the link to a log. The |
@andreastt where should we raise the level to |
@foolip I don't see that much logging output. So which lines are you referring to? |
@whimboo search for "marionette" in the logs and you see a fair bit of stuff that I'd consider redundant. |
Probably setting |
This looks like a fixed value to me, so a better place is https://searchfox.org/mozilla-central/source/testing/profiles/web-platform/user.js, unless you want to make is configurable via a command line option. |
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. Depends on D7077 Differential Revision: https://phabricator.services.mozilla.com/D7078 UltraBlame original commit: 09e9cefc19ca63fe9e6d78133d45a05b70285cdc
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. UltraBlame original commit: 0fcb85b4c2f2580df3de46af1c10b260dd156a44
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. Depends on D7077 Differential Revision: https://phabricator.services.mozilla.com/D7078 UltraBlame original commit: 09e9cefc19ca63fe9e6d78133d45a05b70285cdc
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. UltraBlame original commit: 0fcb85b4c2f2580df3de46af1c10b260dd156a44
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. Depends on D7077 Differential Revision: https://phabricator.services.mozilla.com/D7078 UltraBlame original commit: 09e9cefc19ca63fe9e6d78133d45a05b70285cdc
The patch c1df1c2e46f6 contained a faulty rebase where the coercion of logging::max_level() changed from the Pref type to a string. The string representation of geckodriver::logging::Level is given in upper-case, e.g. "INFO", and the Pref representation is given as "Info" to be compatible with managing the log level from Log.jsm in Gecko. This inadvertently caused web-platform-tests/wpt#12166 to reappear in almost the same way: before the problem was that Marionette’s frame script always included all log level entries. This was fixed with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so that log entries also from chrome space appeared. UltraBlame original commit: 0fcb85b4c2f2580df3de46af1c10b260dd156a44
Recently Firefox jobs on Travis started to print a lot of Marionette debug messages (for every single DOM event and script loading, etc.), presumably due to some recent changes in Marionette itself. I've seen many cases where the log exceeds 32MB and gets truncated as a result. We should probably suppress these messages. cc @jgraham
The text was updated successfully, but these errors were encountered: