dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.08k stars 1.56k forks source link

gen_snapshot and dart snapshot sometimes crash on ios flutter buildbot bot #56529

Open aam opened 3 weeks ago

aam commented 3 weeks ago

from https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/422092/overview logs

[1641/6217] ACTION //flutter/third_party/dart/runtime/observatory:build_observatory(//build/toolchain/mac:ios_clang_arm)
FAILED: gen/flutter/third_party/dart/runtime/observatory/observatory/web/main.dart.js 
vpython3 ../../../flutter/third_party/dart/build/gn_run_binary.py compiled_action ../../../flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart --dfe=../../../flutter/third_party/dart/tools/sdks/dart-sdk/bin/snapshots/kernel-service.dart.snapshot compile js -o gen/flutter/third_party/dart/runtime/observatory/observatory/web/main.dart.js --packages=../../../flutter/third_party/dart/.dart_tool/package_config.json ../../../flutter/third_party/dart/runtime/observatory/web/main.dart --minify
Command failed: /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart --dfe=../../../flutter/third_party/dart/tools/sdks/dart-sdk/bin/snapshots/kernel-service.dart.snapshot compile js -o gen/flutter/third_party/dart/runtime/observatory/observatory/web/main.dart.js --packages=../../../flutter/third_party/dart/.dart_tool/package_config.json ../../../flutter/third_party/dart/runtime/observatory/web/main.dart --minify
output: 
===== CRASH =====
si_signo=Segmentation fault: 11(11), si_code=SEGV_MAPERR(1), si_addr=0x1011c5112e0
version=3.6.0-2.0.dev (dev) (Tue Jul 2 21:02:51 2024 -0700) on "macos_x64"
pid=79469, thread=4099, isolate_group=main(0x7faa8a808200), isolate=(nil)(0x0)
os=macos, arch=x64, comp=no, sim=no
isolate_instructions=114735000, vm_instructions=1082d75a0
fp=700003156dd0, sp=700003156d90, pc=1085b15ad
  pc 0x00000001085b15ad fp 0x0000700003156dd0 /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart+0x30d5ad
  pc 0x00000001085b1c49 fp 0x0000700003156e30 /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart+0x30dc49
  pc 0x00000001085b1859 fp 0x0000700003156ea0 /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart+0x30d859
  pc 0x0000000108587927 fp 0x0000700003156f20 /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart+0x2e3927
  pc 0x0000000108587bb3 fp 0x0000700003156f50 /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart+0x2e3bb3
  pc 0x0000000108507a3e fp 0x0000700003156fb0 /Volumes/Work/s/w/ir/cache/builder/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin/dart+0x263a3e
  pc 0x00007ff81976818b fp 0x0000700003156fd0 _pthread_start+0x63
  pc 0x00007ff819763ae3 fp 0x000070

Seemingly related is how gen_snapshot crashes without any diagnostic.

from https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/428094/overview logs

from https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/423461/overview logs

[4823/6580] ACTION //flutter/lib/snapshot:generate_snapshot_bin(//build/toolchain/mac:ios_clang_arm_sim)
FAILED: gen/flutter/lib/snapshot/vm_isolate_snapshot.bin gen/flutter/lib/snapshot/vm_snapshot_instructions.bin gen/flutter/lib/snapshot/isolate_snapshot.bin gen/flutter/lib/snapshot/isolate_snapshot_instructions.bin 
vpython3 ../../../build/gn_run_binary.py clang_arm64/gen_snapshot --snapshot_kind=core --enable_mirrors=false --vm_snapshot_data=/Volumes/Work/s/w/ir/cache/builder/src/out/ci/ios_debug_sim_arm64/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin --vm_snapshot_instructions=/Volumes/Work/s/w/ir/cache/builder/src/out/ci/ios_debug_sim_arm64/gen/flutter/lib/snapshot/vm_snapshot_instructions.bin --isolate_snapshot_data=/Volumes/Work/s/w/ir/cache/builder/src/out/ci/ios_debug_sim_arm64/gen/flutter/lib/snapshot/isolate_snapshot.bin --isolate_snapshot_instructions=/Volumes/Work/s/w/ir/cache/builder/src/out/ci/ios_debug_sim_arm64/gen/flutter/lib/snapshot/isolate_snapshot_instructions.bin /Volumes/Work/s/w/ir/cache/builder/src/out/ci/ios_debug_sim_arm64/flutter_patched_sdk/platform_strong.dill

[4824/6580] ACTION //flutter/third_party/dart/runtime:generate_version_cc_file(//build/toolchain/mac:clang_x64)

cc @rmacnak-google @zanderso @a-siva

rmacnak-google commented 3 weeks ago

Manually symbolizing the first one:

0x30d6d0 dart::MarkingVisitorBase<true>::MarkingVisitorBase
0x30de80 dart::MarkingVisitorBase<false>::MarkingVisitorBase
0x30d930 dart::MarkingVisitorBase<true>::DrainMarkingStackWithPauseChecks
0x2e3b40 dart::ThreadPool::Worker::Main
0x2e3bf0 dart::ThreadPool::OnEnterIdleLocked
0x263ac0 dart::OSThread::CreateThreadLocal
rmacnak-google commented 3 weeks ago

Symbols might be a bit off, since DrainMarkingStackWithPauseChecks does not (even indirectly) call MarkingVisitorBase constructor.