Skip to content

mirrors/invocation_fuzz_test invokes FFI native #48672

Closed
@dcharkes

Description

@dcharkes

There are new test failures on [vm] Implement NativeFinalizer.

The tests

lib_2/mirrors/invocation_fuzz_test/none Crash (expected Pass)

are failing on configurations

dartk-linux-release-simarm
dartk-linux-release-simarm64

It tries to call the FFI native on the simulator. We do not support FFI on the simulator yet.

Workaround: skip the ffi native in the fuzz test for now.

log

dart._internal.FinalizerEntry.FinalizerEntry
dart._internal.FinalizerEntry.setExternalSize from dart._internal.FinalizerEntry.FinalizerEntry

stderr:
===== CRASH =====
si_signo=Segmentation fault(11), si_code=2, si_addr=0xf790800d
version=2.17.0-edge.532c116cd2db02adcb6dbf32f19d5c438fd3585b (be) (Sat Mar 26 09:41:21 2022 +0000) on "linux_simarm"
pid=30297, thread=30311, isolate_group=main(0x3b98480), isolate=main(0x42d2500)
isolate_instructions=2172260, vm_instructions=2172260
  pc 0x0243436f fp 0xf607e6d8 dart::Simulator::HandleRList(dart::Instr*, bool)+0xcf
  pc 0x02439759 fp 0xf607e7c8 dart::Simulator::Execute()+0x2a9
  pc 0x0243a7cb fp 0xf607e868 dart::Simulator::Call(int, int, int, int, int, bool, bool)+0x13b
  pc 0x022d5776 fp 0xf607e8d8 dart::DartEntry::InvokeCode(dart::Code const&, unsigned int, dart::Array const&, dart::Array const&, dart::Thread*)+0x116
  pc 0x022d55e2 fp 0xf607e948 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned int)+0x122
  pc 0x02381fbe fp 0xf607e9a8 out/ReleaseSIMARM/dart+0x1f81fbe
  pc 0x02382680 fp 0xf607ea58 dart::Instance::Invoke(dart::String const&, dart::Array const&, dart::Array const&, bool, bool) const+0x2c0
  pc 0x02291537 fp 0xf607ead8 dart::BootstrapNatives::DN_InstanceMirror_invoke(dart::Thread*, dart::Zone*, dart::NativeArguments*)+0x217
  pc 0x02336f2c fp 0xf607eb38 dart::NativeEntry::BootstrapNativeCallWrapper(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*))+0xac
  pc 0x02434550 fp 0xf607ec38 dart::Simulator::SupervisorCall(dart::Instr*)+0x140
  pc 0x02434fa1 fp 0xf607ece8 dart::Simulator::DecodeType7(dart::Instr*)+0xa1
  pc 0x02439795 fp 0xf607edd8 dart::Simulator::Execute()+0x2e5
  pc 0x0243a7cb fp 0xf607ee78 dart::Simulator::Call(int, int, int, int, int, bool, bool)+0x13b
  pc 0x022d5776 fp 0xf607eee8 dart::DartEntry::InvokeCode(dart::Code const&, unsigned int, dart::Array const&, dart::Array const&, dart::Thread*)+0x116
  pc 0x022d55e2 fp 0xf607ef58 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned int)+0x122
  pc 0x022d7b42 fp 0xf607efc8 dart::DartLibraryCalls::HandleMessage(long long, dart::Instance const&)+0x162
  pc 0x022fefa4 fp 0xf607f098 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)+0x324
  pc 0x023272f1 fp 0xf607f0f8 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x151
  pc 0x0232796e fp 0xf607f148 dart::MessageHandler::TaskCallback()+0x1ce
  pc 0x02327e87 fp 0xf607f168 out/ReleaseSIMARM/dart+0x1f27e87
  pc 0x0244e40f fp 0xf607f1d8 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x11f
  pc 0x0244e87e fp 0xf607f208 dart::ThreadPool::Worker::Main(unsigned int)+0x5e
  pc 0x023bdc27 fp 0xf607f2d8 out/ReleaseSIMARM/dart+0x1fbdc27
  pc 0xf7f743bd fp 0xf607f3a8 /lib/i386-linux-gnu/libpthread.so.0+0x63bd
