-
-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Node.js exits with a "segmentation fault: 11"-Error when closing a midi-application whose (virtual) midi-ports where already recognized by JZZ's watcher.
This happens when JZZ.js runs within my node application, then I open e.g. the DLS-Midi Synth App on Mac and the port 'DLS-MIDI-Synth Virtual In' shows up in JZZ's list of available ports. Now, when I close the DLS-Midi Synth App, my node application exits with the segmentation fault.
There seems to be a problem with the watcher and the MidiOutInfo method calling the compiled jazz-midi/bin/11_15/macos64/jazz.node gyp. And it seems to be related to virtual ports that weren't created by JZZ.
Reinstalling all node_modules didn't fix it.
Running node.js v16.1.0 on Mac 10.14.6. The jzz version is 1.3.8, the jazz-midi version is 1.7.5.
Here the log:
PID 15144 received SIGSEGV for address: 0x0
0 segfault-handler.node 0x000000010e172006 _ZL16segfault_handleriP9__siginfoPv + 310
1 libsystem_platform.dylib 0x00007fff5b9a5b5d _sigtramp + 29
2 CoreFoundation 0x00007fff8a9618f0 __kCFAllocatorSystemDefault + 0
3 jazz.node 0x000000010e1a4d15 _ZN11CMidiMacOSX11MidiOutInfoEPKw + 245
4 jazz.node 0x000000010e198c0d _Z11MidiOutInfoP10napi_env__P20napi_callback_info__ + 541
5 node 0x000000010923168a _ZN6v8impl12_GLOBAL__N_123FunctionCallbackWrapper6InvokeERKN2v820FunctionCallbackInfoINS2_5ValueEEE + 122
6 node 0x0000000109463275 _ZN2v88internal25FunctionCallbackArguments4CallENS0_15CallHandlerInfoE + 613
7 node 0x0000000109462848 _ZN2v88internal12_GLOBAL__N_119HandleApiCallHelperILb0EEENS0_11MaybeHandleINS0_6ObjectEEEPNS0_7IsolateENS0_6HandleINS0_10HeapObjectEEESA_NS8_INS0_20FunctionTemplateInfoEEENS8_IS4_EENS0_16BuiltinArgumentsE + 824
8 node 0x0000000109461dff _ZN2v88internalL26Builtin_Impl_HandleApiCallENS0_16BuiltinArgumentsEPNS0_7IsolateE + 255
9 node 0x0000000109ceb7b9 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit + 57
10 node 0x0000000109c861e5 Builtins_InterpreterEntryTrampoline + 197
Segmentation fault: 11
How to reproduce the issue:
-
Open a midi-application like Koala Sampler or DLS-Midi-Synth.
-
Call following node script:
const navigator = require('jzz');
navigator.requestMIDIAccess({sysex: true}).then((access)=>{
console.log(Array.from(access.inputs.values()), Array.from(access.outputs.values()));
}, (err)=>{console.log(err)});
- Close the midi-application.