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á 492 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...