You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently I am having problem in my project.
Briefly what my project does: reads mqtt output from c code and passes it inside a struct to js side. I have created a minimal example with the n-api examples using nodejs/node-addon-examples repository.
this method creates instance of MyObject2 and returns to js.
NewInstance for MyObject2 is:
napi_status MyObject2::NewInstance(napi_env env,
napi_value arg,
napi_value* instance) {
napi_status status;
const int argc = 1;
napi_value argv[argc] = {arg};
napi_value cons;
status = napi_get_reference_value(env, constructor, &cons);
if (status != napi_ok) return status;
status = napi_new_instance(env, cons, argc, argv, instance);
if (status != napi_ok) return status;
return napi_ok;
}
finally I create and call these objects from js using following code:
function createWorker(count) {
return new Promise((resolve, reject) => {
const worker = new Worker(__filename, {
workerData: count
});
worker.on('message', resolve);
worker.on('error', reject);
worker.on('exit', (code) => {
if (code !== 0)
reject(new Error(`Worker stopped with exit code ${code}`));
});
});
};
if (isMainThread) {
createWorker(1);
createWorker(2);
} else {
obj1 = addon.MyObject(1);
while(true)
obj1.createObject(workerData);
}
behavior running this js code causes errors everytime. However when and where it causes the error and error type itself changes in each run.
sometimes I get segmentation fault. Sometimes it aborts without an error and sometimes it is the error below.
I am suspecting this is related worker threads since I do not get any error when I run program without worker threads.
I have looked into napi_thread_safe_function however I couldn't find a way out of this.
You can find full version of example code here: https://github.com/necil/n-api-example
The text was updated successfully, but these errors were encountered:
This PR points the same issue I have had. However solution on c addon side Environment Life Cycle APIs marked as experimental. I guess I have to wait for it to be stable. Thank you for your help
Hi,
Currently I am having problem in my project.
Briefly what my project does: reads mqtt output from c code and passes it inside a struct to js side. I have created a minimal example with the n-api examples using nodejs/node-addon-examples repository.
my first object contains method:
this method creates instance of
MyObject2
and returns to js.NewInstance
forMyObject2
is:finally I create and call these objects from js using following code:
behavior running this js code causes errors everytime. However when and where it causes the error and error type itself changes in each run.
sometimes I get segmentation fault. Sometimes it aborts without an error and sometimes it is the error below.
I am suspecting this is related worker threads since I do not get any error when I run program without worker threads.
I have looked into napi_thread_safe_function however I couldn't find a way out of this.
You can find full version of example code here: https://github.com/necil/n-api-example
The text was updated successfully, but these errors were encountered: