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

vm/dart/awaiter_stacks/zone_callback_stack_traces fails on AOT #52797

Closed
sstrickl opened this issue Jun 27, 2023 · 1 comment
Closed

vm/dart/awaiter_stacks/zone_callback_stack_traces fails on AOT #52797

sstrickl opened this issue Jun 27, 2023 · 1 comment
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening

Comments

@sstrickl
Copy link
Contributor

The new vm/dart/awaiter_stacks/zone_callback_stack_traces tests fail on AOT, because there are additional frames in AOT that aren't expected by the matcher.

Example logs from vm-aot-linux-release-x64:

stdout:
registerUnaryCallback got stack trace:
#0      _registerUnaryCallback (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:43)
#1      bar (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:24)
#2      _rootRun (dart:async/zone.dart:1399)
#3      _CustomZone.run (dart:async/zone.dart:1301)
#4      runTest (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:35)
#5      main (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:72)
#6      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:296)
#7      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189)

registerBinaryCallback got stack trace:
#0      _registerBinaryCallback (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:55)
#1      bar (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:24)
#2      _rootRun (dart:async/zone.dart:1399)
#3      _CustomZone.run (dart:async/zone.dart:1301)
#4      runTest (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:35)
#5      main (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:72)
#6      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:296)
#7      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189)

STACK TRACE MISMATCH -----------------
GOT:
#0    _registerUnaryCallback (%test%)
#1    bar (%test%)
#2    _rootRun (zone.dart)
#3    _CustomZone.run (zone.dart)
#4    runTest (%test%)
#5    main (%test%)
#6    _delayEntrypointInvocation.<anonymous closure> (isolate_patch.dart)
#7    _RawReceivePort._handleMessage (isolate_patch.dart)
EXPECTED:
#0    _registerUnaryCallback (%test%)
#1    _CustomZone.registerUnaryCallback (zone.dart)
#2    bar (%test%)
#3    _rootRun (zone.dart)
#4    _CustomZone.run (zone.dart)
#5    runTest (%test%)
#6    main (%test%)
#7    _delayEntrypointInvocation.<anonymous closure> (isolate_patch.dart)
#8    _RawReceivePort._handleMessage (isolate_patch.dart)
--------------------------------------
To regenate expectations run:
$ out/ReleaseX64/dart_precompiled_runtime -Dupdate.expectations=true file:///b/s/w/ir/out/ReleaseX64/generated_compilations/vm-aot-linux-release-x64/runtime_tests_vm_dart_awaiter_stacks_zone_callback_stack_traces_test/out.aotsnapshot
--------------------------------------

stderr:
Unhandled exception:
Expect.equals(expected: <9>, actual: <8>, 'wrong number of frames') fails.
#0      Expect._fail (package:expect/expect.dart:696)
#1      Expect.equals (package:expect/expect.dart:120)
#2      checkExpectedStack (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/harness.dart:179)
<asynchronous suspension>
#3      main (file:///b/s/w/ir/runtime/tests/vm/dart/awaiter_stacks/zone_callback_stack_traces_test.dart:73)
<asynchronous suspension>

--- Re-run this test:
python3 tools/test.py -n vm-aot-linux-release-x64 vm/dart/awaiter_stacks/zone_callback_stack_traces_test/0

Assigning to @mraleph to be marked fixed when the AOT changes land.

@sstrickl sstrickl added gardening area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. labels Jun 27, 2023
@mkustermann
Copy link
Member

Some more approvals:

vm/dart/awaiter_stacks/async_stacks_test/0 RuntimeError (expected Pass)
vm/dart/awaiter_stacks/async_stacks_test/1 RuntimeError (expected Pass)
vm/dart/awaiter_stacks/flutter_regress_100441_test/1 RuntimeError (expected Pass)
vm/dart/awaiter_stacks/sync_async_start_pkg_test_test/1 RuntimeError (expected Pass)

are failing on configurations

vm-aot-dwarf-linux-product-x64
vm-aot-linux-product-x64
vm-aot-mac-product-arm64
vm-aot-win-product-x64
vm-aot-win-release-x64
vm-win-debug-x64
vm-win-release-x64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening
Projects
None yet
Development

No branches or pull requests

3 participants