Skip to content

Instantly share code, notes, and snippets.

@legraphista
Last active November 18, 2018 11:58
Show Gist options
  • Save legraphista/f468aa73ba57eb8aab66466bda50a50c to your computer and use it in GitHub Desktop.
Save legraphista/f468aa73ba57eb8aab66466bda50a50c to your computer and use it in GitHub Desktop.
v8 napi deconstruct failure

In this build, when calling await image.letterbox(416, 416) and await await DarknetImage.fromRGB i would pass form a worker a Float32Array to the new image contructor.
At the first instance of a natural occuring GC cicle, it would crash with the following traces:

GDB


Thread 1 "node" received signal SIGSEGV, Segmentation fault.
0x0000000000e92f8b in v8::internal::GlobalHandles::Create(v8::internal::Object*) ()
(gdb) bt
#0  0x0000000000e92f8b in v8::internal::GlobalHandles::Create(v8::internal::Object*) ()
#1  0x0000000000ad8138 in v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**) ()
#2  0x00000000008e62fd in (anonymous namespace)::v8impl::Reference::New(napi_env__*, v8::Local<v8::Value>, unsigned int, bool, void (*)(napi_env__*, void*, void*), void*, void*) ()
#3  0x00000000008ee37f in napi_wrap ()
#4  0x00007fffdfdf2d7e in Napi::ObjectWrap<DarknetImage>::ObjectWrap (this=0x2568890, callbackInfo=...) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:2824
#5  0x00007fffdfdf021a in DarknetImage::DarknetImage (this=0x2568890, info=...) at ../src/DarknetImage.cc:37
#6  0x00007fffdfdf4954 in Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (__closure=0x7fffffff96b0)
    at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:3221
#7  0x00007fffdfdf51e7 in Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (callback=...) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:104
#8  0x00007fffdfdf4a85 in Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper (env=0x25f93a0, info=0x7fffffff9730) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:3219
#9  0x00000000008e6905 in (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) ()
#10 0x0000000000b5e71b in v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) ()
#11 0x0000000000b60a7d in v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) ()
#12 0x0000000000e702b1 in v8::internal::Execution::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) ()
#13 0x0000000000afc9e6 in v8::Function::NewInstanceWithSideEffectType(v8::Local<v8::Context>, int, v8::Local<v8::Value>*, v8::SideEffectType) const ()
#14 0x0000000000afcd1c in v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const ()
#15 0x00000000008ef175 in napi_new_instance ()
#16 0x00007fffdfde360c in Napi::Function::New (this=0x7fffffff9dc0, argc=4, args=0x7fffffff9ed0) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:1747
#17 0x00007fffdfde35b9 in Napi::Function::New (this=0x7fffffff9dc0, args=...) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:1737
#18 0x00007fffdfde4258 in Napi::FunctionReference::New (this=0x7fffdffff320 <DarknetImage::constructor>, args=...) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:2521
#19 0x00007fffdfdf1eab in DarknetImageWorkers::RGB2DarknetImage::OnOK (this=0x1c8519c0) at ../src/DarknetImage.h:108
#20 0x00007fffdfde532d in Napi::AsyncWorker::OnWorkComplete(napi_env__*, napi_status, void*)::{lambda()#1}::operator()() const (__closure=0x7fffffff9fa8)
    at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:3622
#21 0x00007fffdfde6391 in Napi::details::WrapCallback<Napi::AsyncWorker::OnWorkComplete(napi_env__*, napi_status, void*)::{lambda()#1}>(Napi::AsyncWorker::OnWorkComplete(napi_env__*, napi_status, void*)::{lambda()#1}) (
    callback=...) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:104
