Ir para conteúdo
  • Cadastre-se

dev botao

Falha ao enviar NF-e no Linux libacbrnfe64.so MT


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

Recommended Posts

  • Membros Pro
Postado

@Daniel InfoCotidiano vou te passar aí.

Mas antes, veja só. Modifiquei minha classe para funcionar tanto MT quanto ST, copiei a biblioteca ST e ao consultar status do serviço da NF-e está me retornando esse erro:
 

> nfeApi.statusServico();
Tamanho do buffer 4096
This binary has no thread support compiled in.
Recompile the application with a thread-driver in the program uses clause before other units using thread.
Runtime error 232 at $00007F89E0F02DCD
  $00007F89E0F02DCD
  $00007F89E0F22C31
  $00007F89E11915E6
  $00007F89E120F4CD
  $00007F89E11D396E
  $00007F89E120DF7C
  $00007F89E12E54F7

 

Veja o log do ACBrLib:

22/11/23 18:29:03:013 - TLibNFeConfig.AplicarConfiguracoes: /app/cfg/beb9b9de-e30f-4930-94a1-e0d2273463ab.ini
22/11/23 18:29:03:013 - Travar
22/11/23 18:29:03:013 - Travar
22/11/23 18:29:03:013 - TLibNFeConfig.Gravar: /app/cfg/beb9b9de-e30f-4930-94a1-e0d2273463ab.ini
22/11/23 18:29:03:017 - TLibNFeConfig.Gravar - Feito
22/11/23 18:29:03:018 - Destravar
22/11/23 18:29:03:018 - TLibNFeConfig.AplicarConfiguracoes - Feito
22/11/23 18:29:03:018 - Destravar
22/11/23 18:29:03:018 - TLibNFeConfig.Ler - Feito
22/11/23 18:29:03:018 - Destravar
22/11/23 18:29:03:018 - TACBrLibNFe.Inicializar - Feito
22/11/23 18:29:03:018 - LIB_Inicializar( /app/cfg/beb9b9de-e30f-4930-94a1-e0d2273463ab.ini,  )
22/11/23 18:29:03:018 -    ACBrLibNFE - 0.4.6.256
22/11/23 18:29:03:024 - TACBrLibNFe.PrecisaCriptografar(DFe,Senha)
22/11/23 18:29:03:024 - TACBrLibNFe.PrecisaCriptografar - Feito Result: True
22/11/23 18:29:03:024 - LIB_ConfigGravarValor(DFe, Senha, ******)
22/11/23 18:29:03:024 - TACBrLibNFe.PrecisaCriptografar(DFe,Senha)
22/11/23 18:29:03:024 - TACBrLibNFe.PrecisaCriptografar - Feito Result: True
22/11/23 18:29:03:024 - TLibNFeConfig.AjustarValor(tfGravar,DFe,Senha,******)
22/11/23 18:29:03:024 - TLibNFeConfig.AjustarValor - Feito
22/11/23 18:29:03:024 - TLibNFeConfig.AplicarConfiguracoes: /app/cfg/beb9b9de-e30f-4930-94a1-e0d2273463ab.ini
22/11/23 18:29:03:024 - Travar
22/11/23 18:29:03:025 - TLibNFeConfig.AplicarConfiguracoes - Feito
22/11/23 18:29:03:025 - Destravar
22/11/23 18:29:03:025 -    SetRetorno(0, )
22/11/23 18:29:03:028 - NFE_ObterCertificados
22/11/23 18:29:03:028 - Travar
22/11/23 18:29:03:047 -    MoverStringParaPChar. StrLen:324, BufLen:4096
22/11/23 18:29:03:047 -    SetRetorno(0, 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia,
 OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5
)
22/11/23 18:29:03:047 - Destravar
22/11/23 18:29:03:056 - NFE_StatusServico
22/11/23 18:29:03:056 - Travar

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado (editado)

@Daniel InfoCotidiano

Segue em anexo os fontes em TypeScript para testar a consulta do status do serviço da NF-e. Modifique os parâmetros para usar o seu arquivo de certificado e senha.
Cole os arquivos de schemas em ./resources/schemas/nfe.

Para configurar o ambiente:

npm init -y
npm i -D typescript
npm i -D @types/node
npm i -D ts-node
npx tsc --init

npm i dotenv
npm i ffi-napi @types/ffi-napi
npm i ref-napi @types/ref-napi
npm i ini @types/ini
npm i moment @types/moment

Para executar:

ts-node ./testeNFe.ts

 

