Skip to content

memory leak on debug typescript #43547

@ArtemAdamenko

Description

@ArtemAdamenko

Version

14.16.1

Platform

21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:29 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T8101 arm64

Subsystem

No response

What steps will reproduce the bug?

Run nestjs application on debug mode in webstorm
And set breakpoint on row const output = data.toString();

const childProcess: ChildProcessWithoutNullStreams = spawn(
      `ffmpeg -rtsp_transport tcp -i ${this.RTSP_URL}/${cam} -r 0.2 ${this.IMAGE_PATH}img%03d.jpg`,
      [],
      { shell: true, timeout: 1 * 60 * 1000 },
    );
childProcess.stderr.on('data', (data: any) => {
      const output = data.toString();
      console.log(output);
}

In production mode no memory leak
but in debug mode, on row i always have memory leak const output = data.toString(); and application exit

How often does it reproduce? Is there a required condition?

Always reproduce

What is the expected behavior?

No memory leak, as in production mode

What do you see instead?

<--- Last few GCs --->

[7568:0x148008000]     2646 ms: Scavenge 153.7 (174.2) -> 139.2 (175.0) MB, 0.8 / 0.0 ms  (average mu = 0.990, current mu = 0.990) allocation failure 
[7568:0x148008000]     2797 ms: Scavenge 155.8 (175.4) -> 141.7 (176.4) MB, 0.9 / 0.0 ms  (average mu = 0.990, current mu = 0.990) allocation failure 
[7568:0x148008000]     2871 ms: Scavenge 157.1 (176.9) -> 143.3 (178.4) MB, 1.1 / 0.1 ms  (average mu = 0.990, current mu = 0.990) allocation failure 


<--- JS stacktrace --->

FATAL ERROR: wasm code commit Allocation failed - process out of memory
 1: 0x100abbed0 node::Abort() [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 2: 0x100abc034 node::OnFatalError(char const*, char const*) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 3: 0x100bd4f34 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 4: 0x100bd4ec8 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 5: 0x10116fe64 v8::internal::wasm::WasmCodeAllocator::AllocateForCodeInRegion(v8::internal::wasm::NativeModule*, unsigned long, v8::base::AddressRegion, v8::internal::wasm::WasmCodeAllocator::OptionalLock const&) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 6: 0x101170af4 v8::internal::wasm::NativeModule::CreateEmptyJumpTableInRegion(int, v8::base::AddressRegion, v8::internal::wasm::WasmCodeAllocator::OptionalLock const&) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 7: 0x10116f798 v8::internal::wasm::NativeModule::AddCodeSpace(v8::base::AddressRegion, v8::internal::wasm::WasmCodeAllocator::OptionalLock const&) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 8: 0x101170900 v8::internal::wasm::NativeModule::NativeModule(v8::internal::wasm::WasmEngine*, v8::internal::wasm::WasmFeatures const&, v8::internal::VirtualMemory, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>, std::__1::shared_ptr<v8::internal::Counters>, std::__1::shared_ptr<v8::internal::wasm::NativeModule>*) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
 9: 0x101172e80 v8::internal::wasm::WasmCodeManager::NewNativeModule(v8::internal::wasm::WasmEngine*, v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, unsigned long, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
10: 0x10117ea2c v8::internal::wasm::WasmEngine::NewNativeModule(v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>, unsigned long) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
11: 0x10114af38 v8::internal::wasm::CompileToNativeModule(v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, v8::internal::wasm::ErrorThrower*, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>, v8::internal::wasm::ModuleWireBytes const&, v8::internal::Handle<v8::internal::FixedArray>*) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
12: 0x10117b7b4 v8::internal::wasm::WasmEngine::SyncCompile(v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, v8::internal::wasm::ErrorThrower*, v8::internal::wasm::ModuleWireBytes const&) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
13: 0x1011a2384 v8::(anonymous namespace)::WebAssemblyModule(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
14: 0x100c3e654 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
15: 0x100c3d9c4 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) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
16: 0x100c3d4bc v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
17: 0x10135c50c Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
18: 0x1012f0cbc Builtins_JSBuiltinsConstructStub [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
19: 0x1013d944c Builtins_ConstructHandler [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
20: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
21: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
22: 0x1012f0b6c Builtins_JSConstructStubGeneric [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
23: 0x1013d944c Builtins_ConstructHandler [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
24: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
25: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
26: 0x1012edf44 Builtins_ArgumentsAdaptorTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
27: 0x1012f0b3c Builtins_JSConstructStubGeneric [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
28: 0x1013d944c Builtins_ConstructHandler [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
29: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
30: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
31: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
32: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
33: 0x1012f5174 Builtins_InterpreterEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
34: 0x1012f2a24 Builtins_JSEntryTrampoline [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
35: 0x1012f26c8 Builtins_JSEntry [/Users/artem/.nvm/versions/node/v14.16.1/bin/node]
36: 0x148008000 

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions