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

Failures on Allow (e as dynamic).foo() in avoid_dynamic_calls...[cfe] Include offended version number and package name in too high/low version message #56910

Closed
jyameo opened this issue Oct 17, 2024 · 4 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. gardening triaged Issue has been triaged by sub team type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@jyameo
Copy link
Contributor

jyameo commented Oct 17, 2024

There are new test failures on Allow (e as dynamic).foo() in avoid_dynamic_calls...[cfe] Include offended version number and package name in too high/low version message.

The tests

vm/cc/BoundsCheckElimination_Pragma Crash (expected Pass)
vm/cc/BoundsCheckElimination_Pragma_learning Crash (expected Pass)
vm/cc/BoundsCheckElimination_Pragma_learning_control Crash (expected Pass)

are failing on configurations

vm-linux-debug-ia32
vm-linux-release-ia32
vm-win-release-ia32

LOGS:

--- Command "run_vm_unittest" (took 03.000216s):
DART_CONFIGURATION=DebugIA32 out/DebugIA32/run_vm_tests --dfe=/b/s/w/ir/cache/builder/sdk/out/DebugIA32/gen/kernel_service.dill --sound-null-safety --ignore-unrecognized-flags BoundsCheckElimination_Pragma_learning

exit code:
-6

stdout:
Running test: BoundsCheckElimination_Pragma_learning

stderr:
../../runtime/vm/compiler/backend/inliner.cc: 1457: error: unreachable code
version=3.7.0-edge (main) (Unknown timestamp) on "linux_ia32"
pid=74674, thread=74674, isolate_group=isolate(0x5b2eda30), isolate=isolate(0x5b2f13f0)
os=linux, arch=ia32, comp=no, sim=no
isolate_instructions=586a3d20, vm_instructions=586a3d20
fp=ff89e788, sp=ff89e6f8, pc=58e5e73b
  pc 0x58e5e73b fp 0xff89e788 dart::Profiler::DumpStackTrace+0x9b
  pc 0x594c9c41 fp 0xff89e7a8 Dart_DumpNativeStackTrace+0x21
  pc 0x58ba3866 fp 0xff89e7d8 dart::Assert::Fail+0x36
  pc 0x5936a290 fp 0xff89eb08 dart::CallSiteInliner::TryInliningImpl+0x1d50
  pc 0x59364942 fp 0xff89ebb8 dart::CallSiteInliner::TryInlining+0xf2
  pc 0x5936e62b fp 0xff89ec78 dart::CallSiteInliner::InlineStaticCalls+0x56b
  pc 0x59367f59 fp 0xff89ed48 dart::CallSiteInliner::InlineCalls+0x279
  pc 0x59367b08 fp 0xff89edf8 dart::FlowGraphInliner::Inline+0x208
  pc 0x593d5e26 fp 0xff89ee48 dart::CompilerPass_Inlining::DoBody+0x46
  pc 0x593d53e6 fp 0xff89eef8 dart::CompilerPass::Run+0x1d6
  pc 0x593d5896 fp 0xff89ef38 dart::CompilerPass::RunPipeline+0xb6
  pc 0x5899a197 fp 0xff89efc8 dart::TestPipeline::RunPasses+0x257
  pc 0x589c55e9 fp 0xff89f4d8 dart::Dart_TestBoundsCheckElimination_Pragma_learning+0x199
  pc 0x586a5c1f fp 0xff89f4e8 dart::TestCase::Run+0x2f
  pc 0x586a5d30 fp 0xff89f528 dart::TestCaseBase::RunTest+0x60
  pc 0x588fe9e5 fp 0xff89f558 dart::TestCaseBase::RunAll+0x35
  pc 0x586a61b3 fp 0xff89f5e8 dart::Main+0x343
  pc 0x586a5e61 fp 0xff89f608 main+0x21
-- End of DumpStackTrace
=== Crash occurred when compiling unknown function in AOT mode in Inlining pass
*** BEGIN CFG
Inlining
==== file:///test-lib_::_test (RegularFunction)
B0[graph]:0 {
      v0 <- Constant(#null)
      v1 <- Constant(#<optimized out>)
      v3 <- Constant(#10) T{_Smi}
      v5 <- Constant(#5) T{_Smi}
}
B1[function entry]:2 {
      v2 <- Parameter(0 @fp[2]) T{Uint8List}
}
    CheckStackOverflow:8(stack=0, loop=0)
    DebugStepCheck:10()
    v4 <- StaticCall:12( load<0> v2, v3) T{int}
    v6 <- InstanceCall:14( []<0>, v2, v5 IC[0: ]) T{X0?}
    v7 <- InstanceCall:16( +<0>, v4, v6 IC[0: ]) T{num}
    DebugStepCheck:18()
    DartReturn:20(v7)
*** END CFG

--- Re-run this test:
python3 tools/test.py -n vm-linux-debug-ia32 vm/cc/BoundsCheckElimination_Pragma_learning

This issue could be related to #56909

@jyameo
Copy link
Contributor Author

jyameo commented Oct 17, 2024

CC @bkonyi @derekxu16

@dart-github-bot
Copy link
Collaborator

Summary: The issue is a crash in the BoundsCheckElimination_Pragma_learning test on IA32 architectures. The crash occurs during the inlining pass and results in an "unreachable code" error. This issue might be related to a previous issue about dynamic calls.

@dart-github-bot dart-github-bot added area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. triage-automation See https://github.com/dart-lang/ecosystem/tree/main/pkgs/sdk_triage_bot. type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) labels Oct 17, 2024
@bkonyi
Copy link
Contributor

bkonyi commented Oct 17, 2024

FYI @rakudrama, this seems related to https://dart-review.googlesource.com/c/sdk/+/389620.

@mraleph mraleph removed the triage-automation See https://github.com/dart-lang/ecosystem/tree/main/pkgs/sdk_triage_bot. label Oct 18, 2024
@a-siva a-siva added gardening triaged Issue has been triaged by sub team labels Oct 23, 2024
@a-siva
Copy link
Contributor

a-siva commented Oct 23, 2024

@rakudrama AOT mode is not supported on ia32, can you modify your test to not run it on IA32.

copybara-service bot pushed a commit that referenced this issue Oct 24, 2024
TEST=ci
Bug: #56910
Change-Id: Iaed0cbf5ed139a14cfa4736839fbd6013bcfccfc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/391702
Reviewed-by: Siva Annamalai <[email protected]>
Commit-Queue: Stephen Adams <[email protected]>
@a-siva a-siva closed this as completed Oct 24, 2024
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 triaged Issue has been triaged by sub team type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

6 participants