Para executar com biblioteca MT, abra o arquivo testeNFe.ts e modifique o primeiro parâmetro de new acbrNFe() para true.

 

acbr.ts acbrNFe.ts testeNFe.ts

Editado por Endrigo Rodrigues
  • Curtir 2
945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado
13 minutos atrás, Daniel InfoCotidiano disse:

@Endrigo Rodrigues
Vou atualizar meu node para deixar igual o seu e testar.
Assim q terminar, retorno. obrigado !

Pode testar no Windows e no Linux.

Isso que me deixa maluco. No Windows o mesmo programa funciona corretamente, sem erros.

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Consultores
Postado
3 horas atrás, Endrigo Rodrigues disse:

Pode testar no Windows e no Linux.

Boa noite
qdo puder me mande um print da sua estrutura de pasta, onde tem q ficar cada arquivo, so preciso destes 3 arquivos?
onde fica a lib .so, etc.
Pois tudo em uma pasta só nem chega executar aqui.
Grato
 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado

@Daniel InfoCotidiano @Diego Foliene

Está em anexo correções dos fontes, pasta resource e arquivo .env com parâmetros para geração do log.

Vamos lá.
No Windows utilizando a versão 0.4.6.256 estou tendo erro de senha do certificado, pode ser alguma dll minha que não coloquei na pasta, porém com a versão 0.4.6.208 consegui executar. Segue em anexo ACBrLibNFE-20231122-windows.log.

Retorno do terminal:

Biblioteca: ACBrLibNFE - Versão: 0.4.6.208
Certificado: 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia, OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5

Status Serviço: {
  "Status": {
    "CStat": "107",
    "CUF": "31",
    "DhRecbto": "22/11/2023 20:54:57",
    "DhRetorno": "22/11/2023 20:54:57",
    "Msg": "Servico em operacao",
    "TMed": "0",
    "VerAplic": "W-3.1.56",
    "Versao": "4.00",
    "XMotivo": "Servico em operacao",
    "XObs": "",
    "tpAmb": "2"
  }
}

No Linux mesmo utilizando a versão 0.4.6.208 causa exceção finalizando a aplicação. Segue em anexo ACBrLibNFE-20231122-linux.log.

Retorno do terminal:

Biblioteca: ACBrLibNFE - Versão: 0.4.6.208
Certificado: 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia, OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5

This binary has no thread support compiled in.
Recompile the application with a thread-driver in the program uses clause before other units using thread.
Runtime error 232 at $00007F5A42E5858D
  $00007F5A42E5858D
  $00007F5A42E77F61
  $00007F5A430DEBB6
  $00007F5A4316046F
  $00007F5A431258FE
  $00007F5A4315EF2C
  $00007F5A4323431B
  $000000000655BAE0

 

testeNFe-fantastsoft.zip ACBrLibNFE-20231122-windows.log ACBrLibNFE-20231122-linux.log

11 minutos atrás, Daniel InfoCotidiano disse:

Boa noite
qdo puder me mande um print da sua estrutura de pasta, onde tem q ficar cada arquivo, so preciso destes 3 arquivos?
onde fica a lib .so, etc.
Pois tudo em uma pasta só nem chega executar aqui.
Grato
 

Coloque as bibliotecas na pasta do projeto mesmo. Descompacte os arquivos para a pasta que quiser e execute os comandos para instalar o node dentro dessa pasta.

  • Curtir 2
945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado

Segue testes com a biblioteca 0.4.6.256. Arquivos de log em anexo.

Saída terminal Windows:

Biblioteca: ACBrLibNFE - Versão: 0.4.6.256
Erro: Error: ACBrNFE - (-10) Erro ao obter certificados: Erro ao ler informações do Certificado.
Provavelmente a senha está errada

Saída terminal Linux:

Biblioteca: ACBrLibNFE - Versão: 0.4.6.256
Certificado: 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia, OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5

This binary has no thread support compiled in.
Recompile the application with a thread-driver in the program uses clause before other units using thread.
Runtime error 232 at $00007F23A9057DCD
  $00007F23A9057DCD
  $00007F23A9077C31
  $00007F23A92E65E6

 

ACBrLibNFE-20231122-linux.log ACBrLibNFE-20231122-windows.log

  • Curtir 1
945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado

Segue testes com a biblioteca 0.4.6.256 MT. Arquivos de log em anexo.

Saída terminal Windows:

Biblioteca: ACBrLibNFE - Versão: 0.4.6.256
Erro: Error: ACBrNFE - (-10) Erro ao obter certificados: Erro ao ler informações do Certificado.
Provavelmente a senha está errada