-- End of DumpStackTrace
  pc 0x00000000 fp 0x04ab9b20 sp 0x00000000 [Optimized] -70762496
  pc 0xf4f6a970 fp 0x04ab9b5c sp 0x04ab9b28 [Optimized] FfiTrampoline
  pc 0xf4f6a460 fp 0x04ab9b88 sp 0x04ab9b64 [Unoptimized] FinalizerEntry.init:_setExternalSize$FfiNative$Ptr@9040228
  pc 0xf7884ffc fp 0x04ab9b9c sp 0x04ab9b90 [Stub] InitLateFinalStaticField
  pc 0xf4f6a360 fp 0x04ab9bb0 sp 0x04ab9ba4 [Unoptimized] FinalizerEntry.get:_setExternalSize$FfiNative$Ptr@9040228
  pc 0xf4f6a238 fp 0x04ab9bc8 sp 0x04ab9bb8 [Unoptimized] FinalizerEntry.setExternalSize
  pc 0xf7882574 fp 0x04ab9c48 sp 0x04ab9bd0 [Stub] InvokeDartCode
  pc 0x00000000 fp 0x04ab9c6c sp 0x00000000 [Stub] CallBootstrapNative
  pc 0xf716f8e0 fp 0x04ab9c9c sp 0x04ab9c74 [Unoptimized] _InstanceMirror@2408521._invoke@2408521
  pc 0xf4f5ec50 fp 0x04ab9ce4 sp 0x04ab9ca4 [Optimized] [email protected]
  pc 0xf716d384 fp 0x04ab9d04 sp 0x04ab9cec [Unoptimized] checkMethod.<anonymous closure>
  pc 0xf712ced4 fp 0x04ab9d34 sp 0x04ab9d0c [Unoptimized] [email protected]:call
  pc 0xf4f65800 fp 0x04ab9d70 sp 0x04ab9d3c [Optimized] doOneTask
  pc 0xf716c6cc fp 0x04ab9d84 sp 0x04ab9d78 [Unoptimized] doOneTask
  pc 0xf716c470 fp 0x04ab9dbc sp 0x04ab9d8c [Unoptimized] _rootRun@4048458
  pc 0xf716c0f8 fp 0x04ab9dec sp 0x04ab9dc4 [Unoptimized] _rootRun@4048458
  pc 0xf716bd58 fp 0x04ab9e34 sp 0x04ab9df4 [Unoptimized] [email protected]
  pc 0xf716bb00 fp 0x04ab9e5c sp 0x04ab9e3c [Unoptimized] [email protected].<anonymous closure>
  pc 0xf716b9e0 fp 0x04ab9e78 sp 0x04ab9e64 [Unoptimized] Timer._createTimer@4048458.<anonymous closure>
  pc 0xf4f07a44 fp 0x04ab9ef0 sp 0x04ab9e80 [Optimized] _Timer@1026248._runTimers@1026248
  pc 0xf4f098c8 fp 0x04ab9f04 sp 0x04ab9ef8 [Optimized] _Timer@1026248._handleMessage@1026248
  pc 0xf7168f24 fp 0x04ab9f1c sp 0x04ab9f0c [Unoptimized] _Timer@1026248._handleMessage@1026248
  pc 0xf712b50c fp 0x04ab9f50 sp 0x04ab9f24 [Unoptimized] [email protected]:call
  pc 0xf712aa94 fp 0x04ab9f78 sp 0x04ab9f58 [Unoptimized] _RawReceivePortImpl@1026248._handleMessage@1026248
  pc 0xf7882574 fp 0x04ab9ff8 sp 0x04ab9f80 [Stub] InvokeDartCode

--- Re-run this test:
python3 tools/test.py -n dartk-linux-release-simarm lib_2/mirrors/invocation_fuzz_test/none

Metadata

Metadata

Assignees

Labels

area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions