Jump to content

dev botao

NFS-e - Linux - exception class Segmentation fault (11) ao validar o schema


Go to solution Solved by Daniel InfoCotidiano,

Recommended Posts

  • Membros Pro

Estou enfrentando um problema na validação do schema da NFS-e no Linux.

A princípio parece o mesmo problema citado aqui:

Porém como o tópico foi criado a algum tempo, achei melhor abrir um novo tópico.

 

O erro de Segmentation fault acontece na TDFeSSLXmlSignLibXml2, na função TentaPegarMensagemErroDetalhada

function TDFeSSLXmlSignLibXml2.TentaPegarMensagemErroDetalhada(const MsgErroAtual: string): String;
var
  prtUltimoErroXml: xmlErrorPtr;
begin
  Result := '';
  prtUltimoErroXml := xmlGetLastError();
  if (prtUltimoErroXml <> nil) then
  begin
    Result := MsgErroAtual+ ' --> ' +
              IntToStr(prtUltimoErroXml^.code) + ' - ' + prtUltimoErroXml^.message;
  end
  else
    Result := MsgErroAtual;

end;

 

Porém no terminal, mostra a mensagem da validação da validação image.thumb.png.63d5059479239de51f7eaeb9e628ec5b.png

Se compilar no Windows, valida normalmente.

Anexo criei um exemplo onde o problema acontece.

 

Desde já agradeço.

 

SandBox.zip

Link to comment
Share on other sites

  • Membros Pro

Bom dia Daniel!

O path do schema está correto e eles estão atualizados.

Esse exemplo que mandei são dados aleatórios, não me preocupo em autorizar o documento e sim na validação do schema.

Se compilar o projeto que te enviei no Windows, ele vai retornar o erro de schema.

Porém o que eu preciso é no Linux, e quando executa pelo Linux, ele não retorna o erro da validação do schema e sim erro de Segmentation fault.

Como postei acima, o erro acontece na function TDFeSSLXmlSignLibXml2.TentaPegarMensagemErroDetalhada.

Se vc compilar o projeto anexo aqui, vai verificar que quando é pelo windows, ao emitir ele retorna erros, já pelo linux, como dá o erro de Segmentation fault, não retorna nada em erros ou alertas.

 

 

SandBox.zip

Link to comment
Share on other sites

  • Consultores
1 hora atrás, C4Dev disse:

Esse exemplo que mandei são dados aleatórios

mas o erro q estava dando é justamente por dados nao estarem corretos.
por isso q pedi p mudar a propriedade  AcbrNFSe.Configuracoes.Geral.LayoutNFSe := lnfsProvedor;
Na propriedade que estava dado erro no campo cTribNAC

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

Link to comment
Share on other sites

  • Membros Pro

Olá Daniel!

Entendo que o erro acontece porque os dados não estão corretos, mas o meu problema é que estes erros no Windows retornam para o usuário. Já no Linux está retornando com Access Violation.

Veja esse trecho do meu código:

image.thumb.png.c3e02da624ef5cb967304267c8875cb1.png

 

No Linux perceba que acontece um Access Violation

image.png.e10329b93dc158bee1a472e7df3bb98a.png

 

Já no Windows o erro retorna corretamente para o usuário:

image.png.71e61e14b84980d0137c2f4a2aec645d.png

 

Em resumo, meu problema não está na autorização do documento e sim no exception que acontece no Linux, impedindo que retorne o erro da validação para o usuário.

 

 

 

 

 

Link to comment
Share on other sites

  • Consultores

Agora entendi. em ambos tem a o problema da validação, mas vc esta tendo um av. no linux.
Este exemplo q vc anexou é o mesmo q testou ai ou vc mascarou os dados sensiveis?

Vou testar aqui novamente, pois nao lembro de av no meu teste apenas do cTribNAC
Ja reporto.

 

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

Link to comment
Share on other sites

  • Consultores
2 minutos atrás, C4Dev disse:

Sim, eu também estou usando a 1.1.1

Bom dia !
Mesmo com a 1.1.1 esta aparecendo a AV?
me responda tbm por favor qual LInux esta usando e se tem ambiente grafico por favor

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

Link to comment
Share on other sites

  • Membros Pro

Sim, mesmo com a 1.1.1 ocorre AV.

O Linux é o Ubuntu 20.04.6 LTS.

Não tem ambiente gráfico, só pelo terminal.

O que é estranho é que ele valida o schema e joga a mensagem no terminal:

image.png.ccfabad663f977579e071d114bdaac3d.png

Só que essa mensagem não retorna no componente porque dá o erro de access violation.

 

 

Link to comment
Share on other sites

  • Consultores
17 minutos atrás, C4Dev disse:

Não tem ambiente gráfico, só pelo terminal.

O que precisa se atentar é que dentro do Linux sem ambiente gráfico é necessário instalar algumas dependências.
E dentre elas o XVFB que é o virtual frame buffer. para que possa emular modo gráfico principalmente para dependências gráficas como fortes report.
Vou te mandar um link apesar de ser sobre acbrlib no LInux, a lib utiliza os mesmos componentes.
mas vc vai ver como instalar dependências e como testar XVFB se usar fortes.
Se vc utilizar FPDF nao precisa emular XVFB
Veja se tem acesso ao curso abaixo, caso tenha problema, favor reportar

https://acbr.nutror.com/curso/d484b944c7f91eb67c5e395df79d03f1e184fac5


 

  • Like 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

Link to comment
Share on other sites

  • Membros Pro

Tenho acesso ao curso, repassei todas as dependências e tudo está instalado 😟

Também não uso o Fortes, pois não gero nenhuma impressão.

No caminho normal, onde o documento não tem erro de schema, autoriza certinho.

 

Link to comment
Share on other sites

  • Consultores

Criado a TK-5628 para analise do caso.
Reportamos aqui assim q concluido.

 

13 minutos atrás, C4Dev disse:

Beleza, se precisar de algo que eu faça aqui para testar, só avisar.

Combinado !

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

Link to comment
Share on other sites

  • 2 weeks later...
  • Consultores
  • Solution

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

  • Like 2
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

Link to comment
Share on other sites

  • 3 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...