AnsweredAssumed Answered

FileMaker 12 Web Publishing Engine (Tomcat) Does Not Work with Java 7 Update 55

Question asked by scott777 on May 16, 2014
Latest reply on May 19, 2014 by disabled_ntaylor

Summary

FileMaker 12 Web Publishing Engine (Tomcat) Does Not Work with Java 7 Update 55

Product

FileMaker Server

Version

12.0v5 Windows

Operating system version

Windows Server 2008 R2 SP 1  (ALL Versions affected)

Description of the issue

The Web Publishing Engine is using org.jacorb.orb.ORBSingleton from the jacorb.jar file on start-up.  Java 7 Update 55 has introduced an acknowledged bug with Oracle where this class is erroneously loaded by the system class loader. t

The bug can be found here:  http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8042462

Steps to reproduce the problem

Upgrade Java on the server to Update 55

Expected result

Web Publishing Engine should come up normally

Actual result

Web Publishing engines fails to come up properly.   After upgrading Java, the server is re-booted.  When logging into FMS Admin Console the status area shows Web Server = Enabled with a green check mark, the Database Server shows Enabled with a green check mark,  but the Web Publishing Engine has a red exclamation mark.  The web publishing engine is not up and running because when attempting the run the  PHP web test page it doesn't load.   This test worked prior to the Java Upgrade to 55.

Exact text of any error message(s) that appear

The FileMaker server log has the following entry but the Tomcat catalina.log below has the more pertinent error I believe.

FileMaker Server Log

Publishing Engine Access Error 0
127.0.0.1:49324 - - "/fmi/conf/config.wpc" 401 0


In the tomcat catalina.log

org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet JWPC threw exception
org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation org.jacorb.orb.ORBSingleton vmcid: 0x0 minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl_with_systemclassloader(Unknown Source)
at org.omg.CORBA.ORB.init(Unknown Source)
at com.filemaker.jwpc.fmwp.idl.RequestParamHelper.type(RequestParamHelper.java:18)
at com.filemaker.jwpc.fmwp.idl.RequestParamHelper.insert(RequestParamHelper.java:25)
at com.filemaker.jwpc.fmwp.WPEConnector.sendRecordCommand(WPEConnector.java:397)
at com.filemaker.jwpc.xml.request.XMLRequest.performRequest(XMLRequest.java:85)
at com.filemaker.jwpc.XMLCGIBase.processRequest(XMLCGIBase.java:241)
at com.filemaker.jwpc.XMLCGIBase.doPost(XMLCGIBase.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.filemaker.jwpc.http.JWPCFilter.doFilter(JWPCFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at com.filemaker.tomcat.FMErrorReportValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
... 29 more

Workaround

Unfortunately, the workaround that other people are doing which is to put the jar file in the \jre\lib\ext directory does not work for the web publishing tomcat engine with FileMaker.  It leads to more errors.

The only workaround seems to be going back to Java 7 Update 51

Outcomes