Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DCHECK crash in heap::base::Stack::SaveContext #246

Closed
codebytere opened this issue Nov 30, 2022 · 13 comments
Closed

DCHECK crash in heap::base::Stack::SaveContext #246

codebytere opened this issue Nov 30, 2022 · 13 comments
Labels

Comments

@codebytere
Copy link
Member

As of https://chromium-review.googlesource.com/c/v8/v8/+/4017512, there is a worker test that crashes deterministically in Node.js: parallel/test-worker-init-failure with the following stacktrace:

Stacktrace
not ok 2980 parallel/test-worker-init-failure
  ---
  duration_ms: 2.908
  severity: fail
  exitcode: 1
  stack: |-
    child stdout: 
    
    child stderr: 
    
    #
    # Fatal error in ../../v8/src/heap/base/stack.cc, line 190
    # Debug check failed: check_invariant implies IsOnCurrentStack(stack_start_).
    #
    #
    #
    #FailureMessage Object: 0x7fffe11bcff0
     1: 0x55f4adeaa0b2  [/home/builduser/project/src/out/Default/electron]
     2: 0x55f4aa69dff9  [/home/builduser/project/src/out/Default/electron]
     3: 0x55f4aa69dc15  [/home/builduser/project/src/out/Default/electron]
     4: 0x55f4a67b2aaa heap::base::Stack::SaveContext(bool) [/home/builduser/project/src/out/Default/electron]
     5: 0x55f4a5c1b644 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/builduser/project/src/out/Default/electron]
     6: 0x55f4a5c0fb79 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/builduser/project/src/out/Default/electron]
     7: 0x55f4a5c0fc25 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/builduser/project/src/out/Default/electron]
     8: 0x55f4a5bd523c v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/home/builduser/project/src/out/Default/electron]
     9: 0x55f4a6266846  [/home/builduser/project/src/out/Default/electron]
    10: 0x55f4a6266358  [/home/builduser/project/src/out/Default/electron]
    11: 0x55f43feb2c78 
    Trace/breakpoint trap (core dumped)
    
    
    node:assert:124
      throw new AssertionError(obj);
      ^
    
    AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
    
    133 !== 0
    
        at ChildProcess.<anonymous> (/home/builduser/project/src/third_party/electron_node/test/parallel/test-worker-init-failure.js:69:12)
        at ChildProcess.<anonymous> (/home/builduser/project/src/third_party/electron_node/test/common/index.js:446:15)
        at ChildProcess.emit (node:events:513:28)
        at ChildProcess._handle.onexit (node:internal/child_process:291:12) {
      generatedMessage: true,
      code: 'ERR_ASSERTION',
      actual: 133,
      expected: 0,
      operator: 'strictEqual'
    }
    
    Node.js v18.12.1

I'm not quite sure why this is happening, but there is a comment in the CL:

With WASM stack switching, the main invariant is violated, as the current active stack may call JS/Blink/GC and reside somewhere else.

that indicates it may have to do with stack intricacies in a Worker context?

cc @targos

@targos
Copy link
Member

targos commented Nov 30, 2022

I can reproduce with a debug build of canary, but I don't know what we can do.

jkleinsc added a commit to electron/electron that referenced this issue Dec 5, 2022
* chore: bump chromium in DEPS to 110.0.5425.0

* chore: bump chromium in DEPS to 110.0.5427.0

* chore: bump chromium in DEPS to 110.0.5429.0

* chore: bump chromium in DEPS to 110.0.5431.0

* chore: update patches/chromium/picture-in-picture.patch to fix upstream code shear

https://chromium-review.googlesource.com/c/chromium/src/+/4024078

* chore: sync patch w/upstream shear: remove_usage_of_incognito_apis_in_the_spellchecker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3967854

* chore: sync patch w/upstream shear: feat_expose_raw_response_headers_from_urlloader.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* chore: sync patch w/upstream shear: chromium/custom_protocols_plzserviceworker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* build: update references to core_api_provider; its location was moved upstream

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006696

* build: remove back_to_tab_image_button from our enable_picture_in_picture deps

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4024078

back_to_tab_image_button has been removed upstream

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5433.0

* chore: sync patch w/upstream shear: chromium/printing.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006638

* chore: sync patch w/trivial upstream shear: chromium/process_singleton.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4031817

