JRELoadError

Peter J Slack pslack at wavedna.com
Sat Jan 31 16:45:29 UTC 2015


The Mac version JRE 1.6 uses different symbols than 1.7 and 1.8 for the 2
key functions used by a launcher to load and run JVM

in order to remedy this I've searched both symbols in case one fails when
launching a JVM in my own launcher

Launchers have to load the library into memory and then wrap 2 key
functions.  Apple names these functions differently

here's a code snippet in C illustrating how I've adapted setting up to
launch the JVM by loading in memory, if the Apple naming fails I revert to
openjdk naming

//first see if the apple naming is active
WRAPPED_JNI_CreateJavaVM my_JNI_CreateJavaVM = (WRAPPED_JNI_CreateJavaVM)
dlsym(handle,"JNI_CreateJavaVM_Impl");

//we need to try the possibility that this is not Apple JVM where they
mangle the names by appending _impl
        if(my_JNI_CreateJavaVM == NULL){

               //this is the case for openjdk 1.7 + where they use the
traditional symbols in jvm.dll
my_JNI_CreateJavaVM = (WRAPPED_JNI_CreateJavaVM)
dlsym(handle,"JNI_CreateJavaVM");

}

WRAPPED_JNI_GetCreatedJavaVMs my_JNI_GetCreatedJavaVMs =
(WRAPPED_JNI_GetCreatedJavaVMs)dlsym(handle,"JNI_GetCreatedJavaVMs_Impl");

if(my_JNI_GetCreatedJavaVMs == NULL){
my_JNI_GetCreatedJavaVMs =
(WRAPPED_JNI_GetCreatedJavaVMs)dlsym(handle,"JNI_GetCreatedJavaVMs");
}









On Fri, Jan 30, 2015 at 8:43 PM, Michael Hall <mik3hall at gmail.com> wrote:

> On Jan 30, 2015, at 4:00 PM, Emmanuel Puybaret <puybaret at eteks.com> wrote:
>
> > Hi,
> >
> > I developed a sandboxed version of Sweet Home 3D that comes with its own
> copy of JRE 7.
> > Miserably, a few users reported recently that they got a "JRELoadError"
> when they launch the application.
> > I tried to update from JRE 7u72 to JRE 7u76, tried to replace
> JavaAppLauncher by the launcher generated by javafxpackager,  and also
> tried to replace the JRE 7 copy by a JRE 8 copy, but these users reported
> to me it didn't fix this issue.
> >
> > Would have any of you encounter this problem and/or have an idea how to
> fix it?
>
> A number of apps seem to have had the issue if you search on the subject
> error.
> This post….
>
>
> http://jedit.9.x6.nabble.com/jEdit-users-JRELoadError-launching-jEdit-5-2pre1-after-mavericks-upgrade-but-no-java-version-or-JAVAe-td5005300.html
>
> had a lot of mail list noise but ended up with some valid enough
> suggestions as to what the possible conflicts might be.
> Use of JAVA_HOME
> conflicting with the browser installed JRE version
> some sort of embedded symlink back to an apple JRE
> the possibilities that I remember.
> It suggested a work around of using a 3rd party package for running an app
> configuration that would work with both Apple and Oracle JRE’s.
> There might be some information of use to you in that one. There were a
> number of apps that appeared to have the issue.
>
> Michael Hall
>
> trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz
>
> HalfPipe Java 6/7 shell app
> http://www195.pair.com/mik3hall/index.html#halfpipe
>
> AppConverter convert Apple jvm to openjdk apps
> http://www195.pair.com/mik3hall/index.html#appconverter
>
>
>
>
>


-- 
Senior Software Developer / IT Administrator
Work:  (416) 466-9283
Fax  :  (866)  855-2605

<http://www.wavedna.com/>
   <https://www.facebook.com/waveDNA>  <http://www.twitter.com/wavedna>
<http://www.youtube.com/wavedna>  <http://www.soundcloud.com/wavedna>
<https://plus.google.com/+Wavedna/posts>  <http://instagram.com/wavedna>
<http://www.linkedin.com/company/wavedna>


More information about the macosx-port-dev mailing list