Roads ? - where we're going, we don't need roads ...
FRM-92095: Oracle Jnitiator version too low - please install version 1.1.8.2 or higher | ORA600
ORA600 content Content RSS
Oracle ORA600 News RRSS Oracle News RSS
ORA600 blog Blog RSS
ORA600 blog Blog Atom

User login

FRM-92095: Oracle Jnitiator version too low - please install version 1.1.8.2 or higher

A customer of mine who deploys Oracle Forms 10g  on the wild wild web, ran into a little problem.
They don't have control over the java plugin being installed on the client machine and with the latest java 1.7 update
they encountered the following forms error :

FRM-92095: Oracle Jnitiator version too low - please install version 1.1.8.2 or higher

Doh - we're running java 1.7 - not Oracle's obscure Jnitiator.

This seems to be a know issue on metalink see 
FRM-92095 Error When Running Forms Using JRE 7 (JRE 1.7) [ID 1348436.1]
A bug has been filed Bug:11782681 APPS6: FORMS DO NOT LAUNCH WITH BETA JRE 1.7

There's no patch yet(not even for the latest 11g Forms). And because Forms 10.1.2.x permier support
ended in December 2011... God only knows there will be a back-port. So for now - we're on our own !

However ... why does the Forms applet thinks it is running on an Oracle Jnitiator ?
Can it be that Java's vendor system property changed from 'Sun Microsystems Inc' to 'Oracle Corporation' ?

A little test program will show :
import java.util.* ;

class test
{
public static void main(String args[])
{
System.out.println("java.version =" + System.getProperty("java.version") ) ;
       System.out.println("java.vendor =" + System.getProperty("java.vendor") ) ;
}
}

On java 1.6:
java test
java.version =1.6.0_30
java.vendor =Sun Microsystems Inc.
On java 1.7:
java.version =1.7.0_02
java.vendor =Oracle Corporation

This property string for Java 1.6 and below is 'Sun Microsystems Inc' - starting from 1.7 it is 'Oracle Corporation'.
Oracle Jnitiator also used the vendor string 'Oracle Corporation'.
So - Forms now thinks it is running on an old jnitiator instead of the latest java 1.7 plugin.

I used a bootstrapper applet which sets the vendor property back to 'Sun Microsystems inc' like this :
- System.setProperty("java.vendor", "Sun Microsystems Inc.") ;
Then the applet(stub) loads Oracle Forms' main engine class.
- Class oforms = Class.forName("oracle.forms.engine.Main");
- init and start the Forms applet

I can't share the code nor class as the IP belongs to my employer but this fixed the problem and we can now run Forms on Java 1.7 !
The great part of this is - we don't touch the original frmall.jar, which is important if 3000 end users need a new jar downloaded over limited bandwidth ! 
Then, I went into a creative overdrive :-) 
In the spirit of the 80's and 90's atari and amiga demo scene I added an intro with plasma effect. 
Update - see also a very elegant workaround by Didier Marcelis in the comments (add -Djava.vendor="Sun Microsystems Inc.")
Update - if you are interested in the Forms bootstrapper (without plasma intro) - send me a mail.
Check out the flash screen capture I've made of the application loading :-)))
http://www.ora600.be/forms_java7swf.swf 
Update - it looks like there is a patch for forms 10g (bundle patch 10.1.2.3.2) that will solve the problem !
The patch number is 14825718 - and can be downloaded here.
One of the fixed bugs is 
#  11782681 - APPS6  FORMS DO NOT LAUNCH WITH BETA JRE 1.7
I have not yet installed and tested it - so if someone has - please leave a comment !

Technorati Tags:

Hacked jarfile

I was able to modify the jar file.   I changed Oracle to Oxacle, a one letter change.    I signed the jar file under my own name, and it all works.

Unfortunately the browser brings up a very scary warning that says Publisher Unkown, then gives the option to "Always trust content from this publisher".    I can't encourage my users to click that.   I assume it means that all "UNKNOWN" publishers would be henceforth trusted.  

I would like a copy of the code that wraps the java application.   I know less than zero about writing an running any java program, so the descriptions don't help me.   I sent an request to the support email that OP suggested, but have not seen any response yet.

