How to understand and solve EXCEPTION_ACCESS_VIOLATION in jni using javafxpackager and x86_64 windows exe?

0

I am develop setup packager for java application used rhvoice speech synthesizer, which not need administrator's privilege on windows (so i can't use sapi version).

To solve it i am used andoid jni code with formal minimal fixes and all works well on both architectures x86 and x86_64, when java application executed using java.exe from jar files.

But, when i make windows exe application using javafxpackager or for example packr (they are used jvm.dll to work), x86 version work well but x86_64 stops with java EXCEPTION_ACCESS_VIOLATION:

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff83fa36b2d, pid=110316, tid=0x0000000000019f60
#
# JRE version: OpenJDK Runtime Environment (8.0_201-b09) (build 1.8.0_201-1-ojdkbuild-b09)
# Java VM: OpenJDK 64-Bit Server VM (25.201-b09 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [RHVoice.64.dll+0x6b2d]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
...
Stack: [0x000000dd61600000,0x000000dd61ad0000],  sp=0x000000dd61acf030,  free space=4924k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [RHVoice.64.dll+0x6b2d]
C  0x000002990001962e

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.github.olga_yakovleva.rhvoice.TTSEngine.doGetVoices()[Lcom/github/olga_yakovleva/rhvoice/VoiceInfo;+0
j  com.github.olga_yakovleva.rhvoice.TTSEngine.getVoices()Ljava/util/List;+1
j  com.github.olga_yakovleva.rhvoice.Test.go()V+17
j  com.github.olga_yakovleva.rhvoice.Test.main([Ljava/lang/String;)V+34
v  ~StubRoutines::call_stub

Some years ago in 2014-2015 this method worked without error on windows 7 and 8 on both architectures, but old build does not work well on windows 10 and was recompiled using Visual Studio 2017.

How i can detect a reason such error exception. How i can setup debug environment to research this.

When i am changing version of java (oracle or unofical windows builds openjdk), compiler (vs2015/2017) or build environment operating system (win7 or win10) the problem has come sometimes on x86 version packager and exception address changed between inside rhvoice library or java.

java
java-native-interface
x86-64
access-violation
asked on Stack Overflow Feb 27, 2019 by rPman

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0