Saída terminal Linux:

Biblioteca: ACBrLibNFE - Versão: 0.4.6.256
Certificado: 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia, OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5

Falha de segmentação

 

ACBrLibNFE-20231122-linux-mt.log ACBrLibNFE-20231122-windows-mt.log

  • Curtir 1
945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado

O que posso estar fazendo de errado no Windows que utilizando a biblioteca 0.4.6.208 o certificado é lido e na versão 0.4.6.256 não lê?

Estou utilizando as dll da pasta dep do ACBrLib dentro da pasta do meu projeto.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Consultores
Postado

@Endrigo Rodrigues Boa tarde !

a senha é criptografada, se observar nos exemplos q te mandei vai ver como é alimentado:

// define path ini
var eArqConfig = path.resolve(
  __dirname,
  'tmp',
  'acbrlib.ini',
);

//define chave criptografia: empty = criptografia padrao // pode ser por isso q a senha esta invalida
var eChaveCrypt = '';
//

 inicio = libm.NFE_Inicializar(eArqConfig, eChaveCrypt);
  console.log(`iniciou >>>>>>> ${inicio}`);

  inicio = libm.NFE_ConfigGravarValor('DFe', 'ArquivoPFX',  path.resolve(__dirname, 'tmp'   , ''    ,'certificado.pfx'));
  inicio = libm.NFE_ConfigGravarValor('DFe', 'Senha', '123456');
  inicio = libm.NFE_ConfigGravarValor('NFe', 'PathSchemas', path.resolve(__dirname, 'assets', 'acbr', 'schemas'));
  console.log(`Configurando Certificado ${inicio}`);

O correto é nos concentrarmos apenas na ultima versão da Lib, pois é a ultima q foi testada com sucesso com Linux, MultiTread com o Java.

Eu tentei seguir os passos executo os comandos..  mas não rodou aqui. como não desenvolvo em Node.JS, infelizmente não consegui testar, vou mandar um print do erro:

image.png

Node Version v20.10.0

 

 

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado
1 hora atrás, Daniel InfoCotidiano disse:

@Endrigo Rodrigues Boa tarde !

a senha é criptografada, se observar nos exemplos q te mandei vai ver como é alimentado:

// define path ini
var eArqConfig = path.resolve(
  __dirname,
  'tmp',
  'acbrlib.ini',
);

//define chave criptografia: empty = criptografia padrao // pode ser por isso q a senha esta invalida
var eChaveCrypt = '';
//

 inicio = libm.NFE_Inicializar(eArqConfig, eChaveCrypt);
  console.log(`iniciou >>>>>>> ${inicio}`);

  inicio = libm.NFE_ConfigGravarValor('DFe', 'ArquivoPFX',  path.resolve(__dirname, 'tmp'   , ''    ,'certificado.pfx'));
  inicio = libm.NFE_ConfigGravarValor('DFe', 'Senha', '123456');
  inicio = libm.NFE_ConfigGravarValor('NFe', 'PathSchemas', path.resolve(__dirname, 'assets', 'acbr', 'schemas'));
  console.log(`Configurando Certificado ${inicio}`);

O correto é nos concentrarmos apenas na ultima versão da Lib, pois é a ultima q foi testada com sucesso com Linux, MultiTread com o Java.

Eu tentei seguir os passos executo os comandos..  mas não rodou aqui. como não desenvolvo em Node.JS, infelizmente não consegui testar, vou mandar um print do erro:

image.png

Node Version v20.10.0

 

 

Boa tarde @Daniel InfoCotidiano.

Faltou instalar o moment.

npm i moment @types/moment

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado

E sobre a senha ser criptografada, sim, eu me atentei a essa observação por isso no fonte no arquivo testeNFe.ts tem o:

nfeApi.configGravarValor('DFe', 'Senha', '********');

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado
39 minutos atrás, Daniel InfoCotidiano disse:

@Endrigo Rodrigues
Estamos realizando testes aqui e gerou o arquivo log.
Analise o codigo tem algumas modificacoes.
Teste com este arquivo que estou te enviando.


acbrNFe.ts 28.11 kB · 0 downloads

Obtive esse retorno:

Criando pasta /home/endrigo/node/testeNFe/logs/acbr
Biblioteca: ACBrLibNFE - Versão: 0.4.6.256
Certificado: 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia, OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5

Tamanho do buffer 4096
0
1
2
03
Falha de segmentação (imagem do núcleo gravada)

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado

Utilizando o pacote segfault-handler para exibir o processo que gerou o Segmentation fault (core dumped):

