Closed Bug 1530031 Opened 10 months ago Closed 10 months ago

ARM64 Linux x64 simulator debug - jsapi-tests/testChromeBuffer.cpp:166:CHECK failed: match

Categories

(Core :: JavaScript Engine: JIT, defect, P2)

ARM64
Unspecified
defect

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: sstangl, Assigned: sstangl)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

This is one of the two remaining blockers for landing on ARM64 Ion preffed-on in the shell.

I was misled for a bit by the "trusted" and "untrusted" parts of the test, and the compartment wrapping.

Actually the bug is just that ARM64 Ion behaves just a little differently when it hits a recursion limit. That behavior is not well-defined, but we are testing it anyway.

Here's a reduced testcase:

function g(f) {
	try {
		f(undefined);
	} catch (e) {
		return 'From g: ' + e.name + ': ' + e.message;
	}
}

function f(g) {
	try {
		return f(g);
	} catch(e) {
		return g(f);
	}
}

print(f(g));

This appears to not be a real bug. The issue is that the error message can be either one of two, both of which appear to be valid. The simulator hardcodes a low stack size. Depending on the precise value of the stack limit, either error can be returned. The test passes on hardware.

The other simulators share the same implementation, but the ARM64 simulator does not. Given that this passes on real hardware, it would be best to just skip this test if it's being run in the ARM64 simulator.

Pushed by sstangl@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5580674b0d5f
Summary: Allow ARM64 Simulator to return a different error message. r=nbp
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
https://hg.mozilla.org/projects/oak/rev/5580674b0d5fb1fe26d9d47b56f49e8e28635804
Bug 1530031 - Summary: Allow ARM64 Simulator to return a different error message. r=nbp
You need to log in before you can comment on or make changes to this bug.