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")

RESOLVED FIXED in Firefox 17

Status

()

Core
JavaScript Engine
--
critical
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: emorley, Unassigned)

Tracking

({crash, intermittent-failure})

Trunk
mozilla19
x86_64
Mac OS X
crash, intermittent-failure
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox17 fixed, firefox18 fixed)

Details

(Whiteboard: [js:t][qa-], crash signature)

Attachments

(1 attachment)

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
}

Comment 1

5 years ago
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
Comment hidden (Treeherder Robot)
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
status-firefox17: --- → affected
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

Comment 8

5 years ago
Created attachment 668791 [details] [diff] [review]
try to be more robust

Maybe this will do something...
Attachment #668791 - Flags: review?(jorendorff)

Updated

5 years ago
Attachment #668791 - Flags: review?(jorendorff) → review?(luke)

Comment 9

5 years ago
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+

Comment 10

5 years ago
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
Comment hidden (Treeherder Robot)

Comment 12

5 years ago
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]

Comment 13

5 years ago
(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 hidden (Treeherder Robot)

Comment 15

5 years ago
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?
https://hg.mozilla.org/mozilla-central/rev/97a10c2ac350
Flags: in-testsuite+
Attachment #668791 - Flags: approval-mozilla-beta?
Attachment #668791 - Flags: approval-mozilla-beta+
Attachment #668791 - Flags: approval-mozilla-aurora?
Attachment #668791 - Flags: approval-mozilla-aurora+

Comment 17

5 years ago
https://hg.mozilla.org/releases/mozilla-aurora/rev/95c8e56502f8
https://hg.mozilla.org/releases/mozilla-beta/rev/b9cedb3aa91b
Whiteboard: [orange][js:t][leave open] → [orange][js:t]

Updated

5 years ago
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED

Updated

5 years ago
Duplicate of this bug: 780585

Updated

5 years ago
Duplicate of this bug: 795312

Updated

5 years ago
Duplicate of this bug: 776475

Updated

5 years ago
Duplicate of this bug: 800863

Comment 22

5 years ago
\o/  Nice job Benjamin!

Updated

5 years ago
status-firefox17: affected → fixed
status-firefox18: --- → fixed
Target Milestone: --- → mozilla19
Keywords: intermittent-failure
Whiteboard: [orange][js:t] → [js:t]

Updated

5 years ago
Whiteboard: [js:t] → [js:t][qa-]
You need to log in before you can comment on or make changes to this bug.