02-17-2005 03:02 AM
I am pretty new to the HPUx topic and got the job to port a CORBA application from HPUx 11 to HPUx 11.11.
I recompiled and installed the whole thing on the new machine, it compiled without errors, but when I try to run the application it core dumps.
The stack trace delivers the following:
#0 0x77f34b7c in _sigfillset+0x5bc () from /usr/lib/libc.2
#1 0x77f3297c in _sscanf+0x68c () from /usr/lib/libc.2
#2 0x77f3801c in malloc+0x18c () from /usr/lib/libc.2
#3 0x77d83a08 in operator new +0x40 () from /usr/lib/libCsup.2
#4 0x77bd8ae8 in ObjectReferenceImpl::ior_extract_MT_UNSAFE+0x68 ()
#5 0x77bd8a34 in ObjectReferenceImpl::ior_extract+0x5c ()
As you surely have seen we use Orbix for the CORBA stuff.
Now, when I do a "set heap bounds on" the application runs without any warning / error...
When I do a "set heap free on" I get a few notifications about maybe corrupted footers.
Now, as you surely already noticed I am not very experienced in the C++ - Unix story...
So, what can I read from the above to messages? Is there a way to find out, where the heap bounds are violated, or who violated them?
I also tried to increase the MAX_DSIZE Kernelparameter with no effect.
Has there been any additional restriction about the stricness of allocating and freeing memory between HPUx 11 and 11.11?
I really hope someone can help me in this topic, it's almost driving me insane...
Solved! Go to Solution.
02-17-2005 04:03 AM
also you can check Kernel parms with Glans.
Did you install all needed library ?
send your error !
02-17-2005 06:00 PM
the server terminates with a SIGSEGV.
The client naturally says "no connection to server".
Where can I find Kernelparams in glance? I know, you can monitor and change them in SAM (but only with admin-rights), but in glance?
best regards, Tobi
02-17-2005 11:14 PM
Glans Plus is HP software.
you can download and install free 30 day version from software.hp.com
Just start Glans and review menus
for X env
Find system menu for kernel parms
02-17-2005 11:47 PM
sigsegv is indeed memory
kmtune -l on the machine to see all the variables
file applicationexecutable to see if a 32 or 64 bit application
ELF-64 executable object file - PA-RISC 2.0 (LP64) is 64 bit
check /var/adm/syslog/syslog.log for messages
check swapinfo -at for enough swap
tells you how to use glance and other soft to check memory usage
02-18-2005 01:06 AM
But there two other questions came up:
1) I found out my app is compiled as a 64 Bit app. Could it be any problem that it has been linked against 32-Bit libraries?
2) which bounds exactly does set heap-check keep an eye on? I am wondering because if it is enabled the application runs properly if it is not enabled it core dumps...
best regards, Tobi
02-18-2005 01:26 AM
If it uns with heap check then 1 is no problem
HeapCheck, which can detect problems that corrupt the system memory pool, such as writing off the end of an array or using a "freed" pointer.
Thus you have a memory leak
Check for Java version and latest patche son machine via
www.hp.com/go/java and the itrc
02-18-2005 02:03 AM