The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 is wrongly identified as the regressor here. I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct if I'm wrong. I reach: ``` 0:032> k # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 21 17612e00 5db2760c xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 22 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 23 17613180 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 24 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 25 17613500 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 26 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 27 17613568 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 28 176138e0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 29 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 2a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 2b 17613c60 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 2c (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 2d 17613fe0 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 2e (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 2f 17614048 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 30 176143c0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] ... ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```
Bug 1853480 Comment 3 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 is wrongly identified as the regressor here (it is the commit for an official Nightly build). I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct if I'm wrong. I reach: ``` 0:032> k # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 21 17612e00 5db2760c xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 22 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 23 17613180 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 24 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 25 17613500 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 26 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 27 17613568 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 28 176138e0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 29 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 2a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 2b 17613c60 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 2c (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 2d 17613fe0 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 2e (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 2f 17614048 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 30 176143c0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] ... ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```
The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build). I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct if I'm wrong. I reach: ``` 0:032> k # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 21 17612e00 5db2760c xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 22 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 23 17613180 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 24 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 25 17613500 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 26 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 27 17613568 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 28 176138e0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 29 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 2a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 2b 17613c60 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 2c (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 2d 17613fe0 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 2e (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 2f 17614048 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 30 176143c0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] ... ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```
The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build). I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong. I reach: ``` 0:032> k # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 21 17612e00 5db2760c xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 22 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 23 17613180 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 24 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 25 17613500 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 26 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 27 17613568 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 28 176138e0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 29 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 2a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 2b 17613c60 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 2c (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 2d 17613fe0 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 2e (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 2f 17614048 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 30 176143c0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] ... ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```
I pushed to try and the issue doesn't seem to reproduce in non-official Nightly builds, so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build). I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong. I reach: ``` 0:032> k # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 21 17612e00 5db2760c xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 22 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 23 17613180 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 24 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 25 17613500 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 26 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 27 17613568 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 28 176138e0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 29 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 2a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 2b 17613c60 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 2c (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 2d 17613fe0 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 2e (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 2f 17614048 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 30 176143c0 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] ... ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```
I pushed to try and the issue doesn't seem to reproduce in non-official Nightly builds, so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build). I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong. I reach: ``` 0:032> k 600 # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] ... 5b7 1768d468 5db303cd xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 5b8 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitFunctionScript+0x1e2 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2514] 5b9 1768d828 5db249fa xul!js::frontend::BytecodeEmitter::emitFunction+0x44d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5890] 5ba 1768dba0 5db2758a xul!js::frontend::BytecodeEmitter::emitTree+0x120a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11744] 5bb (Inline) -------- xul!js::frontend::CallOrNewEmitter::prepareForOtherCallee+0x1a [/builds/worker/checkouts/gecko/js/src/frontend/CallOrNewEmitter.cpp @ 133] 5bc (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCalleeAndThis+0x381c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 7931] 5bd (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCallOrNew+0x3954 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8238] 5be 1768df20 5db2465d xul!js::frontend::BytecodeEmitter::emitTree+0x3d9a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12131] 5bf (Inline) -------- xul!js::frontend::BytecodeEmitter::emitExpressionStatement+0x33d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6935] 5c0 1768e2a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0xe6d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11882] 5c1 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 5c2 1768e624 5d23c112 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 5c3 1768e728 5d249381 xul!js::frontend::BytecodeEmitter::emitScript+0x102 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2414] 5c4 (Inline) -------- xul!ScriptCompiler<mozilla::Utf8Unit>::compile+0x2a0 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 994] 5c5 1768f42c 5d237f82 xul!CompileGlobalScriptToStencilAndMaybeInstantiate<mozilla::Utf8Unit>+0x441 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 335] 5c6 (Inline) -------- xul!CompileGlobalScriptToStencilImpl+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 406] 5c7 1768f460 5d0839ca xul!js::frontend::CompileGlobalScriptToStencil+0x42 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 426] 5c8 (Inline) -------- xul!CompileGlobalScriptToStencilImpl+0xb0 [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 127] 5c9 1768f4dc 5cbf36b3 xul!JS::CompileGlobalScriptToStencil+0xca [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 166] 5ca (Inline) -------- xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile::<lambda_1>::operator()+0x10 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1799] 5cb (Inline) -------- xul!mozilla::MaybeOneOf<JS::SourceText<char16_t>,JS::SourceText<mozilla::Utf8Unit> >::mapNonEmpty+0x19 [/builds/worker/workspace/obj-build/dist/include/mozilla/MaybeOneOf.h @ 148] 5cc (Inline) -------- xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile+0x46 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1805] 5cd 1768f518 5d735502 xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Run+0x73 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1786] 5ce (Inline) -------- xul!mozilla::TaskController::RunPoolThread+0x8e2 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 357] 5cf 1768f784 633d6a90 xul!mozilla::ThreadFuncPoolThread+0x932 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 206] 5d0 1768f7b8 6344d8b6 nss3!_PR_NativeRunThread+0x140 [/builds/worker/checkouts/gecko/nsprpub/pr/src/threads/combined/pruthr.c @ 421] 5d1 1768f7c8 76e859d3 nss3!pr_root+0x16 [/builds/worker/checkouts/gecko/nsprpub/pr/src/md/windows/w95thred.c @ 139] 5d2 1768f800 76447ba9 ucrtbase!thread_start<unsigned int (__stdcall*)(void *),1>+0x43 5d3 1768f810 650f4e9f KERNEL32!BaseThreadInitThunk+0x19 5d4 (Inline) -------- mozglue!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *) __attribute__((fastcall))>::operator()+0x9 [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/nsWindowsDllInterceptor.h @ 150] 5d5 1768f844 76fdb79b mozglue!patched_BaseThreadInitThunk+0x1f [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp @ 566] 5d6 1768f89c 76fdb71f ntdll!__RtlUserThreadStart+0x2b 5d7 1768f8ac 00000000 ntdll!_RtlUserThreadStart+0x1b ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```
I pushed to try and the issue doesn't seem to reproduce in non-official Nightly builds, so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build). I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong. I reach: ``` 0:032> k 600 # ChildEBP RetAddr 00 1760fe84 5db2d80f xul!js::FrontendContext::onOverRecursed 01 (Inline) -------- xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 02 17610200 5db24c80 xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 03 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 04 17610580 5db32309 xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 05 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 06 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 07 176108b8 5db25d95 xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 08 17610c30 5db256e1 xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 09 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 0a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 0b (Inline) -------- xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 0c 17610fb0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 0d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 0e 17611330 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 0f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 10 17611398 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 11 17611710 5db2594b xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 12 (Inline) -------- xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 13 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 14 17611a90 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 15 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 16 17611e10 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 17 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 18 17611e78 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 19 176121f8 5d2420b1 xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 1a (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 1b 17612324 5db26c5c xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 1c 176126a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 1d (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 1e 17612a20 5db2fc46 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 1f (Inline) -------- xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 20 17612a88 5db2424d xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] ``` ... then a lot of other similar calls, ending with: ``` 5b7 1768d468 5db303cd xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 5b8 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitFunctionScript+0x1e2 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2514] 5b9 1768d828 5db249fa xul!js::frontend::BytecodeEmitter::emitFunction+0x44d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5890] 5ba 1768dba0 5db2758a xul!js::frontend::BytecodeEmitter::emitTree+0x120a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11744] 5bb (Inline) -------- xul!js::frontend::CallOrNewEmitter::prepareForOtherCallee+0x1a [/builds/worker/checkouts/gecko/js/src/frontend/CallOrNewEmitter.cpp @ 133] 5bc (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCalleeAndThis+0x381c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 7931] 5bd (Inline) -------- xul!js::frontend::BytecodeEmitter::emitCallOrNew+0x3954 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8238] 5be 1768df20 5db2465d xul!js::frontend::BytecodeEmitter::emitTree+0x3d9a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12131] 5bf (Inline) -------- xul!js::frontend::BytecodeEmitter::emitExpressionStatement+0x33d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6935] 5c0 1768e2a0 5db24229 xul!js::frontend::BytecodeEmitter::emitTree+0xe6d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11882] 5c1 (Inline) -------- xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 5c2 1768e624 5d23c112 xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 5c3 1768e728 5d249381 xul!js::frontend::BytecodeEmitter::emitScript+0x102 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2414] 5c4 (Inline) -------- xul!ScriptCompiler<mozilla::Utf8Unit>::compile+0x2a0 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 994] 5c5 1768f42c 5d237f82 xul!CompileGlobalScriptToStencilAndMaybeInstantiate<mozilla::Utf8Unit>+0x441 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 335] 5c6 (Inline) -------- xul!CompileGlobalScriptToStencilImpl+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 406] 5c7 1768f460 5d0839ca xul!js::frontend::CompileGlobalScriptToStencil+0x42 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 426] 5c8 (Inline) -------- xul!CompileGlobalScriptToStencilImpl+0xb0 [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 127] 5c9 1768f4dc 5cbf36b3 xul!JS::CompileGlobalScriptToStencil+0xca [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 166] 5ca (Inline) -------- xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile::<lambda_1>::operator()+0x10 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1799] 5cb (Inline) -------- xul!mozilla::MaybeOneOf<JS::SourceText<char16_t>,JS::SourceText<mozilla::Utf8Unit> >::mapNonEmpty+0x19 [/builds/worker/workspace/obj-build/dist/include/mozilla/MaybeOneOf.h @ 148] 5cc (Inline) -------- xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile+0x46 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1805] 5cd 1768f518 5d735502 xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Run+0x73 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1786] 5ce (Inline) -------- xul!mozilla::TaskController::RunPoolThread+0x8e2 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 357] 5cf 1768f784 633d6a90 xul!mozilla::ThreadFuncPoolThread+0x932 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 206] 5d0 1768f7b8 6344d8b6 nss3!_PR_NativeRunThread+0x140 [/builds/worker/checkouts/gecko/nsprpub/pr/src/threads/combined/pruthr.c @ 421] 5d1 1768f7c8 76e859d3 nss3!pr_root+0x16 [/builds/worker/checkouts/gecko/nsprpub/pr/src/md/windows/w95thred.c @ 139] 5d2 1768f800 76447ba9 ucrtbase!thread_start<unsigned int (__stdcall*)(void *),1>+0x43 5d3 1768f810 650f4e9f KERNEL32!BaseThreadInitThunk+0x19 5d4 (Inline) -------- mozglue!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *) __attribute__((fastcall))>::operator()+0x9 [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/nsWindowsDllInterceptor.h @ 150] 5d5 1768f844 76fdb79b mozglue!patched_BaseThreadInitThunk+0x1f [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp @ 566] 5d6 1768f89c 76fdb71f ntdll!__RtlUserThreadStart+0x2b 5d7 1768f8ac 00000000 ntdll!_RtlUserThreadStart+0x1b ``` Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions. ``` 0:032> ln 5ff01f50 Exact matches: xul!js::FrontendContext::onOverRecursed (void) xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void) xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void) ```