#22 0x00007fffdfde5435 in Napi::AsyncWorker::OnWorkComplete (status=napi_ok, this_pointer=0x1c8519c0) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:3620
#23 0x00000000008e6e4c in (anonymous namespace)::uvimpl::Work::AfterThreadPoolWork(int) ()
#24 0x0000000000a42fb5 in uv__work_done (handle=0x24a3f50 <default_loop_struct+176>) at ../deps/uv/src/threadpool.c:313
#25 0x0000000000a4732f in uv__async_io (loop=0x24a3ea0 <default_loop_struct>, w=<optimized out>, events=<optimized out>) at ../deps/uv/src/unix/async.c:118
#26 0x0000000000a58018 in uv__io_poll (loop=loop@entry=0x24a3ea0 <default_loop_struct>, timeout=-1) at ../deps/uv/src/unix/linux-core.c:375
#27 0x0000000000a47c6b in uv_run (loop=0x24a3ea0 <default_loop_struct>, mode=UV_RUN_DEFAULT) at ../deps/uv/src/unix/core.c:370
#28 0x00000000008e5255 in node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&) ()
#29 0x00000000008e34a2 in node::Start(int, char**) ()
#30 0x00007ffff6a96b97 in __libc_start_main (main=0x89dc10 <main>, argc=2, argv=0x7fffffffe328, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe318) at ../csu/libc-start.c:310
#31 0x000000000089dd45 in _start ()

(gdb) frame 4
#4  0x00007fffdfdf2d7e in Napi::ObjectWrap<DarknetImage>::ObjectWrap (this=0x2568890, callbackInfo=...) at /home/ubuntu/darknet-binding/node_modules/node-addon-api/napi-inl.h:2824
2824	  status = napi_wrap(env, wrapper, instance, FinalizeCallback, nullptr, &ref);

(gdb) info local
env = 0x25f93a0
wrapper = 0x7fffffff9980
status = napi_ok
ref = 0x25f93a0
instance = 0x2568890
instanceRef = 0x25f93a0
env = <optimized out>
wrapper = <optimized out>
status = <optimized out>
ref = <optimized out>
instance = <optimized out>
instanceRef = <optimized out>

(gdb) info args
this = 0x2568890
callbackInfo = @0x7fffffff95b0: {_staticArgCount = 6, _env = 0x25f93a0, _info = 0x7fffffff9730, _this = 0x7fffffff9980, _argc = 4, _argv = 0x7fffffff95e0, _staticArgs = {0x7fffffff9978, 0x7fffffff9970, 0x7fffffff9968,
    0x7fffffff9960, 0x24dd768, 0x24dd768}, _dynamicArgs = 0x0, _data = 0x0}
(gdb)


Valgrind


