Closed Bug 1620837 Opened 4 years ago Closed 4 years ago

encoding error in results.py

Categories

(Core :: JavaScript Engine, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox76 --- fixed

People

(Reporter: aryx, Assigned: sfink)

References

Details

Attachments

(1 file)

Earlier today the DST change caused permanent spidermonkey failures (bug 1620825) and the error reporting failed due to an encoding issue:

Push: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=success%2Ctestfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel%2Crunnable&searchStr=nojit&revision=83f150fbc969dc2d02f72aeb04b10c789ef395d5&selectedJob=292147364
Log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=292147364&repo=autoland&lineNumber=65828

[task 2020-03-08T11:00:40.870Z] TEST-PASS | test262/built-ins/Date/parse/zero.js | (args: "--dll /builds/worker/workspace/breakpad-tools/libbreakpadinjector.so") [0.0 s]
[task 2020-03-08T11:00:40.871Z] ## test262/built-ins/Date/parse/without-utc-offset.js: rc = 3, run time = 0.042141
[task 2020-03-08T11:00:40.893Z] Traceback (most recent call last):
[task 2020-03-08T11:00:40.893Z] File "/builds/worker/workspace/build/src/js/src/tests/jstests.py", line 577, in <module>
[task 2020-03-08T11:00:40.893Z] sys.exit(main())
[task 2020-03-08T11:00:40.893Z] File "/builds/worker/workspace/build/src/js/src/tests/jstests.py", line 566, in main
[task 2020-03-08T11:00:40.893Z] results.push(out)
[task 2020-03-08T11:00:40.893Z] File "/builds/worker/workspace/build/src/js/src/tests/lib/results.py", line 296, in push
[task 2020-03-08T11:00:40.893Z] self.fp.write(output.err)
[task 2020-03-08T11:00:40.893Z] UnicodeEncodeError: 'ascii' codec can't encode characters in position 53-54: ordinal not in range(128)
[task 2020-03-08T11:00:41.062Z] Makefile:63: recipe for target 'check-jstests' failed
[task 2020-03-08T11:00:41.062Z] make[1]: *** [check-jstests] Error 1
[task 2020-03-08T11:00:41.062Z] make[1]: Leaving directory '/builds/worker/workspace/build/src/obj-spider/js/src'
[task 2020-03-08T11:00:41.063Z] Makefile:245: recipe for target 'check-jstests' failed
[task 2020-03-08T11:00:41.063Z] make: *** [check-jstests] Error 2

The real fix for this is to port the wpt stuff to py3 so jstests can just always run under py3, but I'll have to come up with a way to fix py2 for now.

Assignee: nobody → sphink
Status: NEW → ASSIGNED

Ah. I was confused why I couldn't reproduce this. It's printing output to stdout, and I have LANG set to en_US.UTF-8. If I set it to C, I get the same error.

I tried various approaches, and it got confusing. But I think I have a straightforward fix that handles all the cases I threw at it, using the six module.

Depends on: 1620923
Priority: -- → P2
Attachment #9131770 - Attachment description: Bug 1620837 - py2 + py3 compat by changing output & error output to be the type expected to be written to stdout and opened files (bytes on py2, str on py3) → Bug 1620837 - py2 + py3 compat by changing output & error output to be the str type, which can be written to stdout and opened files (binary on py2, text on py3)
Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b1ea5b2f21ed
py2 + py3 compat by changing output & error output to be the str type, which can be written to stdout and opened files (binary on py2, text on py3) r=anba
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: