XMLFormService Terminates with Error Code {3} after Solaris 10 Update 10 is Installed

Issue

You are running Adobe LiveCycle 8.x, 9.x or 10.x on Solaris 10.  When you apply Update 10 to Solaris, forms will no longer convert properly through LiveCycle Output and you will see an error similar to the following in your application server log:

####<Jan 1, 2012 12:00:00 AM EST> <Error> <com.adobe.formServer.PA.XMLFormAgentWrapper> <t0q22k><ServerName> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>><BEA1-1DE0F90E6C7CBD70F8FA> <> <1326470773795> <BEA-000000> <ALC-OUT-002-004: Unable to findservice: XMLFormService, error: Connection to failed service.> 

####<Jan 1, 2012 12:00:01 AM EST> <Warning> <com.adobe.service.ProcessResource> <t0q22k> <ServerName><ProcessResource@17c112(name=XMLForm.exe,pid=0) Error Reader> <<anonymous>> <> <> <1326470775446><BEA-000000> <BMC024: Service XMLFormService: Process ProcessResource@17c112(name=XMLForm.exe,pid=0) terminated abnormally with error code {3}> 

There is an interaction issue between the compiler settings that Adobe uses to compile the XMLFormService and some additions that Oracle have made to Solaris to support GNU extensions to their ELF symbol versioning.  What this means is that Solaris no longer recognizes XMLFormService as a valid executable and will not run it.

Solution

The solution is to disable the runtime linker check by removing the DT_VERSYM entry from the objects dynamic section in libstdc++.so.6.

To do this, you should run the following command:

% elfedit -e 'dyn:delete versym' libstdc++.so.6 libstdc++.so.6-alt

Additional information

This resolution has been used successfully in the field, and was drawn from a post on the Oracle support forums.  You can view the original forum posting here: https://forums.oracle.com/forums/thread.jspa?threadID=2294952