==1274== Invalid read of size 8
==1274==    at 0x8E6B75: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC426E6: v8::internal::compiler::CodeGenerator::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD5167A: v8::internal::compiler::PipelineImpl::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD51A8C: v8::internal::compiler::PipelineCompilationJob::FinalizeJobImpl(v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC1562C: v8::internal::Compiler::FinalizeCompilationJob(v8::internal::OptimizedCompilationJob*, v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0BBBA: v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x63ebb20 is 32 bytes inside a block of size 48 free'd
==1274==    at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE921: napi_delete_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CD06F: Napi::Reference<Napi::TypedArrayOf<float> >::~Reference() (napi-inl.h:2125)
==1274==    by 0xA1CA6F3: DarknetImage::~DarknetImage() (DarknetImage.cc:71)
==1274==    by 0xA1CE355: Napi::ObjectWrap<DarknetImage>::FinalizeCallback(napi_env__*, void*, void*) (napi-inl.h:3347)
==1274==    by 0x8E6BCD: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Block was alloc'd at
==1274==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE7F1: napi_create_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CE50A: Napi::Reference<Napi::TypedArrayOf<float> >::New(Napi::TypedArrayOf<float> const&, unsigned int) (napi-inl.h:2105)
==1274==    by 0xA1CD0E3: Napi::Reference<Napi::TypedArrayOf<float> > Napi::Persistent<Napi::TypedArrayOf<float> >(Napi::TypedArrayOf<float>) (napi-inl.h:2261)
==1274==    by 0xA1CA40F: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:39)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE702B0: v8::internal::Execution::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
==1274== Invalid write of size 8
==1274==    at 0x8E6B84: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC426E6: v8::internal::compiler::CodeGenerator::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD5167A: v8::internal::compiler::PipelineImpl::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD51A8C: v8::internal::compiler::PipelineCompilationJob::FinalizeJobImpl(v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC1562C: v8::internal::Compiler::FinalizeCompilationJob(v8::internal::OptimizedCompilationJob*, v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0BBBA: v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x63ebb20 is 32 bytes inside a block of size 48 free'd
==1274==    at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE921: napi_delete_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CD06F: Napi::Reference<Napi::TypedArrayOf<float> >::~Reference() (napi-inl.h:2125)
==1274==    by 0xA1CA6F3: DarknetImage::~DarknetImage() (DarknetImage.cc:71)
==1274==    by 0xA1CE355: Napi::ObjectWrap<DarknetImage>::FinalizeCallback(napi_env__*, void*, void*) (napi-inl.h:3347)
==1274==    by 0x8E6BCD: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Block was alloc'd at
==1274==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE7F1: napi_create_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CE50A: Napi::Reference<Napi::TypedArrayOf<float> >::New(Napi::TypedArrayOf<float> const&, unsigned int) (napi-inl.h:2105)
==1274==    by 0xA1CD0E3: Napi::Reference<Napi::TypedArrayOf<float> > Napi::Persistent<Napi::TypedArrayOf<float> >(Napi::TypedArrayOf<float>) (napi-inl.h:2261)
==1274==    by 0xA1CA40F: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:39)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE702B0: v8::internal::Execution::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
==1274== Invalid read of size 8
==1274==    at 0x8E6B8D: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC426E6: v8::internal::compiler::CodeGenerator::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD5167A: v8::internal::compiler::PipelineImpl::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD51A8C: v8::internal::compiler::PipelineCompilationJob::FinalizeJobImpl(v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC1562C: v8::internal::Compiler::FinalizeCompilationJob(v8::internal::OptimizedCompilationJob*, v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0BBBA: v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x63ebb08 is 8 bytes inside a block of size 48 free'd
==1274==    at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE921: napi_delete_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CD06F: Napi::Reference<Napi::TypedArrayOf<float> >::~Reference() (napi-inl.h:2125)
==1274==    by 0xA1CA6F3: DarknetImage::~DarknetImage() (DarknetImage.cc:71)
==1274==    by 0xA1CE355: Napi::ObjectWrap<DarknetImage>::FinalizeCallback(napi_env__*, void*, void*) (napi-inl.h:3347)
==1274==    by 0x8E6BCD: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Block was alloc'd at
==1274==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE7F1: napi_create_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CE50A: Napi::Reference<Napi::TypedArrayOf<float> >::New(Napi::TypedArrayOf<float> const&, unsigned int) (napi-inl.h:2105)
==1274==    by 0xA1CD0E3: Napi::Reference<Napi::TypedArrayOf<float> > Napi::Persistent<Napi::TypedArrayOf<float> >(Napi::TypedArrayOf<float>) (napi-inl.h:2261)
==1274==    by 0xA1CA40F: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:39)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE702B0: v8::internal::Execution::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
==1274== Invalid read of size 1
==1274==    at 0x8E6B92: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC426E6: v8::internal::compiler::CodeGenerator::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD5167A: v8::internal::compiler::PipelineImpl::FinalizeCode() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD51A8C: v8::internal::compiler::PipelineCompilationJob::FinalizeJobImpl(v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC1562C: v8::internal::Compiler::FinalizeCompilationJob(v8::internal::OptimizedCompilationJob*, v8::internal::Isolate*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0BBBA: v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x63ebb2c is 44 bytes inside a block of size 48 free'd
==1274==    at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE921: napi_delete_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CD06F: Napi::Reference<Napi::TypedArrayOf<float> >::~Reference() (napi-inl.h:2125)
==1274==    by 0xA1CA6F3: DarknetImage::~DarknetImage() (DarknetImage.cc:71)
==1274==    by 0xA1CE355: Napi::ObjectWrap<DarknetImage>::FinalizeCallback(napi_env__*, void*, void*) (napi-inl.h:3347)
==1274==    by 0x8E6BCD: (anonymous namespace)::v8impl::Reference::FinalizeCallback(v8::WeakCallbackInfo<(anonymous namespace)::v8impl::Reference> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93AF2: v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE93D19: v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED0919: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED1743: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xED40E3: v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xEA79EF: v8::internal::Factory::TryNewCode(v8::internal::CodeDesc const&, v8::internal::Code::Kind, v8::internal::Handle<v8::internal::Object>, int, v8::internal::MaybeHandle<v8::internal::ByteArray>, v8::internal::MaybeHandle<v8::internal::DeoptimizationData>, v8::internal::Movability, unsigned int, bool, int, int, int) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Block was alloc'd at
==1274==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x8EE7F1: napi_create_reference (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CE50A: Napi::Reference<Napi::TypedArrayOf<float> >::New(Napi::TypedArrayOf<float> const&, unsigned int) (napi-inl.h:2105)
==1274==    by 0xA1CD0E3: Napi::Reference<Napi::TypedArrayOf<float> > Napi::Persistent<Napi::TypedArrayOf<float> >(Napi::TypedArrayOf<float>) (napi-inl.h:2261)
==1274==    by 0xA1CA40F: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:39)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xE702B0: v8::internal::Execution::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
RSS 26357.99
total 9.23
used 6.33
external 2.64
1716
==1274== Invalid read of size 4
==1274==    at 0xE92F6D: v8::internal::GlobalHandles::Create(v8::internal::Object*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xAD8137: v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8E62FC: (anonymous namespace)::v8impl::Reference::New(napi_env__*, v8::Local<v8::Value>, unsigned int, bool, void (*)(napi_env__*, void*, void*), void*, void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8EE37E: napi_wrap (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CCF27: Napi::ObjectWrap<DarknetImage>::ObjectWrap(Napi::CallbackInfo const&) (napi-inl.h:2824)
==1274==    by 0xA1CA387: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:37)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x64ee378 is 4,504 bytes inside a block of size 133,576 free'd
==1274==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x1284F75: v8::internal::Zone::~Zone() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xDF1BBF: v8::internal::compiler::ZoneStats::ReturnZone(v8::internal::Zone*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD4CD5A: v8::internal::compiler::PipelineImpl::AssembleCode(v8::internal::compiler::Linkage*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD58E27: v8::internal::compiler::PipelineCompilationJob::ExecuteJobImpl() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC11CD0: v8::internal::OptimizedCompilationJob::ExecuteJob() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0C70F: v8::internal::OptimizingCompileDispatcher::CompileTask::RunInternal() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xBC7915: v8::internal::CancelableTask::Run() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x961BD0: node::BackgroundRunner(void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x5B936DA: start_thread (pthread_create.c:463)
==1274==    by 0x5ECC88E: clone (clone.S:95)
==1274==  Block was alloc'd at
==1274==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0xACF0EC: v8::internal::AllocWithRetry(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12847A1: v8::internal::AccountingAllocator::GetSegment(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x1285025: v8::internal::Zone::New(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8895A: v8::internal::compiler::InstructionSelector::Emit(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*) [clone .constprop.417] (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8CB49: v8::internal::compiler::InstructionSelector::EmitWithContinuation(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12ADC32: v8::internal::compiler::VisitBinop(v8::internal::compiler::InstructionSelector*, v8::internal::compiler::Node*, int, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12AF399: v8::internal::compiler::InstructionSelector::VisitWordCompareZero(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8753E: v8::internal::compiler::InstructionSelector::VisitDeoptimizeIf(v8::internal::compiler::Node*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8F663: v8::internal::compiler::InstructionSelector::VisitNode(v8::internal::compiler::Node*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC92B0A: v8::internal::compiler::InstructionSelector::VisitBlock(v8::internal::compiler::BasicBlock*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC92E00: v8::internal::compiler::InstructionSelector::SelectInstructions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
==1274== Invalid write of size 4
==1274==    at 0xE92F78: v8::internal::GlobalHandles::Create(v8::internal::Object*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xAD8137: v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8E62FC: (anonymous namespace)::v8impl::Reference::New(napi_env__*, v8::Local<v8::Value>, unsigned int, bool, void (*)(napi_env__*, void*, void*), void*, void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8EE37E: napi_wrap (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CCF27: Napi::ObjectWrap<DarknetImage>::ObjectWrap(Napi::CallbackInfo const&) (napi-inl.h:2824)
==1274==    by 0xA1CA387: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:37)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x64ee378 is 4,504 bytes inside a block of size 133,576 free'd
==1274==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x1284F75: v8::internal::Zone::~Zone() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xDF1BBF: v8::internal::compiler::ZoneStats::ReturnZone(v8::internal::Zone*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD4CD5A: v8::internal::compiler::PipelineImpl::AssembleCode(v8::internal::compiler::Linkage*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD58E27: v8::internal::compiler::PipelineCompilationJob::ExecuteJobImpl() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC11CD0: v8::internal::OptimizedCompilationJob::ExecuteJob() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0C70F: v8::internal::OptimizingCompileDispatcher::CompileTask::RunInternal() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xBC7915: v8::internal::CancelableTask::Run() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x961BD0: node::BackgroundRunner(void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x5B936DA: start_thread (pthread_create.c:463)
==1274==    by 0x5ECC88E: clone (clone.S:95)
==1274==  Block was alloc'd at
==1274==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0xACF0EC: v8::internal::AllocWithRetry(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12847A1: v8::internal::AccountingAllocator::GetSegment(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x1285025: v8::internal::Zone::New(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8895A: v8::internal::compiler::InstructionSelector::Emit(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*) [clone .constprop.417] (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8CB49: v8::internal::compiler::InstructionSelector::EmitWithContinuation(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12ADC32: v8::internal::compiler::VisitBinop(v8::internal::compiler::InstructionSelector*, v8::internal::compiler::Node*, int, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12AF399: v8::internal::compiler::InstructionSelector::VisitWordCompareZero(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8753E: v8::internal::compiler::InstructionSelector::VisitDeoptimizeIf(v8::internal::compiler::Node*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8F663: v8::internal::compiler::InstructionSelector::VisitNode(v8::internal::compiler::Node*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC92B0A: v8::internal::compiler::InstructionSelector::VisitBlock(v8::internal::compiler::BasicBlock*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC92E00: v8::internal::compiler::InstructionSelector::SelectInstructions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
==1274== Invalid read of size 8
==1274==    at 0xE93020: v8::internal::GlobalHandles::Create(v8::internal::Object*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xAD8137: v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8E62FC: (anonymous namespace)::v8impl::Reference::New(napi_env__*, v8::Local<v8::Value>, unsigned int, bool, void (*)(napi_env__*, void*, void*), void*, void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8EE37E: napi_wrap (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CCF27: Napi::ObjectWrap<DarknetImage>::ObjectWrap(Napi::CallbackInfo const&) (napi-inl.h:2824)
==1274==    by 0xA1CA387: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:37)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0x64ee390 is 4,528 bytes inside a block of size 133,576 free'd
==1274==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0x1284F75: v8::internal::Zone::~Zone() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xDF1BBF: v8::internal::compiler::ZoneStats::ReturnZone(v8::internal::Zone*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD4CD5A: v8::internal::compiler::PipelineImpl::AssembleCode(v8::internal::compiler::Linkage*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xD58E27: v8::internal::compiler::PipelineCompilationJob::ExecuteJobImpl() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC11CD0: v8::internal::OptimizedCompilationJob::ExecuteJob() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC0C70F: v8::internal::OptimizingCompileDispatcher::CompileTask::RunInternal() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xBC7915: v8::internal::CancelableTask::Run() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x961BD0: node::BackgroundRunner(void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x5B936DA: start_thread (pthread_create.c:463)
==1274==    by 0x5ECC88E: clone (clone.S:95)
==1274==  Block was alloc'd at
==1274==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1274==    by 0xACF0EC: v8::internal::AllocWithRetry(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12847A1: v8::internal::AccountingAllocator::GetSegment(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x1285025: v8::internal::Zone::New(unsigned long) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8895A: v8::internal::compiler::InstructionSelector::Emit(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*) [clone .constprop.417] (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8CB49: v8::internal::compiler::InstructionSelector::EmitWithContinuation(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12ADC32: v8::internal::compiler::VisitBinop(v8::internal::compiler::InstructionSelector*, v8::internal::compiler::Node*, int, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x12AF399: v8::internal::compiler::InstructionSelector::VisitWordCompareZero(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::FlagsContinuation*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8753E: v8::internal::compiler::InstructionSelector::VisitDeoptimizeIf(v8::internal::compiler::Node*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC8F663: v8::internal::compiler::InstructionSelector::VisitNode(v8::internal::compiler::Node*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC92B0A: v8::internal::compiler::InstructionSelector::VisitBlock(v8::internal::compiler::BasicBlock*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xC92E00: v8::internal::compiler::InstructionSelector::SelectInstructions() (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==
==1274== Invalid read of size 8
==1274==    at 0xE93027: v8::internal::GlobalHandles::Create(v8::internal::Object*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xAD8137: v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8E62FC: (anonymous namespace)::v8impl::Reference::New(napi_env__*, v8::Local<v8::Value>, unsigned int, bool, void (*)(napi_env__*, void*, void*), void*, void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8EE37E: napi_wrap (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CCF27: Napi::ObjectWrap<DarknetImage>::ObjectWrap(Napi::CallbackInfo const&) (napi-inl.h:2824)
==1274==    by 0xA1CA387: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:37)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==  Address 0xff07081a is not stack'd, malloc'd or (recently) free'd
==1274==
==1274==
==1274== Process terminating with default action of signal 11 (SIGSEGV)
==1274==  Access not within mapped region at address 0xFF07081A
==1274==    at 0xE93027: v8::internal::GlobalHandles::Create(v8::internal::Object*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xAD8137: v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8E62FC: (anonymous namespace)::v8impl::Reference::New(napi_env__*, v8::Local<v8::Value>, unsigned int, bool, void (*)(napi_env__*, void*, void*), void*, void*) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0x8EE37E: napi_wrap (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xA1CCF27: Napi::ObjectWrap<DarknetImage>::ObjectWrap(Napi::CallbackInfo const&) (napi-inl.h:2824)
==1274==    by 0xA1CA387: DarknetImage::DarknetImage(Napi::CallbackInfo const&) (DarknetImage.cc:37)
==1274==    by 0xA1CEB19: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const (napi-inl.h:3221)
==1274==    by 0xA1CF3B0: napi_value__* Napi::details::WrapCallback<Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}>(Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}) (napi-inl.h:104)
==1274==    by 0xA1CEC4E: Napi::ObjectWrap<DarknetImage>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) (napi-inl.h:3219)
==1274==    by 0x8E6904: (anonymous namespace)::v8impl::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo<v8::Value> const&) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB5E71A: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(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) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)
==1274==    by 0xB60A7C: v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) (in /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node)


After switching to build 9c4dbe7e163df410b65efa25d6e596d4b4f971d7 and build d4b5fbb218ea43c9c88858edcbe2b9be12a8ff9d where i bypass JS land and share an external float* between them, i cannot reproduce the issue

Code that handles the DarknetImage destructor
https://github.com/legraphista/darknet-bindings/blob/f72b0f6ad61bb564bc360722af65cc59a39c348c/src/DarknetImage.cc#L87-L103

Code that handles using External<float>
https://github.com/legraphista/darknet-bindings/blob/d4b5fbb218ea43c9c88858edcbe2b9be12a8ff9d/src/DarknetImage.cc#L43-L47
https://github.com/legraphista/darknet-bindings/blob/d4b5fbb218ea43c9c88858edcbe2b9be12a8ff9d/src/DarknetImage.h#L267-L281
https://github.com/legraphista/darknet-bindings/blob/d4b5fbb218ea43c9c88858edcbe2b9be12a8ff9d/src/helpers/c_helpers.h#L23-L25

{
"name": "example",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {},
"author": "Stefan-Gabriel Muscalu <stefan.gabriel.muscalu@gmail.com> (http://my.corneroftheinternet.rocks/)",
"dependencies": {
"darknet-bindings": "git+ssh://git@github.com/legraphista/darknet-bindings.git#9d61036a1f8282ff870481a0079e31c1dc6f45d4",
"expose-gc": "^1.0.0"
}
}
const { DarknetImage } = require('darknet-bindings');
require('expose-gc');
function printMem() {
const {
rss,
heapTotal,
heapUsed,
external
} = process.memoryUsage();
console.log('RSS', (rss / 2 ** 20).toFixed(2));
console.log('total', (heapTotal / 2 ** 20).toFixed(2));
console.log('used', (heapUsed / 2 ** 20).toFixed(2));
console.log('external', (external / 2 ** 20).toFixed(2));
}
(async () => {
const w = 1280;
const h = 720;
const c = 3;
const buffer = new Buffer(w * h * c);
for (let i = 0; i < w * h * c; i++) {
buffer[i] = Math.random() * 255;
}
printMem();
for (let i = 0; i < 10000; i++) {
console.log(i);
const image = await DarknetImage.fromRGB(
buffer,
w,
h,
c
);
const letterboxed = await image.letterbox(416, 416);
image.release();
letterboxed.release();
// global.gc();
printMem();
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment