Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SIGBUS and SIGSEGV errors in HP-UX 11 and Oracle 9i

Status
Not open for further replies.

rousse

Programmer
Sep 24, 2003
12
US
What are the possibilities of getting SIGBUS and SIGSEGV errors in the following scenario?

There is a program (C/C++/Pro*C) that was running fine under HP-UX 11.x and Oracle8i (8.1.6). Oracle database was upgraded to Oracle9i (9.2.0). The source code, including the project libraries, was re-compiled with 64-bit HP-UX C/C++ compiler options, the Pro*C code was pre-compiled with Oracle9i precompiler, and linked with 64-bit Oracle9i libraries.

Also, this program runs as a daemon, spawns processes, allocates and deallocates memory (through new and delete). Furthermore, the program runs fine for some time. However, if I increase the number of records from Oracle9i to be processed, the daemon stops and logs either SIGBUS or SIGSEGV error.

What are the possible reasons of getting SIGBUS or SIGSEGV error in the above scenario?

Thank you.
<rousse>
 
Just a guess: perhaps max user processes has been exceeded? This could be either an OS problem (which has a kernel parm for max user processes) or a database problem (which also has a number of user processes parm).

Also, when you upgraded to 9i, did you change your kernel parameters on the HP-UX system? I believe they have to be increased for 9i from what was required for 8.1.6.

 
Hi,

My Pro*C (C/C++) programe is having similar problem. It is working fine with 8.1.5 Oracle library. But it is not working with 8.1.7. It is raising SIGBUS error signal after some time. I tried to debug using gdb tool. And it stopped at SQL statement.

Have you able to figure out the problem? Please let me know.

Thanks,
Paresh
 
Paresh,

This is a complex challenge. :) After confirming (and excluding) many variables, I decided that it's a memory leak related issue. However, I didn't have the proper tool available to troubleshoot (e.g., PurifyPlus, Insure++, etc.) Thus, I found a different (workaround) solution that didn't fix the SIGBUS/SIGSEGV but helped my client to move forward with the &quot;failing&quot; programs.

Regards,
<rousse>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top