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

Deopt failure on new iso-stress-linux builder #46070

Closed
mkustermann opened this issue May 19, 2021 · 1 comment
Closed

Deopt failure on new iso-stress-linux builder #46070

mkustermann opened this issue May 19, 2021 · 1 comment
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@mkustermann
Copy link
Member

From this log:

[/b/s/w/ir/cache/builder/sdk/runtime/tests/concurrency/../../../tests/lib_2/convert/streamed_conversion_json_utf8_decode_test.dart] starting ...
../../runtime/vm/deferred_objects.cc: 113: error: Can't locate continuation PC for deoptid 47 within file:///b/s/w/ir/cache/builder/sdk/tests/lib_2/convert/unicode_tests.dart_::__expandTestPairs@3539473109_<anonymous closure>

version=2.14.0-edge.5a9bfa1195126ddd659c30ce21fb18ec8de4d86b (be) (Wed May 19 03:57:35 2021 +0000) on "linux_x64"
pid=8114, thread=8132, isolate_group=main(0x55e6b2f1a300), isolate=wrapper3062(0x55e6ba5dc700)
isolate_instructions=55e6acc4e1c0, vm_instructions=55e6acc4e1c0
  pc 0x000055e6aced75dc fp 0x00007f64dd4fc730 dart::Profiler::DumpStackTrace(void*)+0x7c
  pc 0x000055e6acc4e374 fp 0x00007f64dd4fc810 dart::Assert::Fail(char const*, ...)+0x84
  pc 0x000055e6ace05c14 fp 0x00007f64dd4fc860 out/ReleaseX64/dart+0x1c66c14
  pc 0x000055e6ace081d0 fp 0x00007f64dd4fc9c0 dart::DeoptContext::MaterializeDeferredObjects()+0x40
  pc 0x000055e6acf2d496 fp 0x00007f64dd4fca90 dart::DRT_DeoptimizeMaterialize(dart::NativeArguments)+0x116
  pc 0x00007f64e4581803 fp 0x00007f64dd4fcad8 Unknown symbol
  pc 0x00007f64e4582226 fp 0x00007f64dd4fcb08 Unknown symbol
@mkustermann mkustermann added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label May 19, 2021
@mkustermann mkustermann self-assigned this May 19, 2021
@mkustermann
Copy link
Member Author

/cc @aam First issues are being discovered :)

dart-bot pushed a commit that referenced this issue Jun 1, 2021
…ginning of IR instruction

If an IR instruction lazy-deopts it usually continues in unoptimized
code in the same IR instruction after-call.

Though in certain situations we want to continue before-call in
unoptimized code.

Two cases relevant in this CL:

  * An instruction gets LICMed: If it lazy-deopts it will continue
    at the Goto instruction outside the loop.

  * A recognized method which got it's InstanceCall replaced by several
    IR instructions. If any of them (except the last one) lazy-deopts
    it should re-try the call in unoptimized code (e.g. []=)

In order to faciliate this we add a bit to the [Environment] which
encodes whether the continuation point in unoptimized code is
before-call - if so, we issue corresponding metadata.

Issue #45213
Issue #46070

TEST=runtime/tests/vm/dart{,_2}/regress_46070_test.dart

Change-Id: Ib824081768a2fd6293751a8fe09753e0d8155c87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200644
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
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.
Projects
None yet
Development

No branches or pull requests

1 participant