* refactor: remove kAutofillCenterAlignedSuggestions feature flag check.

This behavior had been an experiment behind a feature flag. The
experiment was a success so the feature was kept & the flag was removed.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3870616
moves from disabled-by-default to enabled-by-default

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4030556
removed the feature flag

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5435.0

* chore: update patches

* chore: sync code with upstream change: AXLMode method name

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3950054

* 3841761: Adapting code to support kSystemProfileSelectionDefaultNone experiment

https://chromium-review.googlesource.com/c/chromium/src/+/3841761

* chore: bump chromium in DEPS to 110.0.5437.0

* 4040140: Pip 2.0: Merge VideoOverlayWindowViews and OverlayWindowViews

https://chromium-review.googlesource.com/c/chromium/src/+/4040140

* 4045567: Fix a crash opening a popup from tab capture fullscreen

https://chromium-review.googlesource.com/c/chromium/src/+/4045567

* chore: fixup patch indices

* 4048263: Remove deprecated Value calls in frame_tracker_unittest.cc.

https://chromium-review.googlesource.com/c/chromium/src/+/4048263

* 4004606: [intl] Migrate to ICU 72

https://chromium-review.googlesource.com/c/v8/v8/+/4004606

* chore: bump chromium in DEPS to 110.0.5439.0

* 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

https://chromium-review.googlesource.com/c/chromium/src/+/3890670

* chore: fixup patch indices

* chore: bump chromium in DEPS to 110.0.5441.0

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5443.0

* 4035451: Remove remaining uses of ScopedNestableTaskAllower.

https://chromium-review.googlesource.com/c/chromium/src/+/4035451

* chore: bump chromium in DEPS to 110.0.5445.0

* chore: update patches

* fixup! 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

* test: disable parallel/test-worker-init-failure

Refs https://chromium-review.googlesource.com/c/v8/v8/+/4017512
Refs nodejs/node-v8#246

* chore: disable parallel/test-fetch

Test is flaky on Linux CI, but runs fine locally.

* chore: bump chromium in DEPS to 110.0.5451.0

* chore: update patches

* chore: cleanup patch

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <[email protected]>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <[email protected]>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
trop bot added a commit to electron/electron that referenced this issue Dec 5, 2022
* chore: bump chromium in DEPS to 110.0.5425.0

* chore: bump chromium in DEPS to 110.0.5427.0

* chore: bump chromium in DEPS to 110.0.5429.0

* chore: bump chromium in DEPS to 110.0.5431.0

* chore: update patches/chromium/picture-in-picture.patch to fix upstream code shear

https://chromium-review.googlesource.com/c/chromium/src/+/4024078

* chore: sync patch w/upstream shear: remove_usage_of_incognito_apis_in_the_spellchecker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3967854

* chore: sync patch w/upstream shear: feat_expose_raw_response_headers_from_urlloader.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* chore: sync patch w/upstream shear: chromium/custom_protocols_plzserviceworker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* build: update references to core_api_provider; its location was moved upstream

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006696

* build: remove back_to_tab_image_button from our enable_picture_in_picture deps

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4024078

back_to_tab_image_button has been removed upstream

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5433.0

* chore: sync patch w/upstream shear: chromium/printing.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006638

* chore: sync patch w/trivial upstream shear: chromium/process_singleton.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4031817

* refactor: remove kAutofillCenterAlignedSuggestions feature flag check.

This behavior had been an experiment behind a feature flag. The
experiment was a success so the feature was kept & the flag was removed.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3870616
moves from disabled-by-default to enabled-by-default

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4030556
removed the feature flag

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5435.0

* chore: update patches

* chore: sync code with upstream change: AXLMode method name

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3950054

* 3841761: Adapting code to support kSystemProfileSelectionDefaultNone experiment

https://chromium-review.googlesource.com/c/chromium/src/+/3841761

* chore: bump chromium in DEPS to 110.0.5437.0

* 4040140: Pip 2.0: Merge VideoOverlayWindowViews and OverlayWindowViews

https://chromium-review.googlesource.com/c/chromium/src/+/4040140

* 4045567: Fix a crash opening a popup from tab capture fullscreen

https://chromium-review.googlesource.com/c/chromium/src/+/4045567

* chore: fixup patch indices

* 4048263: Remove deprecated Value calls in frame_tracker_unittest.cc.

