Uh oh!
There was an error while loading. Please reload this page.
Update Node-API to latest from node.js - #70
Conversation
CedricGuillemet
commented
Jan 30, 2024
Regarding performance with BabylonJS/BabylonNative#1350 I get 2.7 seconds before this update 2.9-3 seconds with. |
CedricGuillemet
commented
Jan 31, 2024
It's actually not a good idea to update node-api without updating v8/jsc. So, it's better to mix #59 with this PR and changes in js_native_api_v8.cc are then not needed: v8 api is in sync with node-api. But there are issues:
But, there is this check in node-api:
|
Uh oh!
There was an error while loading. Please reload this page.
CedricGuillemet
commented
Feb 2, 2024
@bghgary Same crash happens with or without the self-deleting weak reference. |
CedricGuillemet
commented
Feb 6, 2024
The crash I saw was because of async shaders. When running in release, everything is fine with Validation tests. Integration PR is here : BabylonJS/BabylonNative#1353 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The body was commented out and replaced with a bare `*result = true;` in BabylonJS#70 ("Update Node-API to latest from node.js"), so the API answered "detached" for every value handed to it, including a freshly created, perfectly live ArrayBuffer. Anything branching on it -- an addon guarding a zero-copy path, or a detach-then-verify sequence -- got the wrong answer with no error to notice. The pinned V8 does declare ArrayBuffer::WasDetached() (v8-array-buffer.h), so the commented-out implementation compiles as written; restore it. Caught by NodeApi.DetachArrayBufferOrReportsUnsupported on Android_V8 and Win32_x64_V8. Also record the napi_status of each napi_is_detached_arraybuffer call in that test, so an engine that fails the query is not mistaken for one that answered "detached". Android arm64 V8: 22 tests / 20 passed / 2 intentional skips.


No description provided.