PowerBuilder component issues

If a PowerBuilder component causes EAServer to crash, the pointers provided for crash analysis may be helpful. If EAServer does not crash, insert debug statements into the PowerBuilder component.

Migrating PowerBuilder components When you migrate PowerBuilder components from EAServer 5.x to 6.0, the migration tool does not generate CORBA/Java stubs automatically. If stubs are required, you must generate and compile them manually:F

  1. rom the command line, run:

    idl-compiler.bat p_test.idl -f DJC_HOME\genfiles\java\src -java
    

    where DJC_HOME is the EAServer installation directory.

  2. Change to %DJC_HOME%\genfiles\java\src\p_test, and run:

    JDK_HOME\bin\javac -d DJC_HOME\genfiles\java\classes -classpath DJC_HOME\lib\eas-servr-14.jar;DJC_HOME\java\classes *.java
    

    where JDK_HOME is the JDK installation directory

Web DataWindow™ stability You may see stability issues or hanging behavior in the Web DataWindow component, in some pre-9 PowerBuilder versions. See white paper #1023707: Web DataWindow Stability Issue for details.

EAServer/PowerBuilder memory tuning See white paper #1027319: EAServer/PowerBuilder Memory Tuning and Troubleshooting.

PBOnFatalError variable The PBOnFatalError system environment variable allows you to specify whether EAServer should continue, restart, or shut down when an internal exception occurs in the PBVM. For more information, see “Unhandled PowerBuilder exceptions”.

PBRollbackOnRTError variable If a runtime exception is raised by a PowerBuilder component running in EAServer, the value of PBRollbackOnRTError determines the outcome of the transaction. If set to true, the transaction is rolled back; if set to false, the transaction is committed. After the transaction is either rolled back or committed, the exception is thrown back to the client.

The default behavior in PowerBuilder 8 prior to Build 10656 and in versions of PowerBuilder 9 prior to build 7151 is to commit the transaction.

Threading models on Sun Solaris Using a many-to-many threading model on Solaris may cause EAServer to hang or crash, if the server is highly stressed. Consider using a one-to-one threading model. See white paper #1026268: EAServer on Solaris - Troubleshooting Tip for Crashes or Hangs.

Performance guidelines If you have trouble running PowerBuilder components under a heavy load, see “PowerBuilder component performance” in Chapter 3, “Component Tuning,” in the EAServer Performance and Tuning Guide.

Code sets Use the following guidelines when deploying PowerBuilder clients or components to EAServer, and when troubleshooting issues related to code sets:

For more information about working with code sets, see white paper #1028793: Guidelines for Code Set Interoperability with PowerBuilder and EAServer.

Trace flags All EAServer trace flags are described in “EAServer tracing”.

Error handling See “PowerBuilder error handling”.