Closed
      
        Bug 1930117
      
      
        Opened 11 months ago
          Closed 11 months ago
      
        
    
  
Assertion failure: cx->isExceptionPending() || cx->isPropagatingForcedReturn() || cx->hadUncatchableException(), at vm/Interpreter.cpp:440        
    Categories
(Core :: JavaScript Engine, defect)
Tracking
()
        RESOLVED
        FIXED
        
    
  
        
            134 Branch
        
    
  
| Tracking | Status | |
|---|---|---|
| firefox-esr128 | --- | unaffected | 
| firefox132 | --- | unaffected | 
| firefox133 | --- | wontfix | 
| firefox134 | --- | fixed | 
People
(Reporter: gkw, Assigned: jandem)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression, reporter-external, testcase)
Attachments
(2 files)
var x = {};
function f(y, z) {
  if (!Object.hasOwn(x, y)) {
    m = undefined;
    if (z === 1) {
      m = { n: [] };
    }
    if (typeof z === "object" && Object.getOwnPropertyNames(z)[0] < 1) {
      m = new (function () {})();
      m.n = [0];
    }
    if (m == null) {
      return (function () {
        Object.defineProperty(x, 0, { __proto__: null, function() {} });
      })();
    }
    Object.defineProperty(x, y, { __proto__: null });
  }
  m.n[0];
}
f();
f();
f();
f();
f();
f();
f();
f("", 1);
f({}, [1]);
f();
for (
  let i = 4;
  (function () {
    f("3", 1);
    return i--;
  })();
) {}
oomTest(function () {
  Object.defineProperty();
});
(gdb) bt
#0  AssertExceptionResult (cx=cx@entry=0x7ffff6b36200) at /home/yksubu/trees/mozilla-central/js/src/vm/Interpreter.cpp:439
#1  0x0000555557244ba5 in js::RunScript (cx=cx@entry=0x7ffff6b36200, state=...) at /home/yksubu/trees/mozilla-central/js/src/vm/Interpreter.cpp:504
#2  0x0000555557245605 in js::InternalCallOrConstruct (cx=0x7ffff6b36200, args=..., construct=construct@entry=js::NO_CONSTRUCT, reason=js::CallReason::Call) at /home/yksubu/trees/mozilla-central/js/src/vm/Interpreter.cpp:660
#3  0x0000555557246458 in InternalCall (cx=<optimized out>, args=..., reason=1490442944, reason@entry=js::CallReason::Call) at /home/yksubu/trees/mozilla-central/js/src/vm/Interpreter.cpp:695
#4  0x0000555557246649 in js::Call (cx=cx@entry=0x7ffff6b36200, fval=fval@entry=..., thisv=thisv@entry=..., args=..., rval=rval@entry=..., reason=reason@entry=js::CallReason::Call) at /home/yksubu/trees/mozilla-central/js/src/vm/Interpreter.cpp:727
#5  0x00005555573ce053 in JS_CallFunction (cx=0x7ffff6b36200, obj=..., fun=..., args=..., rval=rval@entry=...) at /home/yksubu/trees/mozilla-central/js/src/vm/CallAndConstruct.cpp:74
/snip
I'm going to guess that this is related to bug 1921780 again.
Run with --fuzzing-safe --no-threads --fast-warmup --inlining-entry-threshold=8, compile with AR=ar sh ../configure --enable-debug --enable-debug-symbols --with-ccache --enable-nspr-build --enable-ctypes --enable-gczeal --enable-rust-simd --disable-tests, tested on m-c rev 3e6134136fe6.
Setting s-s just in case. Jan, did bug 1921780 likely expose the issue?
Flags: sec-bounty?
Flags: needinfo?(jdemooij)
| Comment 1•11 months ago
           | ||
Set release status flags based on info from the regressing bug 1921780
          status-firefox132:
          --- → unaffected
          status-firefox133:
          --- → affected
          status-firefox-esr128:
          --- → unaffected
| Updated•11 months ago
           | 
Group: core-security → javascript-core-security
| Assignee | ||
| Comment 2•11 months ago
           | ||
Thanks Gary. This is a missing ReportOutOfMemory call in ShapeListObject::create.
Group: javascript-core-security
| Assignee | ||
| Comment 3•11 months ago
           | ||
| Updated•11 months ago
           | 
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
| Assignee | ||
| Updated•11 months ago
           | 
Flags: needinfo?(jdemooij)
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/785316e29787
Report OOM in ShapeListObject::create if registerObjectWithWeakPointers fails. r=jonco
Status: ASSIGNED → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → 134 Branch
| Comment 6•11 months ago
           | ||
The patch landed in nightly and beta is affected.
:jandem, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set status-firefox133towontfix.
For more information, please visit BugBot documentation.
Flags: needinfo?(jdemooij)
| Assignee | ||
| Updated•11 months ago
           | 
Flags: needinfo?(jdemooij)
| Updated•11 months ago
           | 
Flags: sec-bounty? → sec-bounty-
|   | Reporter | |
| Updated•11 months ago
           | 
Summary: Assertion failure: cx->isExceptionPending() || cx->isPropagatingForcedReturn() || cx->hadUncatchableException(), at /home/yksubu/trees/mozilla-central/js/src/vm/Interpreter.cpp:440 → Assertion failure: cx->isExceptionPending() || cx->isPropagatingForcedReturn() || cx->hadUncatchableException(), at vm/Interpreter.cpp:440
          You need to log in
          before you can comment on or make changes to this bug.
        
Description
•