Ir para conteúdo
  • Cadastre-se

dev botao

Erro Segmentation fault (core dumped) módulo NFSe


Ver Solução Respondido por antonio.carlos,

Recommended Posts

  • Membros Pro

Olá pessoal, estou recebendo o erro "Segmentation fault (core dumped)" ao utilizar a versão Demo do módulo NFSe.

Estou utilizando NodeJS em um ambiente Ubuntu 64bits. A NFSe é emitida, todos os xmls são gerados porém eu recebo esse erro ao chamar a função "NFSE_Emitir" que acaba por matar a execução (já tentei envolver em try/catch porém sem êxito). Isso poderia ser uma limitação relacionada a versão demo da lib? Vou anexar abaixo os arquivos .ini, o código NodeJS e o Log gerado.

nota.ini acbrlib.iniACBrLibNFSe Demo-20231012.logindex.js

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá, bom dia! Criei um dockerfile para tentar fazer os testes em um ambiente mais isolado porém continuo tendo o mesmo problema. Segui as dicas dadas pelo pessoal no tópico informado e estou o acompanhando porém sem êxito.

Vou deixar abaixo o Dockerfile utilizado para que possam ver e me informar se há algo de errado.

PS: Fiz testes usando Node 12 ao 16, OpenSSL 1.1.1q, 1.1.1w e 1.1.1f. Em todos obtive o mesmo resultado

Dockerfile

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia!

Qual biblioteca você está utilizando para ler a Dll e fazer o bind dos métodos?

Já tivemos relato de membro que estava usando koffi e passando por problemas.

Se este for o seu caso, por favor, realizar um teste usando ffi aos moldes do programa exemplo.

var lib = ffi.Library(pathDllACBrLibCEP, {
    CEP_Inicializar: ['int', ['string', 'string']],
    CEP_Finalizar: ['int', []],
    CEP_BuscarPorCEP: ['int', ['string', tchar, tint]],
})

Você pode conferir o exemplo em Node.js para NFe disponível em nosso SVN para mais detalhes.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

  const buflength = 2 ** 30;
  console.log({ buflength });
Uncaught RangeError RangeError [ERR_INVALID_ARG_VALUE]: The argument 'size' is invalid. Received 1073741824

Simulado no windows com o seu projeto e acusou erro devido ao buffer

  const buflength = 1024;

Configurando com um valor menor e não apresentou erros.

{buflength: 1024}               app.js:75
Iniciando >>>>>>>               app.js:80
iniciou >>>>>>> 0               app.js:82
Set Configurações ArquivoPFX 0  app.js:89
Set Configurações sENHA 0       app.js:92
Set Configurações PathSchemas 0 app.js:99
finalizar >>>>>>>> 0            app.js:113

No outro tópico o usuário informou que funcionou com o node 12.

Veja se funciona para você também ou com outras versões.

Tendo funcionado com outras versões, acredito que indique ser algum problema de configuração, dependências, etc, nas versões que não funcionam ou algum outro detalhe no ambiente / cenário criado.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Fiz testes reduzindo o buflength, com valores de 256 até 16k, utilizando a versão 12 do node, ocorreu o mesmo problema. Realizei o teste em uma máquina virtual windows 32bits e não apresentou erros também. Alguém poderia realizar um teste no linux para tirar a prova se é alguma configuração ou detalhe de ambiente?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá,

Tendo em vista que o erro desconhecido é o mesmo, tudo indica ser algo no ambiente, pois tanto o teste feito pelo Daniel com node quanto o teste em Java feito pelo Antônio não apresentaram o problema.

Revise as dependências para verificar se o problema não está nelas.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Membros Pro

Boa noite a todos, continuo a ter o mesmo problema. Testei o algoritmo deixado pelo leoprates no github e não houve erros portanto não imagino que seja um problema com ambiente.

Deixei o código disponível no link abaixo juntamente do arquivo Docker que estou usando para criar o ambiente de forma mais uniforme. 
https://github.com/DouglasDuarte07/ACBR-NFSE

Link para o comentário
Compartilhar em outros sites

  • Consultores

Seguem considerações:

* Este caminho está acessível para salvar os arquivos?

PathSalvar=./

* Este caminho é válido, está acessível e com os schemas atuais?

PathSchemas=/home/douglas/Startup/invoice-issue-service/src/assets/acbr/Schemas/NFSe

* Este caminho está correto, o arquivo está acessível? A senha utilizada foi validada

ArquivoPFX=/home/douglas/Startup/ACBr/NFSe/assets/cert/certificado.pfx

* A senha está sendo gravada no ini como o método gravarvalor e ficando criptografada no ini?

Senha=*******

Em 17/10/2023 at 16:35, Renato Rubinho disse:

Revise seu ambiente, especialmente OpenSSL, LibXml2

Revisou também a LibXml2?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa noite a todos, após diversos testes finalmente fui capaz de executar com sucesso. O problema era relacionado a declaração de tipo ao carregar a LIB. Vou deixar a abaixo o código nodejs e também o dockerfile, gostaria que eles fossem adicionados ao SVN pois não há exemplo utilizando NFSe com NodeJS no SVN do acbr.

index.js Dockerfile

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.