Strip Java out of Omnis RT

Doug Easterbrook doug at artsman.com
Sat Aug 9 09:41:32 EDT 2014


hi Marc:

its a good question  - we had very definite issues that have cleared up since we removed java from the runtime.


The symptoms of the issue.

If you include the xcomps that refer to java, whether you used them or not in your programming, Omnis will initialize the java run time engine. You'll see it manifested with a dialog when you first run omnis on a machine -- you'll get a message that says 'do you want to install java runtime'.   its an OSX based message that will then download and install a java runtime.   I don't know the version - but its the one from apple, as it is an OSX version.



The issue:

When omnis is running for a long time (in our case, it was for our web services), there is a heartbeat that checks up on the java.        We found that -- the java VM would do something unexpected
- the heartbeat in omnis could not get a response from the java VM
- this would hang omnis
- the symptom was spinning wheel and non-responsiveness  -or- sometimes we'd see a crash log and it was always the thread checking java within omnis that crashed and there was no recovery code in studio to deal with that situation.



Versions of OSX:   we saw this a lot on Mavericks (10.9) and to a lesser extent (10.8).    We rarely saw it on 10.6.8     Some versions of OSX crashed more than others and some clients more than others.

so let me be clear on that.    A specific client with OSX 10.9.x might crash daily.    A different client using the same version of OSX 10.9.x might crash once a week.   No rhyme or reason.      It led me to believe that the root cause was some underlying network difference, even though I'd specified static IP's on all the machines.



Clearing it up.  

I asked UK support how to get rid of the Java VM requirement.    They were great -- I had an answer in a day.  What I was told:

"You can remove the requirement for the Omnis JVM from Omnis by removing javaobjs, javacore and damjdbc from xcomp.
This should prevent Omnis from starting the JVM, since we start it on demand from a component."


I removed all 3 xcomps from the xcomp folder and we have seen a great improvement in the amount of time that omnis runs non-stop as a server on mavericks -- much much longer.  Since we removed them, I haven't been asked to look at any customer wit crashes in our web servers any more, so outages are measured in weeks or more instead of a single day.      I have to admit, we also put code in place to completely restart omnis once a week (i.e. before it might be expected to die from this java problem), so that could be helping give the illusion of long running.

However I do think that the restarting of omnis is overkill --- and that removing the java xcomps has been the true fix.




Finally -- I went as far as making sure java was not on the machine.   Customers liked to keep around old installers of Theatre Manager, and so I wanted to know if they got the message about installing java automatically -- so I googled  for removing java from OSX ...

basically remove everything from /Library/Java/JavaVirtualMachines   and restart your computer.


hope that helps.    it helped us.






> From: "Marc De Roover" <omnis1 at arcict.com>
> Subject: Strip Java out of Omnis RT
> Date: August 8, 2014 at 3:20:10 AM GMT-4
> To: "OmnisDev List - English" <omnisdev-en at lists.omnis-dev.com>
> Reply-To: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
> 
> Hi David,
> 
> Could you please elaborate on the issues you had with Java and O$ 5;
> 
> - OSX version abc ?	Windows xyz ?	Java version(s) ?
> 	kind of crashes
> 
> - How did you strip the Java out of the runtime ?
> 
> Thanks in advance,
> 
> 
> Marc
> 
> 


More information about the omnisdev-en mailing list