[RESOLVIDO] Problema com BiometricTemplate

5 respostas
java-se
E

boa noite.
Gostaria de um auxilio.
Estou desenvolvendo um modulo de biometria em Java usando o SDK da Veridis.
Porem na hora de montar o Template da um erro fatal na maquina virtual java.

metodo onde monto o template

Se alguém puder me dar uma luz fico muito agradecido.

5 Respostas

S

Tem certeza de que essa DLL é de 64 bits?

Você está executando um Java de 64 bits, então a DLL também deveria ser.

Se a DLL for 32 bits, você terá que rodar um Java de 32 bits.

E

Tenho certeza.
Pois a leitora tmb depende da dll.
E isto esta funcionando.
A versão da dll é selecionada dinamicamente ao iniciar a aplicação.

S

A primeira mensagem diz que houve uma divisão por zero no código nativo: EXCEPTION_INT_DIVIDE_BY_ZERO

Você está utilizando JNI ou JNA?
Se for JNA, posta a assinatura dos métodos da DLL
E posta a assinatura dos métodos da sua interface

Qual o conteúdo do arquivo hs_err_pid8864.log?

Você disse que a versão da DLL é selecionada automagicamente pela sua aplicação, mas só a DLL é selecionada ou existe alguma classe Java sendo gerada dinamicamente através de Byte Code Instrumentation (BCI)?
Se estiver usando BCI, recomendo executar seu programa com o parâmetro -noverify do Java, já vi muitos InvalidStackFrames por causa disso.

Mas aquele EXCEPTION_INT_DIVIDE_BY_ZERO, me faz pensar que é a passagem de parâmetros que está errada ou o mapeamento para os tipos de dados dos parâmetros da DLL

E

Obrigado.
Resolvi o problema.
Era um dos atributos da BiometricImage que estava vazio.
o estranho é que não estava me dando erro no java de NullPoiterException.

S

Porque a exceção não ocorria no java e sim no código nativo, não sei em qual linguagem a DLL foi compilada, mas geralmente o null equivale à zero no código nativo

Que bom que identificou a causa do problema
:slight_smile:

Criado 30 de novembro de 2016
Ultima resposta 2 de dez. de 2016
Respostas 5
Participantes 2