Closed Bug 779118 Opened 12 years ago Closed 12 years ago

Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength-valid-changed.html browser_480148.js test_popup_tree.xul [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098")

Categories

(Core :: JavaScript Engine, defect)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla19
Tracking Status
firefox17 --- fixed
firefox18 --- fixed

People

(Reporter: emorley, Unassigned)

References

Details

(Keywords: crash, intermittent-failure, Whiteboard: [js:t][qa-])

Crash Data

Attachments

(1 file)

Rev4 MacOSX Snow Leopard 10.6 mozilla-inbound debug test mochitests-3/5 on 2012-07-31 03:17:27 PDT for push cb2bc08167c7

slave: talos-r4-snow-044

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

{
NOTE: child process received `Goodbye', closing down
WARNING: NS_ENSURE_TRUE(compMgr) failed: file nsComponentManagerUtils.cpp, line 49
WARNING: NS_ENSURE_TRUE(mTextInputHandler) failed: file ../../../widget/cocoa/nsChildView.mm, line 4087
WARNING: NS_ENSURE_TRUE(mMutable) failed: file ../../../../netwerk/base/src/nsSimpleURI.cpp, line 258
nsStringStats
 => mAllocCount:           1760
 => mReallocCount:            1
 => mFreeCount:            1760
 => mShareCount:           1422
 => mAdoptCount:              0
 => mAdoptFreeCount:          0
Assertion failure: state == IDLE, at ../../../js/src/jsscript.cpp:1098
TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/bugs/test_bug369306.html | Exited with code 1 during test run
INFO | automation.py | Application ran for: 0:04:32.892710
INFO | automation.py | Reading PID log: /var/folders/Hs/HsDn6a9SG8idoIya6p9mtE+++TI/-Tmp-/tmpv3Tyv8pidlog
Downloading symbols from: http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-macosx64-debug/1343728719/firefox-17.0a1.en-US.mac64.crashreporter-symbols.zip
PROCESS-CRASH | /tests/dom/tests/mochitest/bugs/test_bug369306.html | application crashed (minidump found)
Crash dump filename: /var/folders/Hs/HsDn6a9SG8idoIya6p9mtE+++TI/-Tmp-/tmp59YCHw/minidumps/EB2EC0FC-C52C-43A8-965E-B007D773E323.dmp
Operating system: Mac OS X
                  10.6.8 10K549
CPU: amd64
     family 6 model 23 stepping 10
     2 CPUs

Crash reason:  EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0x0

Thread 0 (crashed)
 0  XUL!js::SourceCompressorThread::waitOnCompression [jsscript.cpp : 1093 + 0x0]
    rbx = 0x701382f8   r12 = 0x00000000   r13 = 0x5fbf6c88   r14 = 0x00a67c68
    r15 = 0x528f9560   rip = 0x034fa667   rsp = 0x5fbf68b0   rbp = 0x5fbf68c0
    Found by: given as instruction pointer in context
 1  XUL!js::frontend::CompileScript [jsscript.h : 1101 + 0x4]
    rip = 0x035b95fa   rsp = 0x5fbf68d0
    Found by: stack scanning
 2  libSystem.B.dylib + 0x13c586
    rip = 0x80a14587   rsp = 0x5fbf6910
    Found by: stack scanning
 3  libxml2.2.dylib + 0x117fff
    rip = 0x808d8000   rsp = 0x5fbf6920
    Found by: stack scanning
 4  libSystem.B.dylib + 0x405c9
    rip = 0x809185ca   rsp = 0x5fbf6930
    Found by: stack scanning
}
I bet we need a memory barrier in the compression thread to force its writes to be visible to the main thread. You can see in the full crash trace that the compression thread must be in the IDLE state because it's waiting on the wakeup condition variable.
Rev4 MacOSX Lion 10.7 mozilla-inbound debug test mochitest-other on 2012-08-06 01:58:16 PDT for push 6abf66d40494

slave: talos-r4-lion-015

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

{
Assertion failure: state == IDLE, at ../../../js/src/jsscript.cpp:1099
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_461634.js | Exited with code 1 during test run
}
Summary: Intermittent crash in test_bug369306.html [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098") → Intermittent crash in test_bug369306.html, browser_461634.js [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098")
Rev4 MacOSX Snow Leopard 10.6 mozilla-central debug test reftest on 2012-08-07 14:26:08 PDT for push e55638d4037a

slave: talos-r4-snow-036

https://tbpl.mozilla.org/php/getParsedLog.php?id=14201116&tree=Firefox

{
Assertion failure: state == IDLE, at ../../../js/src/jsscript.cpp:1099
TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/test/build/reftest/tests/layout/reftests/css-ui-valid/input/input-maxlength-valid-changed.html | Exited with code 1 during test run
}
Summary: Intermittent crash in test_bug369306.html, browser_461634.js [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098") → Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength-valid-changed.html [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098")
Depends on: 776475
https://tbpl.mozilla.org/php/getParsedLog.php?id=14943742&tree=Mozilla-Inbound
Summary: Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength-valid-changed.html [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098") → Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength-valid-changed.html browser_480148.js [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098")
Whiteboard: [orange] → [orange][js:t]
https://tbpl.mozilla.org/php/getParsedLog.php?id=15192896&tree=Mozilla-Aurora
Summary: Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength-valid-changed.html browser_480148.js [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098") → Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength-valid-changed.html browser_480148.js test_popup_tree.xul [@ js::SourceCompressorThread::waitOnCompression] ("Assertion failure: state == IDLE, at js/src/jsscript.cpp:1098")
https://tbpl.mozilla.org/php/getParsedLog.php?id=15292377&tree=Mozilla-Aurora

Assertion failure: state == IDLE, at ../../../js/src/jsscript.cpp:983
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_490040.js | Exited with code 1 during test run
Blocks: 795312
Maybe this will do something...
Attachment #668791 - Flags: review?(jorendorff)
Attachment #668791 - Flags: review?(jorendorff) → review?(luke)
Comment on attachment 668791 [details] [diff] [review]
try to be more robust

I think this is the right thing to do assuming PR_WaitCondVar hasn't somehow avoided the spurious wakeup problem (http://en.wikipedia.org/wiki/Spurious_wakeup).

Thanks!
Attachment #668791 - Flags: review?(luke) → review+
Indeed, billm pointed me to the posix implementation and there is no indication that it does:
http://mxr.mozilla.org/mozilla-central/source/nsprpub/pr/src/pthreads/ptsynch.c#349
https://hg.mozilla.org/integration/mozilla-inbound/rev/97a10c2ac350

If I got get any mails about this bug for a week, we'll assume, it's fixed. :)
Whiteboard: [orange][js:t] → [orange][js:t][leave open]
(In reply to Benjamin Peterson [:benjamin] from comment #12)
> https://hg.mozilla.org/integration/mozilla-inbound/rev/97a10c2ac350
> 
> If I got get any mails about this bug for a week, we'll assume, it's fixed.
> :)

s/got/don't/
Comment on attachment 668791 [details] [diff] [review]
try to be more robust

[Approval Request Comment]
Test stability fix.
Attachment #668791 - Flags: approval-mozilla-beta?
Attachment #668791 - Flags: approval-mozilla-aurora?
Attachment #668791 - Flags: approval-mozilla-beta?
Attachment #668791 - Flags: approval-mozilla-beta+
Attachment #668791 - Flags: approval-mozilla-aurora?
Attachment #668791 - Flags: approval-mozilla-aurora+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
\o/  Nice job Benjamin!
Target Milestone: --- → mozilla19
Whiteboard: [orange][js:t] → [js:t]
Whiteboard: [js:t] → [js:t][qa-]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: