Last Comment Bug 779118 - 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")
: Intermittent crash in test_bug369306.html, browser_461634.js, input-maxlength...
Status: RESOLVED FIXED
[js:t][qa-]
: crash, intermittent-failure
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86_64 Mac OS X
: -- critical (vote)
: mozilla19
Assigned To: general
:
Mentors:
: 776475 780585 795312 800863 (view as bug list)
Depends on: 776475
Blocks: 438871 795312
  Show dependency treegraph
 
Reported: 2012-07-31 07:12 PDT by Ed Morley [:emorley]
Modified: 2012-11-28 02:08 PST (History)
8 users (show)
ryanvm: in‑testsuite+
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
fixed
fixed


Attachments
try to be more robust (818 bytes, patch)
2012-10-06 09:27 PDT, :Benjamin Peterson
luke: review+
lukasblakk+bugs: approval‑mozilla‑aurora+
lukasblakk+bugs: approval‑mozilla‑beta+
Details | Diff | Splinter Review

Description Ed Morley [:emorley] 2012-07-31 07:12:15 PDT
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 :Benjamin Peterson 2012-07-31 09:53:16 PDT
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.
Comment 2 Ed Morley [:emorley] 2012-08-06 07:27:22 PDT
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
}
Comment 3 Daniel Holbert [:dholbert] 2012-08-07 14:53:09 PDT
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
}
Comment 4 Treeherder Robot 2012-08-16 22:46:35 PDT
philor
https://tbpl.mozilla.org/php/getParsedLog.php?id=14458955&tree=Mozilla-Inbound
Rev4 MacOSX Snow Leopard 10.6 mozilla-inbound debug test mochitests-3/5 on 2012-08-16 22:33:33
slave: talos-r4-snow-068

Assertion failure: state == IDLE, at ../../../js/src/jsscript.cpp:985
TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/bugs/test_bug369306.html | Exited with code 1 during test run
PROCESS-CRASH | /tests/dom/tests/mochitest/bugs/test_bug369306.html | application crashed (minidump found)
Thread 0 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
TEST-UNEXPECTED-FAIL | plugin process 360 | automationutils.processLeakLog() | missing output line for total leaks!
Comment 5 Phil Ringnalda (:philor, back in August) 2012-09-04 15:32:12 PDT
https://tbpl.mozilla.org/php/getParsedLog.php?id=14943742&tree=Mozilla-Inbound
Comment 6 Phil Ringnalda (:philor, back in August) 2012-09-13 10:21:12 PDT
https://tbpl.mozilla.org/php/getParsedLog.php?id=15192896&tree=Mozilla-Aurora
Comment 7 Phil Ringnalda (:philor, back in August) 2012-09-17 20:13:28 PDT
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
Comment 8 :Benjamin Peterson 2012-10-06 09:27:45 PDT
Created attachment 668791 [details] [diff] [review]
try to be more robust

Maybe this will do something...
Comment 9 Luke Wagner [:luke] 2012-10-12 14:01:09 PDT
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!
Comment 10 Luke Wagner [:luke] 2012-10-12 14:06:53 PDT
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 11 Treeherder Robot 2012-10-12 19:56:11 PDT
ryanvm%gmail.com
https://tbpl.mozilla.org/php/getParsedLog.php?id=16069991&tree=Mozilla-Aurora
Rev4 MacOSX Snow Leopard 10.6 mozilla-aurora debug test mochitests-3/5 on 2012-10-12 19:46:34
slave: talos-r4-snow-079

Assertion failure: state == IDLE, at ../../../js/src/jsscript.cpp:1007
TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/bugs/test_bug369306.html | Exited with code 1 during test run
PROCESS-CRASH | /tests/dom/tests/mochitest/bugs/test_bug369306.html | application crashed (minidump found)
Thread 0 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
TEST-UNEXPECTED-FAIL | plugin process 727 | automationutils.processLeakLog() | missing output line for total leaks!
Comment 12 :Benjamin Peterson 2012-10-13 06:27:33 PDT
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. :)
Comment 13 :Benjamin Peterson 2012-10-13 06:28:08 PDT
(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 14 Treeherder Robot 2012-10-13 12:35:50 PDT
ryanvm%gmail.com
https://tbpl.mozilla.org/php/getParsedLog.php?id=16087310&tree=Mozilla-Aurora
Rev4 MacOSX Snow Leopard 10.6 mozilla-aurora debug test mochitests-3/5 on 2012-10-13 12:20:11
slave: talos-r4-snow-026

TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/bugs/test_bug369306.html | Exited with code -20 during test run
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
Comment 15 :Benjamin Peterson 2012-10-13 12:44:17 PDT
Comment on attachment 668791 [details] [diff] [review]
try to be more robust

[Approval Request Comment]
Test stability fix.
Comment 16 Ryan VanderMeulen [:RyanVM] 2012-10-13 16:40:04 PDT
https://hg.mozilla.org/mozilla-central/rev/97a10c2ac350
Comment 18 :Benjamin Peterson 2012-10-15 12:50:36 PDT
*** Bug 780585 has been marked as a duplicate of this bug. ***
Comment 19 :Benjamin Peterson 2012-10-15 12:50:39 PDT
*** Bug 795312 has been marked as a duplicate of this bug. ***
Comment 20 :Benjamin Peterson 2012-10-15 12:50:41 PDT
*** Bug 776475 has been marked as a duplicate of this bug. ***
Comment 21 :Benjamin Peterson 2012-10-15 12:50:43 PDT
*** Bug 800863 has been marked as a duplicate of this bug. ***
Comment 22 Luke Wagner [:luke] 2012-10-15 14:11:02 PDT
\o/  Nice job Benjamin!

Note You need to log in before you can comment on or make changes to this bug.