denoland / deno

A modern runtime for JavaScript and TypeScript.
https://deno.com
MIT License
94.61k stars 5.25k forks source link

KV tests fail on Intel macOS 12 #18363

Open losfair opened 1 year ago

losfair commented 1 year ago
set and get [ "a", 1, "b" ] key ... ok (12ms)
set and get [ 1n ] key ... ok (7ms)
set and get [ "a", 1n ] key ... ok (16ms)
set and get [ "a", 1n, "b" ] key ... ok (10ms)
set and get [ true ] key ...test integration::js_unit_tests::js_unit_tests ... FAILED
mmastrac commented 1 year ago
set and get [ true ] key ...deno(27292,0x70000efa4000) malloc: *** error for object 0x60000029a3c0: pointer being freed was not allocated
deno(27292,0x70000efa4000) malloc: *** set a breakpoint in malloc_error_break to debug

Backtrace:

(lldb) bt
* thread #4, name = 'tokio-runtime-worker', stop reason = signal SIGABRT
  * frame #0: 0x00007ff81b6bb00e libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007ff81b6f11ff libsystem_pthread.dylib`pthread_kill + 263
    frame #2: 0x00007ff81b63cd24 libsystem_c.dylib`abort + 123
    frame #3: 0x00007ff81b51a357 libsystem_malloc.dylib`malloc_vreport + 551
    frame #4: 0x00007ff81b51d52b libsystem_malloc.dylib`malloc_report + 151
    frame #5: 0x000000010085fb63 deno`deno_kv::encode_v8_key::hc9f007076196a5bc + 1587
    frame #6: 0x0000000100861830 deno`core::option::Option$LT$T$GT$::map::ha89222262cddbabf + 62
    frame #7: 0x0000000100860f9a deno`deno_kv::RawSelector::from_tuple::h95994724184ae8ef + 171
    frame #8: 0x0000000100ae3791 deno`_$LT$core..iter..adapters..GenericShunt$LT$I$C$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h9996852f664620ef + 321
    frame #9: 0x0000000100ae225f deno`deno_kv::op_kv_snapshot_read::v8_func::_$u7b$$u7b$closure$u7d$$u7d$::h9ae5212a2d3ad7df + 671
    frame #10: 0x00000001009bb536 deno`_$LT$futures_util..future..maybe_done..MaybeDone$LT$Fut$GT$$u20$as$u20$core..future..future..Future$GT$::poll::ha57b13bf804e5b37 + 102
    frame #11: 0x0000000100adecf8 deno`deno_kv::op_kv_snapshot_read::v8_func::h53c959d2e57e264e + 5784
    frame #12: 0x0000000100ad122c deno`_$LT$extern$u20$$u22$C$u22$$u20$fn$LP$A0$RP$$u20$.$GT$$u20$R$u20$as$u20$v8..support..CFnFrom$LT$F$GT$$GT$::mapping::c_fn::h710f146cd9eb9097 + 44
    frame #13: 0x00000001012dcb69 deno`v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, unsigned long*, int) + 921
    frame #14: 0x00000001012dc14c deno`v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) + 236
    frame #15: 0x000000010229b6f5 deno`Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit + 53
    frame #16: 0x000000014009f5eb
    frame #17: 0x00000001400cc2f2
    frame #18: 0x000000010220c2ec deno`Builtins_InterpreterEntryTrampoline + 236
    frame #19: 0x0000000102246df9 deno`Builtins_AsyncFunctionAwaitResolveClosure + 57
    frame #20: 0x00000001022fa6f5 deno`Builtins_PromiseFulfillReactionJob + 53
    frame #21: 0x000000010223587a deno`Builtins_RunMicrotasks + 634
    frame #22: 0x000000010220a787 deno`Builtins_JSRunMicrotasksEntry + 135
    frame #23: 0x00000001013be025 deno`v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) + 2133
    frame #24: 0x00000001013bea01 deno`v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) + 81
    frame #25: 0x00000001013bec05 deno`v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*) + 85
    frame #26: 0x00000001013e8ccf deno`v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) + 335
    frame #27: 0x00000001013e8b46 deno`v8::internal::MicrotaskQueue::PerformCheckpointInternal(v8::Isolate*) + 70
    frame #28: 0x00000001013daabc deno`v8::internal::Isolate::FireCallCompletedCallbackInternal(v8::internal::MicrotaskQueue*) + 60
    frame #29: 0x00000001012a110b deno`v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 923
    frame #30: 0x00000001005e2a6d deno`deno_core::runtime::JsRuntime::drain_macrotasks::h4e8630f179da0623 + 1469
    frame #31: 0x00000001005d81ec deno`deno_core::runtime::JsRuntime::poll_event_loop::hc74b5c2ecaed668b + 8540
    frame #32: 0x00000001000dbf0c deno`deno_core::runtime::JsRuntime::resolve_value::_$u7b$$u7b$closure$u7d$$u7d$::h1da9a48019248108 + 104
    frame #33: 0x0000000100326ca9 deno`deno::worker::CliMainWorker::run_tests::_$u7b$$u7b$closure$u7d$$u7d$::h50ba2c3010065864 + 1692
    frame #34: 0x00000001003e4d0a deno`tokio::task::local::LocalSet::run_until::_$u7b$$u7b$closure$u7d$$u7d$::h66913263867bf4bf + 1828
    frame #35: 0x00000001003e371e deno`tokio::runtime::task::raw::poll::h85835285b8996e72 + 2033
    frame #36: 0x000000010105a575 deno`std::sys_common::backtrace::__rust_begin_short_backtrace::h60b174f1bc3c2436 + 517
    frame #37: 0x000000010105a28b deno`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h995abaa0a2dab86b + 171
    frame #38: 0x0000000100f1a1d9 deno`std::sys::unix::thread::Thread::new::thread_start::hb363cecb84f4c49a + 41
    frame #39: 0x00007ff81b6f14e1 libsystem_pthread.dylib`_pthread_start + 125
    frame #40: 0x00007ff81b6ecf6b libsystem_pthread.dylib`thread_start + 15
(lldb)
mmastrac commented 1 year ago

Running w/address sanitizer and nightly cargo build -- no crash. Will try bumping toolchain version.

mmastrac commented 1 year ago

No crash w/o LTO:

 # NB: the `bench` and `release` profiles must remain EXACTLY the same.
 [profile.release]
-codegen-units = 1
+#codegen-units = 1
 incremental = true
-lto = true
+#lto = true
 opt-level = 'z' # Optimize for size