Crash when returning a IntPtr when dynamically invoke .NET APIs
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 42/100
Direção de pesquisa
Comece em src/NodeApi/JSValue.cs:609 e reproduza a falha com NativeLibrary.GetMainProgramHandle() a partir do exemplo mostrado de Node.js REPL. Compare o stack trace com o de outras APIs que retornam IntPtr; o trabalho estará concluído quando essas invocações dinâmicas não causarem mais falhas e retornarem seus resultados com sucesso.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C#
- Estrelas
- 783
- Forks
- 80
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/node-api-dotnet
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
microsoft/node-api-dotnet#484 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
microsoft/node-api-dotnet#481 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 82/100
microsoft/node-api-dotnet#502 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/node-api-dotnet#486 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/node-api-dotnet#483 · 1 comentário · 1 reação ·
Todas as issues de microsoft/node-api-dotnet
Issues semelhantes
-
:watch: Not Triaged dotnet-target-version
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
copilot documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 2 dias
-
untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
dotnet/dotnet-api-docs#13124 ·
Mantenedores costumam responder em até 1 dia
-
agentic-workflows
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
type:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
BHoM/MidasCivil_Toolkit#441 ·