https://chromium-review.googlesource.com/c/chromium/src/+/4048263

* 4004606: [intl] Migrate to ICU 72

https://chromium-review.googlesource.com/c/v8/v8/+/4004606

* chore: bump chromium in DEPS to 110.0.5439.0

* 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

https://chromium-review.googlesource.com/c/chromium/src/+/3890670

* chore: fixup patch indices

* chore: bump chromium in DEPS to 110.0.5441.0

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5443.0

* 4035451: Remove remaining uses of ScopedNestableTaskAllower.

https://chromium-review.googlesource.com/c/chromium/src/+/4035451

* chore: bump chromium in DEPS to 110.0.5445.0

* chore: update patches

* fixup! 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

* test: disable parallel/test-worker-init-failure

Refs https://chromium-review.googlesource.com/c/v8/v8/+/4017512
Refs nodejs/node-v8#246

* chore: disable parallel/test-fetch

Test is flaky on Linux CI, but runs fine locally.

* chore: bump chromium in DEPS to 110.0.5451.0

* chore: update patches

* chore: cleanup patch

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <[email protected]>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <[email protected]>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
jkleinsc pushed a commit to electron/electron that referenced this issue Dec 6, 2022
chore: bump chromium to 110.0.5451.0 (main) (#36394)

* chore: bump chromium in DEPS to 110.0.5425.0

* chore: bump chromium in DEPS to 110.0.5427.0

* chore: bump chromium in DEPS to 110.0.5429.0

* chore: bump chromium in DEPS to 110.0.5431.0

* chore: update patches/chromium/picture-in-picture.patch to fix upstream code shear

https://chromium-review.googlesource.com/c/chromium/src/+/4024078

* chore: sync patch w/upstream shear: remove_usage_of_incognito_apis_in_the_spellchecker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3967854

* chore: sync patch w/upstream shear: feat_expose_raw_response_headers_from_urlloader.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* chore: sync patch w/upstream shear: chromium/custom_protocols_plzserviceworker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* build: update references to core_api_provider; its location was moved upstream

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006696

* build: remove back_to_tab_image_button from our enable_picture_in_picture deps

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4024078

back_to_tab_image_button has been removed upstream

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5433.0

* chore: sync patch w/upstream shear: chromium/printing.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006638

* chore: sync patch w/trivial upstream shear: chromium/process_singleton.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4031817

* refactor: remove kAutofillCenterAlignedSuggestions feature flag check.

This behavior had been an experiment behind a feature flag. The
experiment was a success so the feature was kept & the flag was removed.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3870616
moves from disabled-by-default to enabled-by-default

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4030556
removed the feature flag

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5435.0

* chore: update patches

* chore: sync code with upstream change: AXLMode method name

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3950054

* 3841761: Adapting code to support kSystemProfileSelectionDefaultNone experiment

https://chromium-review.googlesource.com/c/chromium/src/+/3841761

* chore: bump chromium in DEPS to 110.0.5437.0

* 4040140: Pip 2.0: Merge VideoOverlayWindowViews and OverlayWindowViews

https://chromium-review.googlesource.com/c/chromium/src/+/4040140

* 4045567: Fix a crash opening a popup from tab capture fullscreen

https://chromium-review.googlesource.com/c/chromium/src/+/4045567

* chore: fixup patch indices

* 4048263: Remove deprecated Value calls in frame_tracker_unittest.cc.

https://chromium-review.googlesource.com/c/chromium/src/+/4048263

* 4004606: [intl] Migrate to ICU 72

https://chromium-review.googlesource.com/c/v8/v8/+/4004606

* chore: bump chromium in DEPS to 110.0.5439.0

* 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

https://chromium-review.googlesource.com/c/chromium/src/+/3890670

* chore: fixup patch indices

* chore: bump chromium in DEPS to 110.0.5441.0

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5443.0

* 4035451: Remove remaining uses of ScopedNestableTaskAllower.

https://chromium-review.googlesource.com/c/chromium/src/+/4035451

* chore: bump chromium in DEPS to 110.0.5445.0

* chore: update patches

* fixup! 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

* test: disable parallel/test-worker-init-failure

Refs https://chromium-review.googlesource.com/c/v8/v8/+/4017512
Refs nodejs/node-v8#246

* chore: disable parallel/test-fetch

Test is flaky on Linux CI, but runs fine locally.

* chore: bump chromium in DEPS to 110.0.5451.0

* chore: update patches

* chore: cleanup patch

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <[email protected]>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <[email protected]>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
@targos
Copy link
Member

targos commented Dec 13, 2022

Here's another failure that doesn't seem related to Workers:

10:44:39 not ok 3678 sequential/test-child-process-emfile
10:44:40   ---
10:44:40   duration_ms: 0.613
10:44:40   severity: fail
10:44:40   exitcode: 1
10:44:40   stack: |-
10:44:40     node:assert:124
10:44:40       throw new AssertionError(obj);
10:44:40       ^
10:44:40     
10:44:40     AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
10:44:40     + actual - expected
10:44:40     
10:44:40     + '\n' +
10:44:40     +   '\n' +
10:44:40     +   '#\n' +
10:44:40     +   '# Fatal error in ../deps/v8/src/heap/base/stack.cc, line 203\n' +
10:44:40     +   '# Debug check failed: check_invariant implies IsOnCurrentStack(stack_start_).\n' +
10:44:40     +   '#\n' +
10:44:40     +   '#\n' +
10:44:40     +   '#\n' +
10:44:40     +   '#FailureMessage Object: 0xfffffa90c978\n' +
10:44:40     +   ' 1: 0xaaaad0b8fcf4 node::DumpBacktrace(_IO_FILE*) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 2: 0xaaaad0d53a8c  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 3: 0xaaaad0d53ab8  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 4: 0xaaaad28ebb58 V8_Fatal(char const*, int, char const*, ...) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 5: 0xaaaad28ebb80 V8_Dcheck(char const*, int, char const*) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 6: 0xaaaad1f20278 heap::base::Stack::SaveContext(bool) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 7: 0xaaaad13f84bc v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 8: 0xaaaad13c6ca0 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   ' 9: 0xaaaad13c6d48 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '10: 0xaaaad13a9bf0 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '11: 0xaaaad1357610 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawArray(int, v8::internal::AllocationType) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '12: 0xaaaad1378474 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '13: 0xaaaad13786b8 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArray(int, v8::internal::AllocationType) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '14: 0xaaaad0f9e450 v8::Array::New(v8::Isolate*, v8::Local<v8::Value>*, unsigned long) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '15: 0xaaaad0c83894 node::RealEnvStore::Enumerate(v8::Isolate*) const [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '16: 0xaaaad0c84f80  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '17: 0xaaaad17b5164 v8::internal::PropertyCallbackArguments::CallPropertyEnumerator(v8::internal::Handle<v8::internal::InterceptorInfo>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '18: 0xaaaad17b73c8 v8::internal::KeyAccumulator::CollectInterceptorKeysInternal(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::InterceptorInfo>, v8::internal::KeyAccumulator::IndexedOrNamed) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '19: 0xaaaad17b8678 v8::internal::KeyAccumulator::CollectInterceptorKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>, v8::internal::KeyAccumulator::IndexedOrNamed) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '20: 0xaaaad17c1c8c v8::internal::KeyAccumulator::CollectOwnPropertyNames(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '21: 0xaaaad17c2050 v8::internal::KeyAccumulator::CollectOwnKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '22: 0xaaaad17c2554 v8::internal::KeyAccumulator::CollectKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSReceiver>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '23: 0xaaaad17c28e4 v8::internal::FastKeyAccumulator::GetKeysSlow(v8::internal::GetKeysConversion) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '24: 0xaaaad1a18010 v8::internal::Runtime_ForInEnumerate(int, unsigned long*, v8::internal::Isolate*) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   '25: 0xaaaad207018c  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40     +   'Trace/breakpoint trap (core dumped)\n'
10:44:40     - ''
10:44:40         at Object.<anonymous> (/home/iojs/build/workspace/node-test-commit-arm-debug/test/sequential/test-child-process-emfile.js:41:10)
10:44:40         at Module._compile (node:internal/modules/cjs/loader:1218:14)
10:44:40         at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
10:44:40         at Module.load (node:internal/modules/cjs/loader:1081:32)
10:44:40         at Module._load (node:internal/modules/cjs/loader:922:12)
10:44:40         at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:82:12)
10:44:40         at node:internal/main/run_main_module:23:47 {
10:44:40       generatedMessage: true,
10:44:40       code: 'ERR_ASSERTION',
10:44:40       actual: '\n' +
10:44:40         '\n' +
10:44:40         '#\n' +
10:44:40         '# Fatal error in ../deps/v8/src/heap/base/stack.cc, line 203\n' +
10:44:40         '# Debug check failed: check_invariant implies IsOnCurrentStack(stack_start_).\n' +
10:44:40         '#\n' +
10:44:40         '#\n' +
10:44:40         '#\n' +
10:44:40         '#FailureMessage Object: 0xfffffa90c978\n' +
10:44:40         ' 1: 0xaaaad0b8fcf4 node::DumpBacktrace(_IO_FILE*) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 2: 0xaaaad0d53a8c  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 3: 0xaaaad0d53ab8  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 4: 0xaaaad28ebb58 V8_Fatal(char const*, int, char const*, ...) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 5: 0xaaaad28ebb80 V8_Dcheck(char const*, int, char const*) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 6: 0xaaaad1f20278 heap::base::Stack::SaveContext(bool) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 7: 0xaaaad13f84bc v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 8: 0xaaaad13c6ca0 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         ' 9: 0xaaaad13c6d48 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '10: 0xaaaad13a9bf0 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '11: 0xaaaad1357610 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawArray(int, v8::internal::AllocationType) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '12: 0xaaaad1378474 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '13: 0xaaaad13786b8 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArray(int, v8::internal::AllocationType) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '14: 0xaaaad0f9e450 v8::Array::New(v8::Isolate*, v8::Local<v8::Value>*, unsigned long) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '15: 0xaaaad0c83894 node::RealEnvStore::Enumerate(v8::Isolate*) const [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '16: 0xaaaad0c84f80  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '17: 0xaaaad17b5164 v8::internal::PropertyCallbackArguments::CallPropertyEnumerator(v8::internal::Handle<v8::internal::InterceptorInfo>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '18: 0xaaaad17b73c8 v8::internal::KeyAccumulator::CollectInterceptorKeysInternal(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::InterceptorInfo>, v8::internal::KeyAccumulator::IndexedOrNamed) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '19: 0xaaaad17b8678 v8::internal::KeyAccumulator::CollectInterceptorKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>, v8::internal::KeyAccumulator::IndexedOrNamed) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '20: 0xaaaad17c1c8c v8::internal::KeyAccumulator::CollectOwnPropertyNames(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '21: 0xaaaad17c2050 v8::internal::KeyAccumulator::CollectOwnKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '22: 0xaaaad17c2554 v8::internal::KeyAccumulator::CollectKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSReceiver>) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '23: 0xaaaad17c28e4 v8::internal::FastKeyAccumulator::GetKeysSlow(v8::internal::GetKeysConversion) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '24: 0xaaaad1a18010 v8::internal::Runtime_ForInEnumerate(int, unsigned long*, v8::internal::Isolate*) [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         '25: 0xaaaad207018c  [/home/iojs/build/workspace/node-test-commit-arm-debug/out/Debug/node]\n' +
10:44:40         'Trace/breakpoint trap (core dumped)\n',
10:44:40       expected: '',
10:44:40       operator: 'strictEqual'
10:44:40     }
10:44:40     
10:44:40     Node.js v20.0.0-pre
10:44:40   ...

From https://ci.nodejs.org/job/node-test-commit-arm-debug/5323/nodes=ubuntu2004_debug-arm64/console

@targos
Copy link
Member

targos commented Dec 13, 2022

/cc @nodejs/v8

@bnoordhuis
Copy link
Member

bnoordhuis commented Dec 13, 2022

https://bugs.chromium.org/p/v8/issues/detail?id=13493 - that was fixed only yesterday.

Stack::SaveContext() is < 1 month old (edit: commit v8/v8@9554743a0ba) and interacts with experimental WASM features (--experimental_wasm_stack_switching in particular) so it's quite possible bugs lurk there.

@targos
Copy link
Member

targos commented Dec 13, 2022

Thanks for the heads up, Ben. I'll start a new CI job tomorrow.

@targos
Copy link
Member

targos commented Dec 14, 2022

#244 (comment)

@targos
Copy link
Member

targos commented Dec 31, 2022

@targos
Copy link
Member

targos commented Jan 11, 2023

There's some activity on https://bugs.chromium.org/p/v8/issues/detail?id=13493. Let's hope it will be fixed quickly.

@targos
Copy link
Member

targos commented Jan 24, 2023

The upstream issue is still open but my last CI run seems to say that this issue is fixed:
#244 (comment)
https://ci.nodejs.org/job/node-test-commit-arm-debug/5930/

@codebytere
Copy link
Member Author

codebytere commented Jan 25, 2023

@targos
Copy link
Member

targos commented Jan 31, 2023

@codebytere IIUC, the job you linked uses a Chromium/V8 version from Jan 6. It's possible that the fix is more recent than that.

khalwa pushed a commit to solarwindscloud/electron that referenced this issue Feb 22, 2023
* chore: bump chromium in DEPS to 110.0.5425.0

* chore: bump chromium in DEPS to 110.0.5427.0

* chore: bump chromium in DEPS to 110.0.5429.0

* chore: bump chromium in DEPS to 110.0.5431.0

* chore: update patches/chromium/picture-in-picture.patch to fix upstream code shear

https://chromium-review.googlesource.com/c/chromium/src/+/4024078

* chore: sync patch w/upstream shear: remove_usage_of_incognito_apis_in_the_spellchecker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3967854

* chore: sync patch w/upstream shear: feat_expose_raw_response_headers_from_urlloader.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* chore: sync patch w/upstream shear: chromium/custom_protocols_plzserviceworker.patch

https://chromium-review.googlesource.com/c/chromium/src/+/3983373

* build: update references to core_api_provider; its location was moved upstream

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006696

* build: remove back_to_tab_image_button from our enable_picture_in_picture deps

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4024078

back_to_tab_image_button has been removed upstream

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5433.0

* chore: sync patch w/upstream shear: chromium/printing.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4006638

* chore: sync patch w/trivial upstream shear: chromium/process_singleton.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4031817

* refactor: remove kAutofillCenterAlignedSuggestions feature flag check.

This behavior had been an experiment behind a feature flag. The
experiment was a success so the feature was kept & the flag was removed.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3870616
moves from disabled-by-default to enabled-by-default

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4030556
removed the feature flag

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5435.0

* chore: update patches

* chore: sync code with upstream change: AXLMode method name

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3950054

* 3841761: Adapting code to support kSystemProfileSelectionDefaultNone experiment

https://chromium-review.googlesource.com/c/chromium/src/+/3841761

* chore: bump chromium in DEPS to 110.0.5437.0

* 4040140: Pip 2.0: Merge VideoOverlayWindowViews and OverlayWindowViews

https://chromium-review.googlesource.com/c/chromium/src/+/4040140

* 4045567: Fix a crash opening a popup from tab capture fullscreen

https://chromium-review.googlesource.com/c/chromium/src/+/4045567

* chore: fixup patch indices

* 4048263: Remove deprecated Value calls in frame_tracker_unittest.cc.

https://chromium-review.googlesource.com/c/chromium/src/+/4048263

* 4004606: [intl] Migrate to ICU 72

https://chromium-review.googlesource.com/c/v8/v8/+/4004606

* chore: bump chromium in DEPS to 110.0.5439.0

* 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

https://chromium-review.googlesource.com/c/chromium/src/+/3890670

* chore: fixup patch indices

* chore: bump chromium in DEPS to 110.0.5441.0

* chore: update patches

* chore: bump chromium in DEPS to 110.0.5443.0

* 4035451: Remove remaining uses of ScopedNestableTaskAllower.

https://chromium-review.googlesource.com/c/chromium/src/+/4035451

* chore: bump chromium in DEPS to 110.0.5445.0

* chore: update patches

* fixup! 3890670: Prerender: Add first implementation of prerender-in-new-tab mode

* test: disable parallel/test-worker-init-failure

Refs https://chromium-review.googlesource.com/c/v8/v8/+/4017512
Refs nodejs/node-v8#246

* chore: disable parallel/test-fetch

Test is flaky on Linux CI, but runs fine locally.

* chore: bump chromium in DEPS to 110.0.5451.0

* chore: update patches

* chore: cleanup patch

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <[email protected]>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <[email protected]>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
@targos
Copy link
Member

targos commented Apr 17, 2023

@codebytere Is it still an issue?

@bnoordhuis
Copy link
Member

I think it's safe to say this is fixed by now? Closing, but LMK if I should reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants