Showing results for 
Search instead for 
Did you mean: 

difference between PA1.1 and PA2.0

sathis kumar
Frequent Advisor

difference between PA1.1 and PA2.0


We are migrating our application from Oracle 9i to Oracle10g on HP-UX 11.11 ( 64 bit ).

Process involved in compiling and testing our server :

-We create our ODBC library file using OCI libraries (9i/10g).
-Server executable is created using that ODBC library.
-We will run the server and check if the server is up and running fine.
-We will send a request from client (on HP-3000) to connect to server (on HP-9000).

The problem that we are facing now is : after making the 10g server up and running, when we send a request through client, the server process is getting killed with the error "Pid 29789 killed due to trashed stack. Pid 29789 was killed due to failure in writing he signal context".

The OCI libraries that we use for linking are of PA-RISC1.1 and PA-RISC2.0.
libclient10.a: archive file -PA-RISC1.1 relocatable library
libclntst10.a: archive file -PA-RISC2.0 relocatable library
libnavhoa.a: archive file -PA-RISC2.0 relocatable library
libnnz10.a: archive file -PA-RISC2.0 relocatable library

The above libraries present under /opt/oracle/product/10.2.0/lib32. This error might occur if there is any 32bit and 64bit libraries combination used. Could you please confirm if this kind of combination(PA-RISC1.1 and PA-RISC2.0) is the cause for the above error or it is not related?

With Oracle9i, we are not facing any problem and also the libraries are of PA-RISC1.1.

Thanks in advance.
Peter Godron
Honored Contributor

Re: difference between PA1.1 and PA2.0

have you patched with the 11.11 equivalent of:
which seems to be PHKL_27283, with recommended patch PHKL_28474 and most recent patch PHKL_34738

So I would install PHKL_28474 and retest.

Please also see:

sathis kumar
Frequent Advisor

Re: difference between PA1.1 and PA2.0

Hello Peter,

The patch PHKL_28474 is already been installed in our system. But the recent patch that you mentioned (PHKL_34738) is not installed on our system.

Thanks in advance.
rick jones
Honored Contributor

Re: difference between PA1.1 and PA2.0

PA 1.1 - 32-bit addressing (offset) only.
PA 2.0 - 32 or 64-bit addressing (offset).

One can mix _32-bit_ PA 1.1 and PA 2.0 - the resulting binary will only run on a PA 2.0 system, not a PA 1.1 system.

The tools (linker, loader, dynamic loader) will not permit one to mix 32-bit and 64 bit objects/libraries in the same running image (application).

I suspect that the mix of 1.1 and 2.0 is not related to your troubles. Likely as not you have exposed either a latent bug in your own code, or perhaps one in the Oracle libraries.

You might try running the server process under a debugger (eg wdb) and see just what signal it is receiving. Or, you could trace it with tusc. Perhaps it is receiving a SIGSEGV and things start to go downhill from there.

Big drift - _strictly_ speaking, PA 1.1 and PA 1.0 before it supported "64-bit virtual addressing" in that it had a 32-bit space id and 32-bit offsets. However, the only PA OS (IIRC) to take advantage of that was MPE/XL (later called MPE/iX). HP-UX used essentially a flat address space. PA 2.0 is _strictly_ speaking a 96-bit virtual addressing - the space id remains 32-bit, but the offset becomes 64-bit. However, since 99 times out of 10 we are just talking about the offset we say that PA 1.0 and 1.1 were "32-bit" and PA 2.0 "64-bit"

there is no rest for the wicked yet the virtuous have no pillows