Ir para conteúdo
  • Cadastre-se

dev botao

Erro Segmentation fault (core dumped) módulo NFSe


Ver Solução Respondido por antonio.carlos,
  • Este tópico foi criado há 291 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

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

Postado

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

  • Consultores
Postado

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 !!

  • Consultores
Postado

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.

Postado

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?

  • Consultores
Postado

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
  • 3 semanas depois ...
  • Consultores
Postado

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Boa noite,

Os componentes foram compatibilizados com a versão 3 da OpenSSL.

Teste novamente com a última versão da lib, a OpenSSL 3 e veja se muda o resultado.

  • Consultores
Postado

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?

Postado

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
  • 2 meses depois ...
  • Consultores
  • Solution
Postado
Em 12/11/2023 at 21:40, Renato Rubinho disse:

Boa noite,

Obrigado pela contribuição.

Criada TK-4716 para análise e possível envio ao SVN.

Programa Exemplo foi enviado para o SVN.
At revision: 32343

  • Curtir 2
×
×
  • 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.