Biblioteca: ACBrLibNFE - Versão: 0.4.6.256
Certificado: 611123012641C28E|FANTASTSOFT SISTEMAS LTDA|00843106000157|27/01/2024|AC SOLUTI Multipla v5|C=BR, O=ICP-Brasil, ST=MG, L=Contagem, OU=AC SOLUTI Multipla v5, OU=34015104000191, OU=Videoconferencia, OU=Certificado PJ A1, CN=FANTASTSOFT SISTEMAS LTDA:00843106000157|C=BR, O=ICP-Brasil, OU=AC SOLUTI v5, CN=AC SOLUTI Multipla v5

Tamanho do buffer 4096
0
1
2
03
PID 4905 received SIGSEGV for address: 0x18
/home/endrigo/node/testeNFe/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x372d)[0x7f3f4689372d]
/lib/x86_64-linux-gnu/libc.so.6(+0x3c460)[0x7f3f4623c460]
/lib/x86_64-linux-gnu/libc.so.6(__pthread_rwlock_wrlock+0x16)[0x7f3f46295a86]
node(CRYPTO_THREAD_write_lock+0x9)[0x1bbc189]
node(ossl_x509v3_cache_extensions+0x4c)[0x1c3292c]
node(X509_get_extension_flags+0x11)[0x1c33771]
/usr/local/lib/libssl.so(+0x6c5ff)[0x7f3f1c56e5ff]
/usr/local/lib/libssl.so(SSL_CTX_use_certificate+0x2a)[0x7f3f1c5463aa]
./libacbrnfe64.so(+0x50c612)[0x7f3f1ed0c612]
Falha de segmentação (imagem do núcleo gravada)

 

Para instalar no seu basta executar na pasta de teste:

npm i segfault-handler

 

