Closed Bug 1333498 Opened 8 years ago Closed 8 years ago

gray JSObject in dbg::onPromiseSettled ?

Categories

(Core :: JavaScript Engine, defect)

50 Branch
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: smaug, Unassigned)

References

Details

(Keywords: sec-moderate)

Making us use more zone GCs (bug 1110928) causes a crash I think in http://searchfox.org/mozilla-central/rev/02a56df6474a97cf84d94bbcfaa126979970905d/js/src/jscntxtinlines.h#71 [task 2017-01-23T21:09:45.820459Z] 21:09:45 INFO - Assertion failure: IsInsideNursery(obj) || !obj->asTenured().isMarked(gc::GRAY), at /home/worker/workspace/build/src/js/src/jscntxtinlines.h:71 [task 2017-01-23T21:09:45.884530Z] 21:09:45 INFO - ExceptionHandler::GenerateDump cloned child 1354 [task 2017-01-23T21:09:45.884843Z] 21:09:45 INFO - ExceptionHandler::SendContinueSignalToChild sent continue signal to child [task 2017-01-23T21:09:45.885088Z] 21:09:45 INFO - ExceptionHandler::WaitForContinueSignal waiting for continue signal... [task 2017-01-23T21:09:46.681157Z] 21:09:46 INFO - TEST-INFO | Main app process: exit 11 [task 2017-01-23T21:09:46.681615Z] 21:09:46 INFO - Buffered messages logged at 21:09:40 [task 2017-01-23T21:09:46.681912Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | A valid string reason is expected [task 2017-01-23T21:09:46.683581Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Reason cannot be empty [task 2017-01-23T21:09:46.687751Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise object should exist [task 2017-01-23T21:09:46.689550Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise.resolve exists [task 2017-01-23T21:09:46.691271Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise.reject exists [task 2017-01-23T21:09:46.693165Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then - resolveCb has been called [task 2017-01-23T21:09:46.695471Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | ResolveCb received 42 [task 2017-01-23T21:09:46.704280Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then - rejectCb has been called [task 2017-01-23T21:09:46.708259Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | RejectCb received 42 [task 2017-01-23T21:09:46.712265Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then - rejectCb has been called [task 2017-01-23T21:09:46.715441Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | RejectCb received 42 [task 2017-01-23T21:09:46.717260Z] 21:09:46 INFO - Buffered messages logged at 21:09:42 [task 2017-01-23T21:09:46.719145Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then - promise is still alive [task 2017-01-23T21:09:46.722309Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handlers are not called before 'then' returns. [task 2017-01-23T21:09:46.723860Z] 21:09:46 INFO - Buffered messages logged at 21:09:43 [task 2017-01-23T21:09:46.727268Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handler should have been called before the timeout. [task 2017-01-23T21:09:46.731458Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handlers are not called before 'then' returns. [task 2017-01-23T21:09:46.741364Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handler should have been called before the timeout. [task 2017-01-23T21:09:46.746667Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handlers are not called before 'then' returns. [task 2017-01-23T21:09:46.750311Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handler should have been called before the timeout. [task 2017-01-23T21:09:46.756868Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Handlers are not called until the next microtask. [task 2017-01-23T21:09:46.762019Z] 21:09:46 INFO - TEST-FAIL | dom/promise/tests/test_promise.html | Sync XHR should not trigger microtask execution. [task 2017-01-23T21:09:46.766120Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.767871Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.769729Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.771425Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve - step == 1 [task 2017-01-23T21:09:46.775643Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.777846Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.780926Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | window.onerror has been called! [task 2017-01-23T21:09:46.783023Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | These 2 promise objs are different [task 2017-01-23T21:09:46.785186Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.791831Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.794000Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.799970Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 43 [task 2017-01-23T21:09:46.803585Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.805209Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 44 [task 2017-01-23T21:09:46.806793Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | These 2 promise objs are different [task 2017-01-23T21:09:46.808375Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.reject has been called [task 2017-01-23T21:09:46.809899Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.811550Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.813188Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 43 [task 2017-01-23T21:09:46.815198Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.818875Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 44 [task 2017-01-23T21:09:46.821107Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.822918Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Catch has been called [task 2017-01-23T21:09:46.824519Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.826280Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 43 [task 2017-01-23T21:09:46.830077Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.reject has been called [task 2017-01-23T21:09:46.831662Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.833281Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Catch has been called [task 2017-01-23T21:09:46.834803Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 43 [task 2017-01-23T21:09:46.836383Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then.resolve has been called [task 2017-01-23T21:09:46.838933Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 44 [task 2017-01-23T21:09:46.840628Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Many steps... should return 2 [task 2017-01-23T21:09:46.842561Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Many steps... should return 2 [task 2017-01-23T21:09:46.844671Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed [task 2017-01-23T21:09:46.846803Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed and then == 42 [task 2017-01-23T21:09:46.853008Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed [task 2017-01-23T21:09:46.855525Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed and then == 43 [task 2017-01-23T21:09:46.857315Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed [task 2017-01-23T21:09:46.859026Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed and then == 42 [task 2017-01-23T21:09:46.860685Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed [task 2017-01-23T21:09:46.862287Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested nested promise is executed [task 2017-01-23T21:09:46.863896Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested nested promise is executed and then == 42 [task 2017-01-23T21:09:46.865462Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.866966Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.868513Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Nested promise is executed [task 2017-01-23T21:09:46.870315Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Value == 42 [task 2017-01-23T21:09:46.872291Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise.resolve exists [task 2017-01-23T21:09:46.874274Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise.reject exists [task 2017-01-23T21:09:46.876258Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then - resolveCb has been called [task 2017-01-23T21:09:46.878184Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | ResolveCb received undefined [task 2017-01-23T21:09:46.880111Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Then - rejectCb has been called [task 2017-01-23T21:09:46.882084Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | RejectCb received undefined [task 2017-01-23T21:09:46.884033Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | These 2 promise objs are different [task 2017-01-23T21:09:46.885958Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Both resolve to the same value [task 2017-01-23T21:09:46.887778Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise rejected with 42 [task 2017-01-23T21:09:46.894285Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Promise rejected with 42 [task 2017-01-23T21:09:46.895903Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | These 2 promise objs are different [task 2017-01-23T21:09:46.897498Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Both reject to the same value [task 2017-01-23T21:09:46.899067Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | promiseSimpleThenableResolve [task 2017-01-23T21:09:46.900624Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | promiseSimpleThenableReject [task 2017-01-23T21:09:46.902192Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | promiseThenableThrowsBeforeCallback [task 2017-01-23T21:09:46.903745Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | promiseThenableThrowsAfterCallback [task 2017-01-23T21:09:46.905308Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | promiseThenableRejectThenResolve [task 2017-01-23T21:09:46.906844Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | promiseWithThenReplaced [task 2017-01-23T21:09:46.908430Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Strict mode callback should have this === undefined. [task 2017-01-23T21:09:46.910017Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | thisArg should be undefined. [task 2017-01-23T21:09:46.915692Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Should return a Promise. [task 2017-01-23T21:09:46.917367Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Resolved value should be an Array [task 2017-01-23T21:09:46.919027Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Length should match [task 2017-01-23T21:09:46.920626Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Resolved value should match original [task 2017-01-23T21:09:46.922193Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Resolved value should match original [task 2017-01-23T21:09:46.923749Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Resolved value should match original [task 2017-01-23T21:09:46.925320Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Should cast to a Promise. [task 2017-01-23T21:09:46.926839Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Should resolve to 2. [task 2017-01-23T21:09:46.928395Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Should cast to a Promise. [task 2017-01-23T21:09:46.930227Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Should return original Promise. [task 2017-01-23T21:09:46.935603Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Should resolve to true. [task 2017-01-23T21:09:46.937384Z] 21:09:46 INFO - TEST-FAIL | dom/promise/tests/test_promise.html | The author of the test has indicated that flaky timeouts are expected. Reason: untriaged [task 2017-01-23T21:09:46.938898Z] 21:09:46 INFO - Buffered messages logged at 21:09:44 [task 2017-01-23T21:09:46.940472Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Expected thenable to be called asynchronously [task 2017-01-23T21:09:46.942059Z] 21:09:46 INFO - TEST-PASS | dom/promise/tests/test_promise.html | Expected thenable to be called asynchronously [task 2017-01-23T21:09:46.943517Z] 21:09:46 INFO - Buffered messages finished [task 2017-01-23T21:09:46.945192Z] 21:09:46 ERROR - TEST-UNEXPECTED-FAIL | dom/promise/tests/test_promise.html | application terminated with exit code 11 [task 2017-01-23T21:09:46.954063Z] 21:09:46 INFO - runtests.py | Application ran for: 0:00:41.966732 [task 2017-01-23T21:09:46.954302Z] 21:09:46 INFO - zombiecheck | Reading PID log: /tmp/tmpW9Hlnkpidlog [task 2017-01-23T21:09:46.954524Z] 21:09:46 INFO - ==> process 1275 launched child process 1293 [task 2017-01-23T21:09:46.954755Z] 21:09:46 INFO - zombiecheck | Checking for orphan process with PID: 1293 [task 2017-01-23T21:09:46.956053Z] 21:09:46 INFO - mozcrash Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmpWycKdE.mozrunner/minidumps/70400265-0b55-2eb7-5b7e1ac5-2af2a969.dmp /home/worker/workspace/build/symbols [task 2017-01-23T21:10:00.652584Z] 21:10:00 INFO - mozcrash Saved minidump as /home/worker/workspace/build/blobber_upload_dir/70400265-0b55-2eb7-5b7e1ac5-2af2a969.dmp [task 2017-01-23T21:10:00.656319Z] 21:10:00 INFO - mozcrash Saved app info as /home/worker/workspace/build/blobber_upload_dir/70400265-0b55-2eb7-5b7e1ac5-2af2a969.extra [task 2017-01-23T21:10:00.986962Z] 21:10:00 INFO - PROCESS-CRASH | dom/promise/tests/test_promise.html | application crashed [@ js::CompartmentChecker::check] [task 2017-01-23T21:10:00.989195Z] 21:10:00 INFO - Crash dump filename: /tmp/tmpWycKdE.mozrunner/minidumps/70400265-0b55-2eb7-5b7e1ac5-2af2a969.dmp [task 2017-01-23T21:10:00.990609Z] 21:10:00 INFO - Operating system: Linux [task 2017-01-23T21:10:00.992093Z] 21:10:00 INFO - 0.0.0 Linux 3.13.0-100-generic #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 x86_64 [task 2017-01-23T21:10:00.993474Z] 21:10:00 INFO - CPU: x86 [task 2017-01-23T21:10:00.994815Z] 21:10:00 INFO - GenuineIntel family 6 model 62 stepping 4 [task 2017-01-23T21:10:00.996058Z] 21:10:00 INFO - 1 CPU [task 2017-01-23T21:10:00.997353Z] 21:10:00 INFO - [task 2017-01-23T21:10:00.998649Z] 21:10:00 INFO - GPU: UNKNOWN [task 2017-01-23T21:10:01.000040Z] 21:10:00 INFO - [task 2017-01-23T21:10:01.001385Z] 21:10:01 INFO - Crash reason: SIGSEGV [task 2017-01-23T21:10:01.002558Z] 21:10:01 INFO - Crash address: 0x0 [task 2017-01-23T21:10:01.003984Z] 21:10:01 INFO - Process uptime: not available [task 2017-01-23T21:10:01.005228Z] 21:10:01 INFO - [task 2017-01-23T21:10:01.006509Z] 21:10:01 INFO - Thread 0 (crashed) [task 2017-01-23T21:10:01.007914Z] 21:10:01 INFO - 0 libxul.so!js::CompartmentChecker::check [jscntxtinlines.h:24778049699b : 71 + 0x2f] [task 2017-01-23T21:10:01.015668Z] 21:10:01 INFO - eip = 0xf3f8bf1f esp = 0xffe61b70 ebp = 0xffe61b88 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.017235Z] 21:10:01 INFO - esi = 0xe1708970 edi = 0xea922000 eax = 0x00000000 ecx = 0xf760a8ac [task 2017-01-23T21:10:01.018645Z] 21:10:01 INFO - edx = 0x00000000 efl = 0x00010246 [task 2017-01-23T21:10:01.020044Z] 21:10:01 INFO - Found by: given as instruction pointer in context [task 2017-01-23T21:10:01.021491Z] 21:10:01 INFO - 1 libxul.so!JS::dbg::onPromiseSettled [jscntxtinlines.h:24778049699b : 83 + 0x5] [task 2017-01-23T21:10:01.022896Z] 21:10:01 INFO - eip = 0xf44b67d2 esp = 0xffe61b90 ebp = 0xffe61bd8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.024290Z] 21:10:01 INFO - esi = 0xea922000 edi = 0xea922000 [task 2017-01-23T21:10:01.025520Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.027045Z] 21:10:01 INFO - 2 libxul.so!js::PromiseObject::onSettled [Promise.cpp:24778049699b : 2638 + 0xc] [task 2017-01-23T21:10:01.028456Z] 21:10:01 INFO - eip = 0xf4020c3e esp = 0xffe61be0 ebp = 0xffe61c48 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.029995Z] 21:10:01 INFO - esi = 0xea922000 edi = 0xffe61c14 [task 2017-01-23T21:10:01.031517Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.033250Z] 21:10:01 INFO - 3 libxul.so!ResolvePromise [Promise.cpp:24778049699b : 583 + 0x14] [task 2017-01-23T21:10:01.034975Z] 21:10:01 INFO - eip = 0xf4045356 esp = 0xffe61c50 ebp = 0xffe61ce8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.037371Z] 21:10:01 INFO - esi = 0x00000000 edi = 0xffe61cb0 [task 2017-01-23T21:10:01.038706Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.040234Z] 21:10:01 INFO - 4 libxul.so!FulfillMaybeWrappedPromise [Promise.cpp:24778049699b : 616 + 0x14] [task 2017-01-23T21:10:01.042006Z] 21:10:01 INFO - eip = 0xf40460ff esp = 0xffe61cf0 ebp = 0xffe61d48 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.047563Z] 21:10:01 INFO - esi = 0xea922000 edi = 0xffe61d20 [task 2017-01-23T21:10:01.048936Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.050408Z] 21:10:01 INFO - 5 libxul.so!ResolvePromiseInternal [Promise.cpp:24778049699b : 345 + 0x13] [task 2017-01-23T21:10:01.051932Z] 21:10:01 INFO - eip = 0xf4046f0b esp = 0xffe61d50 ebp = 0xffe61e68 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.053283Z] 21:10:01 INFO - esi = 0xea922000 edi = 0xd03b0130 [task 2017-01-23T21:10:01.054619Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.056075Z] 21:10:01 INFO - 6 libxul.so!ResolvePromiseFunction [Promise.cpp:24778049699b : 426 + 0xc] [task 2017-01-23T21:10:01.057521Z] 21:10:01 INFO - eip = 0xf4049a54 esp = 0xffe61e70 ebp = 0xffe61f08 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.058969Z] 21:10:01 INFO - esi = 0xffe62140 edi = 0xd03b0130 [task 2017-01-23T21:10:01.060314Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.061737Z] 21:10:01 INFO - 7 libxul.so!js::CallJSNative [jscntxtinlines.h:24778049699b : 239 + 0x11] [task 2017-01-23T21:10:01.063134Z] 21:10:01 INFO - eip = 0xf3f8c207 esp = 0xffe61f10 ebp = 0xffe61f58 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.064508Z] 21:10:01 INFO - esi = 0xffe62130 edi = 0xffe62110 [task 2017-01-23T21:10:01.066106Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.067836Z] 21:10:01 INFO - 8 libxul.so!js::InternalCallOrConstruct [Interpreter.cpp:24778049699b : 460 + 0x16] [task 2017-01-23T21:10:01.069666Z] 21:10:01 INFO - eip = 0xf3faec39 esp = 0xffe61f60 ebp = 0xffe61fc8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.071266Z] 21:10:01 INFO - esi = 0xffe62110 edi = 0xea922000 [task 2017-01-23T21:10:01.075492Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.076922Z] 21:10:01 INFO - 9 libxul.so!InternalCall [Interpreter.cpp:24778049699b : 505 + 0x15] [task 2017-01-23T21:10:01.078430Z] 21:10:01 INFO - eip = 0xf3faf007 esp = 0xffe61fd0 ebp = 0xffe62008 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.079841Z] 21:10:01 INFO - esi = 0x00000001 edi = 0xffe62148 [task 2017-01-23T21:10:01.081211Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.082572Z] 21:10:01 INFO - 10 libxul.so!js::Call [Interpreter.cpp:24778049699b : 524 + 0x8] [task 2017-01-23T21:10:01.084016Z] 21:10:01 INFO - eip = 0xf3faf0c7 esp = 0xffe62010 ebp = 0xffe62018 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.085367Z] 21:10:01 INFO - esi = 0xffe62110 edi = 0xffe622fc [task 2017-01-23T21:10:01.086738Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.088388Z] 21:10:01 INFO - 11 libxul.so!PromiseReactionJob [Promise.cpp:24778049699b : 904 + 0x14] [task 2017-01-23T21:10:01.090040Z] 21:10:01 INFO - eip = 0xf404822c esp = 0xffe62020 ebp = 0xffe62168 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.095552Z] 21:10:01 INFO - esi = 0xea922000 edi = 0xffe622fc [task 2017-01-23T21:10:01.096931Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.098362Z] 21:10:01 INFO - 12 libxul.so!js::CallJSNative [jscntxtinlines.h:24778049699b : 239 + 0x11] [task 2017-01-23T21:10:01.099880Z] 21:10:01 INFO - eip = 0xf3f8c207 esp = 0xffe62170 ebp = 0xffe621b8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.101276Z] 21:10:01 INFO - esi = 0xffe622ec edi = 0xffe622b8 [task 2017-01-23T21:10:01.102600Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.104007Z] 21:10:01 INFO - 13 libxul.so!js::InternalCallOrConstruct [Interpreter.cpp:24778049699b : 460 + 0x16] [task 2017-01-23T21:10:01.105411Z] 21:10:01 INFO - eip = 0xf3faec39 esp = 0xffe621c0 ebp = 0xffe62228 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.106769Z] 21:10:01 INFO - esi = 0xffe622b8 edi = 0xea922000 [task 2017-01-23T21:10:01.108085Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.109485Z] 21:10:01 INFO - 14 libxul.so!InternalCall [Interpreter.cpp:24778049699b : 505 + 0x15] [task 2017-01-23T21:10:01.110901Z] 21:10:01 INFO - eip = 0xf3faf007 esp = 0xffe62230 ebp = 0xffe62268 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.112357Z] 21:10:01 INFO - esi = 0x00000000 edi = 0xffe622fc [task 2017-01-23T21:10:01.114029Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.115671Z] 21:10:01 INFO - 15 libxul.so!js::Call [Interpreter.cpp:24778049699b : 524 + 0x8] [task 2017-01-23T21:10:01.119516Z] 21:10:01 INFO - eip = 0xf3faf0c7 esp = 0xffe62270 ebp = 0xffe62278 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.121150Z] 21:10:01 INFO - esi = 0xffe622b8 edi = 0xffe622b8 [task 2017-01-23T21:10:01.124393Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.125801Z] 21:10:01 INFO - 16 libxul.so!JS::Call [jsapi.cpp:24778049699b : 2847 + 0x21] [task 2017-01-23T21:10:01.127229Z] 21:10:01 INFO - eip = 0xf432f5f1 esp = 0xffe62280 ebp = 0xffe62348 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.128641Z] 21:10:01 INFO - esi = 0xea922000 edi = 0xffe622b8 [task 2017-01-23T21:10:01.130003Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.131573Z] 21:10:01 INFO - 17 libxul.so!mozilla::dom::PromiseJobCallback::Call [PromiseBinding.cpp:24778049699b : 22 + 0x5] [task 2017-01-23T21:10:01.133350Z] 21:10:01 INFO - eip = 0xf237c8fb esp = 0xffe62350 ebp = 0xffe623b8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.134997Z] 21:10:01 INFO - esi = 0xffe623a0 edi = 0xffe62388 [task 2017-01-23T21:10:01.139508Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.141084Z] 21:10:01 INFO - 18 libxul.so!mozilla::dom::PromiseJobCallback::Call [PromiseBinding.h:24778049699b : 87 + 0x10] [task 2017-01-23T21:10:01.142591Z] 21:10:01 INFO - eip = 0xf153e184 esp = 0xffe623c0 ebp = 0xffe624d8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.144010Z] 21:10:01 INFO - esi = 0xffe623d0 edi = 0xffe623f0 [task 2017-01-23T21:10:01.145382Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.146947Z] 21:10:01 INFO - 19 libxul.so!PromiseJobRunnable::Run [CycleCollectedJSContext.cpp:24778049699b : 964 + 0x18] [task 2017-01-23T21:10:01.148747Z] 21:10:01 INFO - eip = 0xf153e23b esp = 0xffe624e0 ebp = 0xffe624f8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.150513Z] 21:10:01 INFO - esi = 0xd120ec54 edi = 0xffe62528 [task 2017-01-23T21:10:01.152469Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.155739Z] 21:10:01 INFO - 20 libxul.so!mozilla::dom::Promise::PerformMicroTaskCheckpoint [Promise.cpp:24778049699b : 556 + 0x10] [task 2017-01-23T21:10:01.157645Z] 21:10:01 INFO - eip = 0xf2e8b3e5 esp = 0xffe62500 ebp = 0xffe62588 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.159498Z] 21:10:01 INFO - esi = 0xea901404 edi = 0xffe62528 [task 2017-01-23T21:10:01.163533Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.165182Z] 21:10:01 INFO - 21 libxul.so!nsGlobalWindow::RunTimeoutHandler [nsGlobalWindow.cpp:24778049699b : 12653 + 0x5] [task 2017-01-23T21:10:01.166904Z] 21:10:01 INFO - eip = 0xf20519a3 esp = 0xffe62590 ebp = 0xffe62738 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.168794Z] 21:10:01 INFO - esi = 0xd23489a0 edi = 0xffe625f8 [task 2017-01-23T21:10:01.170529Z] 21:10:01 INFO - Found by: call frame info [task 2017-01-23T21:10:01.172615Z] 21:10:01 INFO - 22 libxul.so!mozilla::dom::TimeoutManager::RunTimeout [TimeoutManager.cpp:24778049699b : 502 + 0xa] [task 2017-01-23T21:10:01.175666Z] 21:10:01 INFO - eip = 0xf20ecb26 esp = 0xffe62740 ebp = 0xffe627d8 ebx = 0xf61f6d2c [task 2017-01-23T21:10:01.177825Z] 21:10:01 INFO - esi = 0xd1d32650 edi = 0xd12714c0 [task 2017-01-23T21:10:01.179809Z] 21:10:01 INFO - Found by: call frame info
So far no luck finding the reason for grayness. CallSetup should unmark gray in mozilla::dom::PromiseJobCallback::Call. Could something go wrong in js::CallJSNative when dealing with promises?
Blocks: 1110928
I added some asserts in bug 1333757 that might help getting to the bottom of this. We didn't have same-compartment asserts in place for all functions that store values in slots.
Blocks: 1317672
See Also: → 1334618
Group: core-security → javascript-core-security
I haven't seen this after bug 1335117 landed
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Group: javascript-core-security → core-security-release
Unfortunately RyanVM and bz saw this again: https://bugzilla.mozilla.org/show_bug.cgi?id=1334618#c4 https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=d972f10028408716649101dee8aeb8b9c53c9d5b&selectedJob=73998564 Jon, given that the asserts I added in bug 1333757 don't catch this, I'm at a loss as to what we should try next. Catching this in rr would be great, but I don't have a setup for that. And it happens so rarely that it'd take a pretty long time, I'm afraid. (Unrelatedly, should this bug stay closed? Bug 1334618 is a dupe, and it's public.
Status: RESOLVED → REOPENED
Flags: needinfo?(jcoppeard)
Resolution: FIXED → ---
> So far no luck finding the reason for grayness. My theory on this is in bug 1337495 comment 0. I should note that fixing bug 1337502 would also help diagnose these things, by asserting closer to the source of the problem.
On the other hand, that theory may no longer be viable after bug 1335117...
Status update: I'm working on these gray marking assertion failures but don't have a fix yet. Please see the bugs I've filed under bug 1317672.
This is probably sec-moderate at worst.
Keywords: sec-moderate
Is anyone still seeing this happen? I'm hoping this is fixed now.
Flags: needinfo?(jcoppeard)
Closing this bug. Please re-open if it recurs.
Status: REOPENED → RESOLVED
Closed: 8 years ago8 years ago
Resolution: --- → WORKSFORME
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.