Closed Bug 979675 Opened 11 years ago Closed 7 years ago

Intermittent test-child_process.testExecFileOptionsMaxBufferLargeStdOut | Exit code is null in exit handler - null == 0 | Signal is SIGTERM in exit handler - "SIGTERM" == null (twice each)

Categories

(Add-on SDK Graveyard :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: KWierso, Unassigned)

References

Details

(Keywords: intermittent-failure, Whiteboard: [leave open])

https://tbpl.mozilla.org/php/getParsedLog.php?id=35620120&tree=Mozilla-Central slave: tst-linux64-spot-565 TEST-PASS | tests/test-child_process.testExecFileOptionsEnvironment | stderr is empty TEST-PASS | tests/test-child_process.testExecFileOptionsEnvironment | received `cwd` option TEST-PASS | tests/test-child_process.testExecFileOptionsEnvironment | receives environment option TEST-END | tests/test-child_process.testExecFileOptionsEnvironment TEST-START | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | Exit code is null in exit handler TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | Signal is SIGTERM in exit handler TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | error contains stderr maxBuffer exceeded message TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | stderr has full buffer TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | stdout is empty TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | Exit code is null in close handler TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr | Signal is SIGTERM in close handler TEST-END | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOErr TEST-START | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut TEST-UNEXPECTED-FAIL | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | Exit code is null in exit handler - null == 0 TEST-INFO | Traceback (most recent call last): File "resource://gre/modules/commonjs/sdk/system/child_process/subprocess.js", line 1617, in _done stderr: error, File "resource://gre/modules/commonjs/sdk/system/child_process.js", line 79, in initialize/proc<.done emit(child, 'exit', child.exitCode, child.signalCode); File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit listener.apply(target, args); File "resource://extensions.modules.0de9c228-7019-46f5-b70d-15cdb23b17c9-at-jetpack.commonjs.path.tests/test-child_process.js", line 210, in exitHandler assert.equal(code, null, 'Exit code is null in exit handler'); File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal operator: "==" File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail this._log.fail(message); File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail this.console.testMessage(false, false, this.test.name, message); File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage this.trace(); TEST-UNEXPECTED-FAIL | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | Signal is SIGTERM in exit handler - "SIGTERM" == null TEST-INFO | Traceback (most recent call last): File "resource://gre/modules/commonjs/sdk/system/child_process/subprocess.js", line 1617, in _done stderr: error, File "resource://gre/modules/commonjs/sdk/system/child_process.js", line 79, in initialize/proc<.done emit(child, 'exit', child.exitCode, child.signalCode); File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit listener.apply(target, args); File "resource://extensions.modules.0de9c228-7019-46f5-b70d-15cdb23b17c9-at-jetpack.commonjs.path.tests/test-child_process.js", line 211, in exitHandler assert.equal(signal, 'SIGTERM', 'Signal is SIGTERM in exit handler'); File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal operator: "==" File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail this._log.fail(message); File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail this.console.testMessage(false, false, this.test.name, message); File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage this.trace(); TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | error contains stdout maxBuffer exceeded message TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | stdout has full buffer TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | stderr is empty TEST-UNEXPECTED-FAIL | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | Exit code is null in close handler - null == 0 TEST-INFO | Traceback (most recent call last): File "resource://gre/modules/commonjs/sdk/system/child_process/subprocess.js", line 1617, in _done stderr: error, File "resource://gre/modules/commonjs/sdk/system/child_process.js", line 84, in initialize/proc<.done emit(child, 'close', child.exitCode, child.signalCode); File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit listener.apply(target, args); File "resource://extensions.modules.0de9c228-7019-46f5-b70d-15cdb23b17c9-at-jetpack.commonjs.path.tests/test-child_process.js", line 216, in closeHandler assert.equal(code, null, 'Exit code is null in close handler'); File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal operator: "==" File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail this._log.fail(message); File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail this.console.testMessage(false, false, this.test.name, message); File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage this.trace(); TEST-UNEXPECTED-FAIL | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | Signal is SIGTERM in close handler - "SIGTERM" == null TEST-INFO | Traceback (most recent call last): File "resource://gre/modules/commonjs/sdk/system/child_process/subprocess.js", line 1617, in _done stderr: error, File "resource://gre/modules/commonjs/sdk/system/child_process.js", line 84, in initialize/proc<.done emit(child, 'close', child.exitCode, child.signalCode); File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit listener.apply(target, args); File "resource://extensions.modules.0de9c228-7019-46f5-b70d-15cdb23b17c9-at-jetpack.commonjs.path.tests/test-child_process.js", line 217, in closeHandler assert.equal(signal, 'SIGTERM', 'Signal is SIGTERM in close handler'); File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal operator: "==" File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail this._log.fail(message); File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail this.console.testMessage(false, false, this.test.name, message); File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage this.trace(); TEST-END | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut TEST-START | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | Exit code is 0 in exit handler TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | Signal is null in exit handler TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | error contains stderr maxBuffer exceeded message TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | stderr has full buffer TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | stdout is empty TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | Exit code is 0 in close handler TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr | Signal is null in close handler TEST-END | tests/test-child_process.testExecFileOptionsMaxBufferSmallStdErr
Priority: -- → P1
If exit is `0` and signal is `null`, it looks like this process exited successfully without being killed for having too large of a buffer. Looking into it.
Although the `execFile` proc is terminating correctly, containing the max buffer error, and a buffer over the limit. Looks like a race condition TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | error contains stdout maxBuffer exceeded message TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | stdout has full buffer TEST-PASS | tests/test-child_process.testExecFileOptionsMaxBufferLargeStdOut | stderr is empty
This intermittent failure is #11 on OrangeFactor, and as such worthy of escalation due to https://wiki.mozilla.org/Sheriffing/Test_Disabling_Policy Needinfo'ing an appropriate person for estimation of next steps & timeframe. The policy requires that I state that after two working days a needinfo on the module owner will be added (if they aren't already), and failing that - the test disabled (or suite hidden if disabling isn't an option) 2 working days after that. But that's an absolutely last resort :-)
Flags: needinfo?(jsantell)
Looking into this
Flags: needinfo?(jsantell)
(In reply to Jordan Santell [:jsantell] [@jsantell] [JSConfing until June 2nd!] from comment #203) > Looking into this Hi Jordan - this is still high up on OrangeFactor - have you had any luck digging into this? Would it be best if we disabled the test in the meantime?
Flags: needinfo?(jsantell)
Yes, Ed, I have previously attempted but had no such luck -- can we disable this for the time being? Thanks!
Flags: needinfo?(jsantell)
(In reply to Jordan Santell [:jsantell] [@jsantell] [JSConfing until June 2nd!] from comment #324) > Yes, Ed, I have previously attempted but had no such luck -- can we disable > this for the time being? Thanks! Yeah sgtm - thank you. Wes, would you mind doing the honours, since upstream? :-)
Flags: needinfo?(kwierso)
Commit pushed to master at https://github.com/mozilla/addon-sdk https://github.com/mozilla/addon-sdk/commit/8e68d49c71bac4202c689d6d677a8aed77f05dd4 Bug 979675 - Disable child-process tests until they can be fixed r=kwierso
Done. This should go out whenever erikvold does his next uplift.
Flags: needinfo?(kwierso) → needinfo?(evold)
Whiteboard: [leave open]
(In reply to Wes Kocher (:KWierso) from comment #335) > Done. This should go out whenever erikvold does his next uplift. Great! Thank you :-)
tracking-e10s: --- → ?
please don't use this site for testing, we have a separate bugzilla instance just for that: https://landfill.bugzilla.org/bugzilla-tip/
tracking-e10s: ? → ---
Blocks: 1020473
uplift is done
Blocks: 1021280
Flags: needinfo?(evold)
Priority: P1 → --
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.