E no arquivo testeNFe.ts adicionar após o último import (que é o import os from 'os':

import { registerHandler } from 'segfault-handler';

registerHandler('./logs/segfault.log');

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Consultores
Postado

@Endrigo Rodrigues
Bom dia !
Como não desenvolvo na sua linguagem, não tenho propriedade para afirmar o que esta correto ou não.
Observe q ele devolveu os dados do certificado, significa q a senha está valida.
Olhando outros exemplos Node.Js em MT iguais q te mandei o ponteiro é feito de outra forma, pode ser q o resultado seja o mesmo, mas não posso afirmar.
Em Java os testes foram como esperado.
Você chegou verificar a forma que o exemplo reportado com sucesso em note trabalha com ponteiros para comparar com o seu ou apenas afim de teste mesmo?

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado
10 minutos atrás, Daniel InfoCotidiano disse:

@Endrigo Rodrigues
Bom dia !
Como não desenvolvo na sua linguagem, não tenho propriedade para afirmar o que esta correto ou não.
Observe q ele devolveu os dados do certificado, significa q a senha está valida.
Olhando outros exemplos Node.Js em MT iguais q te mandei o ponteiro é feito de outra forma, pode ser q o resultado seja o mesmo, mas não posso afirmar.
Em Java os testes foram como esperado.
Você chegou verificar a forma que o exemplo reportado com sucesso em note trabalha com ponteiros para comparar com o seu ou apenas afim de teste mesmo?

 

Bom dia @Daniel InfoCotidiano.

Vou fazer um exemplo usando exatamente as mesmas declarações e processos do exemplo.

  • Curtir 1
945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado
1 hora atrás, Daniel InfoCotidiano disse:

@Endrigo Rodrigues
Bom dia !
Como não desenvolvo na sua linguagem, não tenho propriedade para afirmar o que esta correto ou não.
Observe q ele devolveu os dados do certificado, significa q a senha está valida.
Olhando outros exemplos Node.Js em MT iguais q te mandei o ponteiro é feito de outra forma, pode ser q o resultado seja o mesmo, mas não posso afirmar.
Em Java os testes foram como esperado.
Você chegou verificar a forma que o exemplo reportado com sucesso em note trabalha com ponteiros para comparar com o seu ou apenas afim de teste mesmo?

 

Utilizei o exemplo, e mesmo assim acontece o erro. Inseri a função StatusServico respeitando a mesma forma de declaração dos parâmetros e executei ObterCertificado e StatusServico.

Li que Segmentation fault pode ser tentativa de atribuir valor a um ponteiro não inicializado ou com tamanho incompatível ao que está tentando atribuir.

versão >>>>>>> 0
Nome >>>>>>> 0
DFe.ArquivoPFX >>>>>>> 0
DFe.Senha >>>>>>> 0
DFe.SSLCryptLib >>>>>>> 0
DFe.SSLHttpLib >>>>>>> 0
DFe.SSLXmlSignLib >>>>>>> 0
DFe.UF >>>>>>> 0
NFe.Ambiente >>>>>>> 0
NFe.PathSchemas >>>>>>> 0

Nome: ACBrLibNF
Versão: 0.4.6.256
ObterCertificados >>>>>>> 0
Certificados: 6111230126
Segmentation fault

 

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Membros Pro
Postado

Agora obtive retorno:

versão >>>>>>> 0
Nome >>>>>>> 0
DFe.ArquivoPFX >>>>>>> 0
DFe.Senha >>>>>>> 0
DFe.SSLCryptLib >>>>>>> 0
DFe.SSLHttpLib >>>>>>> 0
DFe.SSLXmlSignLib >>>>>>> 0
DFe.UF >>>>>>> 0
NFe.Ambiente >>>>>>> 0
NFe.PathSchemas >>>>>>> 0

Nome: ACBrLibNF
Versão: 0.4.6.256
ObterCertificados >>>>>>> 0
Certificados: 6111230126
StatusServico >>>>>>> -10
Status Serviço: WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
Erro Interno: -2
Erro HTTP: 500
URL: https://nfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4
error:140AB18E:SSL routines:func(171):reason(398)

finalizar >>>>>>>> 0

 

Parece que quando consulta e retorna sucesso acontece o Segmentation fault quando retorna algum problema não acontece o erro.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Consultores
Postado
1 hora atrás, Endrigo Rodrigues disse:
error:140AB18E:SSL routines:func(171):reason(398)

Esse erro pode estar relacionado a versão de OpenSSL.

 

1 hora atrás, Endrigo Rodrigues disse:

Parece que quando consulta e retorna sucesso acontece o Segmentation fault quando retorna algum problema não acontece o erro.

Nas classes em C# e Java, existe uma espécie de "Salva Guarda" onde ao tentar ler o buffer da resposta, compara o tamanho dele com o tamanho que você alocou.

Se o buffer de resposta for maior, ela aumenta o tamanho que foi alocado para o buffer em 30%.

Tente implementar algo do gênero em sua aplicação para descartarmos esta possibilidade:

1 hora atrás, Endrigo Rodrigues disse:

ou com tamanho incompatível ao que está tentando atribuir.

 

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

  • Membros Pro
Postado (editado)
1 hora atrás, Diego Foliene disse:

Esse erro pode estar relacionado a versão de OpenSSL.

 

Nas classes em C# e Java, existe uma espécie de "Salva Guarda" onde ao tentar ler o buffer da resposta, compara o tamanho dele com o tamanho que você alocou.

Se o buffer de resposta for maior, ela aumenta o tamanho que foi alocado para o buffer em 30%.

Tente implementar algo do gênero em sua aplicação para descartarmos esta possibilidade:

 

OpenSSL 1.1.1q  5 jul 2022

Mas essa questão do buffer está acontecendo dentro da biblioteca, não acontece na minha aplicação. O buffer já instanciei o mesmo até com 4096 bytes.

E veja bem, se fosse o buffer que envio, por que funciona para mensagem de erro do webservice e não funciona para mensagem de sucesso?

Editado por Endrigo Rodrigues
945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Consultores
Postado
6 minutos atrás, Endrigo Rodrigues disse:

OpenSSL 1.1.1q  5 jul 2022

Mas essa questão do buffer está acontecendo dentro da biblioteca, não acontece na minha aplicação. O buffer já instanciei o mesmo até com 4096 bytes.

E veja bem, se fosse o buffer que envio, por que funciona para mensagem de erro do webservice e não funciona para mensagem de sucesso?

O tamanho do buffer pode ser diferente para a mensagem de erro e para a mensagem de sucesso.

 

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

  • Membros Pro
Postado
3 minutos atrás, Diego Foliene disse:

O tamanho do buffer pode ser diferente para a mensagem de erro e para a mensagem de sucesso.

 

Mas veja bem, mesmo que seja menor. A biblioteca só pode salvar no buffer o tamanho que foi passado no parâmetro.

Não sei se está me entendendo.

Veja no log em anexo que quando tem sucesso na consulta, a lib trava, não continua o processo interno dela e finaliza minha aplicação.

ACBrLibNFE-20231124.log

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Cabo Frio/RJ

 

  • Consultores
Postado
1 hora atrás, Endrigo Rodrigues disse:

Já passei tamanho de buffer até de 10000 e mesmo assim.

Entendi.

Vamos continuar analisando.

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

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