Closed Bug 1079826 Opened 10 years ago Closed 10 years ago

Intermittent testTimeout7.js | Script runs for too long, terminating. (code -5, args "--no-baseline --no-ion")

Categories

(Core :: JavaScript Engine, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35
Tracking Status
firefox33 --- unaffected
firefox34 --- unaffected
firefox35 --- fixed
firefox-esr31 --- unaffected

People

(Reporter: cbook, Assigned: luke)

References

()

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Linux mozilla-inbound leak test spidermonkey_info-warnaserrdebug build

https://treeherder.mozilla.org/ui/logviewer.html#?job_id=2840757&repo=mozilla-inbound

TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/asm.js/testTimeout7.js | Script runs for too long, terminating. (code -5, args "--no-baseline --no-ion") 

INFO exit-status : -5
INFO timed-out : False
INFO stderr 2> Script runs for too long, terminating. 

so far intermittent bug, not perma-failure
https://tbpl.mozilla.org/php/getParsedLog.php?id=49736856&tree=Mozilla-Inbound

TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/asm.js/testTimeout7.js | Script runs for too long, terminating. (code -5, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --no-sse3 --no-threads")


https://tbpl.mozilla.org/php/getParsedLog.php?id=49778902&tree=Mozilla-Inbound

TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/asm.js/testTimeout7.js | Script runs for too long, terminating. (code -5, args "--baseline-eager")
Hardware: x86 → All
I'll look into this.
It's interesting that these are all on, what seem to be, non-standard builds (perhaps ones that disable asm.js optimization?).  Does anyone know what these build configurations mean:
  leak test spidermonkey_info-warnaserrdebug build
  leak test spidermonkey_tier_1-rootanalysis build
?
CC sfink
For what it's worth, I can reproduce once every 6 runs locally, with a debug non-opt x64 build (nothing else special is needed).

(In reply to Luke Wagner [:luke] from comment #4)
> It's interesting that these are all on, what seem to be, non-standard builds
> (perhaps ones that disable asm.js optimization?).  Does anyone know what
> these build configurations mean:
>   leak test spidermonkey_info-warnaserrdebug build
warning as errors build (should only affect build, not runtime)
>   leak test spidermonkey_tier_1-rootanalysis build
> ?
sfink's rooting analysis
Ah hah, I think I understand the cause: it's in the x64-only DEBUG code I added.  If an async signal handler runs and then changes heap in the middle of the DEBUG assert, the assert fails.  The reason is that the assert code moves HeapReg to ScratchReg, the reloads HeapReg from memory, then compares against ScratchReg (which, by now, can be invalid).  Rather than removing the assert (which I like), I'd like to just disallow changeHeap from under the interrupt callback (which shouldn't be possible from user code anyhow).
Attached patch fix-timeoutSplinter Review
Assignee: nobody → luke
Status: NEW → ASSIGNED
Attachment #8501927 - Flags: review?(benj)
(In reply to Benjamin Bouvier [:bbouvier] from comment #6)
> For what it's worth, I can reproduce once every 6 runs locally, with a debug
> non-opt x64 build (nothing else special is needed).
> 
> (In reply to Luke Wagner [:luke] from comment #4)
> > It's interesting that these are all on, what seem to be, non-standard builds
> > (perhaps ones that disable asm.js optimization?).  Does anyone know what
> > these build configurations mean:
> >   leak test spidermonkey_info-warnaserrdebug build
> warning as errors build (should only affect build, not runtime)

Which only recently started running jit-tests again.

> >   leak test spidermonkey_tier_1-rootanalysis build
> > ?
> sfink's rooting analysis

Actually, this is a dynamic rooting analysis, which is just a GGC zeal mode. And again, it recently started running jit-tests.
Comment on attachment 8501927 [details] [diff] [review]
fix-timeout

Review of attachment 8501927 [details] [diff] [review]:
-----------------------------------------------------------------

I agree it's simpler that way. Thanks!
Attachment #8501927 - Flags: review?(benj) → review+
Backed out for jit-test failures.
https://hg.mozilla.org/integration/mozilla-inbound/rev/7199ca292bee

http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-macosx64/1412860633/mozilla-inbound_snowleopard_test-jittest-bm106-tests1-macosx-build2423.txt.gz

07:22:14     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7-nosignals.js | Success (code 6, args "")
07:22:16     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7-nosignals.js | Success (code 6, args "--ion-eager --ion-offthread-compile=off")
07:22:16     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7-nosignals.js | Success (code 6, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --no-sse3 --no-threads")
07:22:16     INFO -  FAIL - asm.js/testTimeout7-nosignals.js
07:22:16  WARNING -  TEST-UNEXPECTED-FAIL | tests/jit-test/jit-test/tests/asm.js/testTimeout7-nosignals.js | Unknown (code 0, args "--baseline-eager --no-fpu")
07:22:16     INFO -  INFO exit-status     : 0
07:22:16     INFO -  INFO timed-out       : False
07:22:17     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7-nosignals.js | Success (code 6, args "--baseline-eager")
07:22:17     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7-nosignals.js | Success (code 6, args "--no-baseline --no-ion")
07:22:18     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7.js | Success (code 6, args "")
07:22:18     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7.js | Success (code 6, args "--ion-eager --ion-offthread-compile=off")
07:22:19     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7.js | Success (code 6, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --no-sse3 --no-threads")
07:22:19     INFO -  FAIL - asm.js/testTimeout7.js
07:22:19  WARNING -  TEST-UNEXPECTED-FAIL | tests/jit-test/jit-test/tests/asm.js/testTimeout7.js | Unknown (code 0, args "--baseline-eager --no-fpu")
07:22:19     INFO -  INFO exit-status     : 0
07:22:19     INFO -  INFO timed-out       : False
07:22:19     INFO -  TEST-PASS | tests/jit-test/jit-test/tests/asm.js/testTimeout7.js | Success (code 6, args "--baseline-eager")
Oops, need to change 'quit()' to 'quit(6)' in the tests in the !isAsmJSCompilationAvailable() case (which I missed testing since it's only on 32-bit).
https://hg.mozilla.org/mozilla-central/rev/3569e710513f
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in before you can comment on or make changes to this bug.