Contact me at

    bobtreu

    at gmail dot com

  Thanks in advance for any help!

 

 

Hacked jarfile

Hi,

 

We stopped supporting the java wrapper as Oracle released a patch for forms 10.1.2.3 that fixes the issue.

See also here : http://www.ora600.be/FRM-92095%3A+Oracle+Jnitiator+version+too+low+-+please+install+version+1.1.8.2+or+higher+patch 

The problem you describe (the message 'Publisher unknown' is because you signed your jarfile with a self signed codesigning certificate. To avoid this you must buy a java code signing certificate from a trusted certificate authority (for example here) - or if you have control over the client pc's, you could easely create your own certificate authority using openssl, generate a code signing certificate, sign the jar and distribute your root certificate to your clients. 

 

kind regards,

Kurt 

 

 

Bootstrap

Hi - I have the bootstrap applet working, for the most part. The only issue is that it is starting in a separateFrame (which is what I want), but it's really tiny (i.e. a title bar big enough for the title bar buttons). It's ignoring the width and height that are in the OBJECT tag. Is there any way for the bootstrap applet to start the Oracle Forms applet with a particular width and height? Thanks, Mark

bootstrap

Another approach I thought about later on - It should be possible to subclass the Forms Main class and then override the init method.

In the init method you would then set the necessary system properties and then call the init method of the superclass.

This way all other applet methods are inherited - which is much cleaner and less of a hassle.

The only thing I'm not sure about is - is the property set early enough in the codepath so that Forms picks it up ...

 

hope this all helps !

cheers,

Kurt 

bootstrap

Hi,

 

I reckon you are not using my bootstrapper but wrote your own based on the info given below ?

If so - be sure to implement all applet methods (start/stop/init/destroy but also paint and appletresize)and call the same formsapplet methods. For example :

public void start() 

{

   System.out.println("Start forms") ;

   formsapplet.start() ;

}

public void paint(Graphics g) 

{

   formsapplet.paint(g) ;

public void appletResize( int width, int height )

{

   System.out.println("Resize forms") ;

   resize( width, height );

   formsapplet.resize( width, height) ;

}

 

I also used a gridlayout to place the forms applet into :

setLayout( new GridLayout(1,0));

add(formsapplet); 

 

Using this approach I have no issues with height and width parameters. 

With the help of your

With the help of your comments and those of somebody on the Java Programming Forum, I've managed to get the bootstrapper working correctly.  It's probably far from perfect, and will make an experienced Java programmer cringe, but it's working!

 Thanks for your help!

Mark

 

Some additional info -

Some additional info -

 Oracle Forms applet is only tiny on first visit of the session.  If I refresh the page, the Forms applet is the correct size.

 

Not exactly user friendly...

 

Thanks for any insight,


Mark

SSL Errors

Does anyone have this workaround working with SSL?

I am getting FRM-92120 Registry.dat errors. When trying to use a modified frmsall.jar file. I've also experimented with enabling SSLv2 in Java or trying to use only SSLv3, but not success.

Thanks.

re : SSL Errors

One of our clients use this (bootstrapper) over SSL.

However, the SSL is terminated at the reverse proxy and not at the forms server.

 

 

SSL Errors

Thanks for the prompt reply!

If the reverse proxy is similar to how one of our clients is setup, then they have the SSL cert loaded on the proxy. Since the proxy is handling SSL communication, the application server is only uses HTTP and the issue doesn't occur.

I'm getting errors since I have the cert loaded in the Oracle Wallet. The problems - or at last some of them - seems to be due to the SSL 2.0 ClientHello handshake. Enabling the SSL 2.0 ClientHello in Java 7 doesn't seem to help. I'm currently trying to disable SSL 2.0 in the application server.

SSL Java7

I think the problem might be the fact that java7/applet/ssl does not trust/support server certificates (the one in your oracle wallet or the one on the reverse proxy) to be based on MD2 or MD5 algorithms. 

For example, iOS and google chrome also do not support server certs based on MD2/MD5 anymore.

This is only recent - someone hacked a CA - i believe in holland - that used md5 for it's root certs.

Root certs with MD5/2 are still allowed (otherwise lot's of CA would have an issue :-) ) but not server certs ! 

So check your server cert (browse to the url - open the server cert - check properties - if it uses MD2/MD5, request a new one that uses SHA)

 

see also here : 

https://forums.oracle.com/forums/thread.jspa?messageID=10413489 

http://forums.aurigma.com/yaf_postst5185_Problem-with-new-Certificates.aspx

 

SSL Java 7

Thanks for the information, but it looks like I just needed to install a CPU patch to my test area. SSL is now working properly.

Thanks!

SSL error on Forms 10g using Java 1.7 - Resolved

Great Forum !!

The errors with SSL on Java 1.7 may be resolved adding java command settings "-Djsse.enableSNIExtension=false" on the Java runtime parameters for Update 17 or earlier, or on JAVA_TOOL_OPTIONS environment variable when using update 21.

Cool

Cool stuff !

Thanks ! 

asking for jar files

Guys,

 

I see a lot of requests for sending jar files - please note that frmall.jar is specific for a certain version! If someone hacks a 9.0.4 jar, you can't use it on a 10.1.2 installation !

Anyway - if you want to use our bootstrapper for forms, you can mail the company I work for at support@axi.be.

 

 

cheers,

kurt 

 

Override java.version parameter in java control panel

Hi,

I tried succefully another simple solution,

add a java runtime parameter for overriding the system java.version parameter like this:

- open java control panel

- go to on tab 'java', click 'view'

- add -Djava.vendor="Sun Microsystems Inc."

or something else but not 'Oracle Corporation' or 'MICROSOFT'

 

Best regards

Didier 

Workaround with java 7 Upd 21 !!!!

The workaround

 

-Djava.vendor="Sun Microsystems Inc."

 

will not work with the new update 21 of Java 7!

there is the well-known error FRM-92095 Oracle Jinitiator version to low.....

 

 

Does anyone have this behavior?

Re:Workaround with java 7 Upd 21

Hi,

I also had the same problem - the FRM-92095 error returned with Java 7 Update 21, but only on Window 7 clients (XP still worked OK).

However, after some panicy web searches, I found the answer - you override the system property via the JAVA_TOOL_OPTIONS environment variable now, apparently.

I created the system environment variable JAVA_TOOL_OPTIONS with this value :-

-Djava.vendor="New Oracle" 

and my Forms 10g code worked again :)

Credit to the StackOverflow web site, where I found this solution; the specific URL was http://stackoverflow.com/questions/12577437/how-to-set-a-java-system-property-so-that-it-is-effective-whenever-i-start-jvm-w

Hope that that helps Alfred and anyone else who hits this.

Regards,

Keith Greenberg 

Re:Workaround with java 7 Upd 21

Thanks for the JAVA_TOOL_OPTION wotkaround , you really saved me.

I am using IE 10.0 and windows 7 PRO.

Its works... Thank you thank you 

Thanks a ton

It worked immediately. Great that you found a easy way out of this problem. 

Thank you.  This worked

Thank you.  This worked for me !

 

Java 7 fix

Thanks !!  This worked for me perfectly.    

I used JAVA_TOOL_OPTIONS Value: -Djava.vendor="OracleJava7Fix" just so someone could tell why the vendor is changed. 

Why does Oracle keep sending out new releases that don't fix this self-created problem?   All they would have to do is to slightly change the Vendor name, like "Oracle Corporation 2013"  and no one would have any problem.     Just arrogance I think.  Its great that we have the internet and google so we can find and verify fixes.

 

 

 

wow....Thanks Keith it

wow....Thanks Keith it works ;-)

Alfred

Re:Workaround with java 7 Upd 21

Thanks Keith !!!

re: Workaround with java 7 Upd 21 !!!!

I am unaware of this - however, there is a patch for forms 10.1.2.3 that fixes the jpi 1.7 issue: 

#  11782681 - APPS6  FORMS DO NOT LAUNCH WITH BETA JRE 1.7

 

I'll update my jpi and see if my bootstrapper stills works (which I think will) :-) 

This worked for me Didier.

This worked for me Didier.  Excellent and simple!  Thanks.

i tired all this still the

i tired all this still the error shows.. need help :(i have java 1.7 plus i dnt understand most of this stuff so please make it simple for me ..! 

i tired all this still the

I've heard that setting the vendor string in the controlpanel in combination with firefox does not work ... so do you use firefox ?

Didier, very elegent

Didier, very elegent solution, saved a ton of time, thanks

works on Ubuntu

grateful, solution works on ubuntu linux also

Great Work Around, Didier

Thanks Didier. Your work around does it perfectly for me!

Didier, thanks for this

Didier, thanks for this solution.  Works great!

 Hans

RE: Override java.version parameter in java control panel

Way cool solution !

(does require end user interaction)

errata, read java.vendor in place of java.version

re-post, correction, read java.vendor in place of java.version ;-)

Will something similar

Will something similar happen to Reports Service as well?

No

We're talking java 1.7 on the client side - as far as I know, Reports doesn't use a java applet on the client...

Discoverer on the other hand might have a similar problem on the client - but I haven't checked. 

Hi, i have the same problem

Hi, i have the same problem with forms 9.0.4, I'd like to try your solution but I don't understand how to call the bootstrap applet instead the default oracle applet, can you explain the whole process

 

Thanks

Giorgio 

re Hi, i have the same problem

The following link explains how you  launch an applet (forms) from another applet (bootstrap).

http://www.java-tips.org/java-se-tips/java.applet/have-an-applet-launch-another-applet.html

 All you need to do is set the java vendor system property  to sun microsystems before you launch forms ...

 

Thank you for the

Thank you for the explanation,

I've also tried the "not elegant" solution and I modified the class with an hex editor and it worked fine, if someone needs it I can send the modified jar.

 

Giorgio 

Hi Giorgio, Can you send

Hi Giorgio,

Can you send me the modified Jar file?

Hi Giorgio Plz send meg

Hi Giorgio

Plz send meg the jar file, to lako78@freemail.hu

Thx, Kronk 

Modifed Frmall.jar

Could you email me a copy as well?

Thanks.

Yes please give me ur email

Yes please give me ur email

frmall.jar modified to JRE 1.7.0

Hi Giorgio:

Can you send me the frmall.jar form form 10g modified for work with JRE 1.7.0.

 

Wich hexaedit use to modified the file?

What did you replace the text 'Oracle corporation' in the file?

 

Thanks,

Adriàn

modified jar

Hi

 Could you please send me the modified jar for testing purposes?

 

Thx!

frmall.jar

Hi Giorgio,

I'm trying  the 'not elegant' solution, because I meet same problems with Java 7.

Is the frmall.jar file on the client side (I don't find it there) or on the AS-server side ?

I found frmall.jar file one AS-server , but it does not work after modifying it !

Can you send me your frmall.jar , and where do I place it ?

 

Kind regards,

 

Guido

 

 

 

wow

ciao Giorgio

 

can you send me the jar file

 

thx fred

wow

ciao Giorgio

can you send me the jar File ?

thx fred

(bludy@gmx.de)

Re

Haha - cool - thanks for testing that one Laughing

Changing Oracle Corporation

Changing Oracle Corporation in the frmall.jar causes it to error..

can you send me a working jar file




Howto's
See DUDE primer for info

Get Support

Europe

Belgium :
Kurt Van Meerbeeck
ORA600 bvba
E-mail
dude@ora600.be
Cell : +32 495 580714

Denmark :
Michael Môller
Service & Support Manager
Miracle AS
E-mail :
hra@miracleas.dk
Cell: +45 53 74 71 27


North America

USA :
Tim Gorman
Evdbt Inc
E-mail
tim@evdbt.com
Cell : +1 303 885 4526

Canada :
Pythian
E-mail
dude@pythian.com
Contact


Latin America

Brazil :
HBtec
E-mail
dude@hbtec.com.br
Cell : +55 47 88497639
Contact


Africa

South Africa :
Kugendran Naidoo
NRG Consulting
E-mail
k@nrgc.co.za
Cell : +27 82 7799275


East Asia Pacific

Australia
Andre Araujo
Pythian Australia
E-mail
dude@pythian.com
Cell : +61 2 9191 7427 ext. 1270