Crash when returning a IntPtr when dynamically invoke .NET APIs
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 42/100
Piste de recherche
Commencez à src/NodeApi/JSValue.cs:609 et reproduisez l’échec avec NativeLibrary.GetMainProgramHandle() à partir de l’exemple Node.js REPL présenté. Comparez la trace de la pile avec celle d’autres API renvoyant IntPtr ; le travail est terminé lorsque ces invocations dynamiques ne provoquent plus de plantage et renvoient leurs résultats avec succès.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hi!
When I try to invoke dynamically an API which returns an IntPtr (e.g. GetMainProgramHandle()) the process crashes:
C:\Users\xc3ll>node
Welcome to Node.js v16.15.1.
Type ".help" for more information.
> const test = require('node-api-dotnet');
> handle = test.System.Runtime.InteropServices.NativeLibrary.GetMainProgramHandle()
Microsoft.JavaScript.NodeApi.JSException: Invalid argument: Error in DefineProperties at D:\a\_work\1\s\src\NodeApi\JSValue.cs:609
at REPL72:1:60
at Script.runInThisContext (node:vm:129:12)
at REPLServer.defaultEval (node:repl:566:29)
at bound (node:domain:421:15)
at REPLServer.runBound [as eval] (node:domain:432:12)
at REPLServer.onLine (node:repl:893:10)
at REPLServer.emit (node:events:539:35)
at REPLServer.emit (node:domain:475:12)
at REPLServer.Interface._onLine (node:readline:487:10)
at REPLServer.Interface._line (node:readline:864:8)
at Microsoft.JavaScript.NodeApi.JSValue.<>c__DisplayClass114_0.<DefineProperties>b__0(String _, ReadOnlySpan`1 descriptorsPtr)
at Microsoft.JavaScript.NodeApi.JSValue.ToUnmanagedPropertyDescriptors(String name, IReadOnlyCollection`1 descriptors, UseUnmanagedDescriptors action)
at Microsoft.JavaScript.NodeApi.JSValue.DefineProperties(JSPropertyDescriptor[] descriptors)
at Microsoft.JavaScript.NodeApi.JSError.CreateErrorValueForException(Exception exception, String& message)
at Microsoft.JavaScript.NodeApi.JSError.ThrowError(Exception exception)
at Microsoft.JavaScript.NodeApi.JSValue.InvokeCallback[TDescriptor](napi_env env, napi_callback_info callbackInfo, JSValueScopeType scopeType, Func`2 getCallbackDescriptor)
at Microsoft.JavaScript.NodeApi.JSValue.InvokeJSMethod(napi_env env, napi_callback_info callbackInfo)
I tested it with other functions and the result is the same.
- Langage dominant
- C#
- Étoiles
- 783
- Forks
- 80
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoft/node-api-dotnet
-
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
microsoft/node-api-dotnet#484 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
microsoft/node-api-dotnet#481 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
microsoft/node-api-dotnet#486 · 1 commentaire ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
microsoft/node-api-dotnet#483 · 1 commentaire · 1 réaction ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
microsoft/node-api-dotnet#479 ·
Toutes les issues de microsoft/node-api-dotnet
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
microsoft/onnxruntime-genai#2633 ·
Les mainteneurs répondent en général sous 1 jour
-
python triage
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
microsoft/semantic-kernel#14491 ·
Les mainteneurs répondent en général sous 2 jours
-
area:jobads-cv FE mvp P3
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
klasolsson81/jobbliggaren#1878 ·
Les mainteneurs répondent en général sous 1 jour
-
bug help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
pnp/pnpcore#1878 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
SubtitleEdit/subtitleedit#15331 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour