kriszyp / lmdb-js

Simple, efficient, ultra-fast, scalable data store wrapper for LMDB
Other
505 stars 41 forks source link

Check failed: result.second - SharedArrayBuffer::GetBackingStore - getAddressShared #102

Closed mischnic closed 2 years ago

mischnic commented 2 years ago

I'm getting this crash:

#
# Fatal error in , line 0
# Check failed: result.second.
#
#
#
#FailureMessage Object: 0x7000100ec380
 1: 0x1008cbbaa node::NodePlatform::GetStackTracePrinter()::$_3::__invoke() [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 2: 0x1010d9ef9 V8_Fatal(char const*, ...) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 3: 0x100bbf206 v8::internal::GlobalBackingStoreRegistry::Register(std::__1::shared_ptr<v8::internal::BackingStore>) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 4: 0x1009bc361 v8::SharedArrayBuffer::GetBackingStore() [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 5: 0x10d2e38e4 getAddressShared(Nan::FunctionCallbackInfo<v8::Value> const&) [./node_modules/lmdb/prebuilds/darwin-x64/node.abi93.node]
 6: 0x10d2e240d Nan::imp::FunctionCallbackWrapper(v8::FunctionCallbackInfo<v8::Value> const&) [./node_modules/lmdb/prebuilds/darwin-x64/node.abi93.node]
 7: 0x1009f8520 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 8: 0x1009f7efa 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::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 9: 0x1009f7749 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
10: 0x100ff7e79 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit [/usr/local/Cellar/node@16/16.13.0/libexec/node]
error Command failed with signal "SIGILL".

with lmdb@2.0.1.

Reproduction, I wasn't able to reduce it further yet:

mischnic commented 2 years ago

This seems to be https://github.com/DoctorEvidence/lmdb-js/issues/51 once again


After rebuilding with node-gyp rebuild --debug, I get

FATAL ERROR: v8::SharedArrayBuffer::Cast() Value is not a SharedArrayBuffer
 1: 0x105a024a8 node::Abort() [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 2: 0x105a02623 node::OnFatalError(char const*, char const*) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 3: 0x105b428ac v8::Utils::ReportApiFailure(char const*, char const*) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 4: 0x10aac61d5 v8::SharedArrayBuffer::Cast(v8::Value*) [node_modules/lmdb/build/Debug/lmdb.node]
 5: 0x10aac4511 v8::Local<v8::SharedArrayBuffer> v8::Local<v8::SharedArrayBuffer>::Cast<v8::Value>(v8::Local<v8::Value>) [node_modules/lmdb/build/Debug/lmdb.node]
 6: 0x10aac3ba4 getAddressShared(Nan::FunctionCallbackInfo<v8::Value> const&) [node_modules/lmdb/build/Debug/lmdb.node]
 7: 0x10aabfbb9 Nan::imp::FunctionCallbackWrapper(v8::FunctionCallbackInfo<v8::Value> const&) [node_modules/lmdb/build/Debug/lmdb.node]
 8: 0x105b8b520 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
 9: 0x105b8aefa 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::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
10: 0x105b8a749 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/usr/local/Cellar/node@16/16.13.0/libexec/node]
11: 0x10618ae79 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit [/usr/local/Cellar/node@16/16.13.0/libexec/node

That may or may not be a red herring though

kriszyp commented 2 years ago

Ok, I think the latest commit fixes this, with your great test case. I was doing a little more research on why this happens, but I will publish a new version with this soon.

kriszyp commented 2 years ago

Published in v2.0.2.

mischnic commented 2 years ago

Thank you for the quick fix!