Hello everyone,

I have facing a SIGSEGV in SSL_CTX_load_verify_locations() on HP itanium 
machine.
I am building two different applications and the openssl libraries in 32 bit. 
The ssl libraries are statically linked with my applications.

When build in 64 bit mode, the applications works fine (openssl is also built 
in 64 bit mode).
I wonder how the same source works with the same cacert.pem when build in 64 
bit, and fails in 32 bit. 
Are there any compiler flags I need to use while building openssl / my 
applications in 32 bit?
Can I use any APIs that will give me more diagnostic information / errors ?

I build openssl in 32 bit mode with the following command:
$ ./Configure hpux-ia64-gcc

tusc output:
~~~~~~~~~~~~~~~~~~~~~~~~
Application 1:

<snip>
stat("prngseed.dat", 0x7fffb780) 
............................................................................... 
= 0
open("prngseed.dat", O_WRONLY|O_CREAT|O_TRUNC, 0666) 
........................................................... ERR#13 EACCES
stat("prngseed.dat", 0x7fffb780) 
............................................................................... 
= 0
open("prngseed.dat", O_RDONLY, 0666) 
........................................................................... 
ERR#13 EACCES
brk(0x40080000) 
................................................................................................
 = 0
open("/tmp/cacert.pem", O_RDONLY|0x800, 0666) 
.................................................................. = 6
ioctl(6, TCGETA, 0x7fffb5f0) 
...................................................................................
 ERR#25 ENOTTY
read(6, "- - - - - B E G I N   C E R T I ".., 8192) 
............................................................ = 1184
  Received signal 11, SIGSEGV, in user mode, [SIG_DFL], partial siginfo
    Siginfo: si_code: SEGV_ACCERR, faulting address: 0x8, si_errno: 0
     PC: 00000001000000a0.0             break.m 0x16000
exit(11) [implicit] 
............................................................................................
 WIFSIGNALED(SIGSEGV)|WCOREDUMP
</snip>

Application 2:

<snip>
stat64("prngseed.dat", 0x7fffe360) 
............................................................................. = 0
open("prngseed.dat", O_WRONLY|O_CREAT|O_TRUNC|0x800, 0666) 
..................................................... ERR#13 EACCES
stat64("prngseed.dat", 0x7fffe360) 
............................................................................. = 0
open("prngseed.dat", O_RDONLY|0x800, 0666) 
..................................................................... ERR#13 
EACCES
open("/tmp/cacert.pem", O_RDONLY|0x800, 0666) 
.................................................................. = 6
ioctl(6, TCGETA, 0x7fffe1d0) 
...................................................................................
 ERR#25 ENOTTY
read(6, "- - - - - B E G I N   C E R T I ".., 8192) 
............................................................ = 1184
brk(0x400e0000) 
................................................................................................
 = 0
  Received signal 11, SIGSEGV, in user mode, [caught], partial siginfo
    Siginfo: si_code: SEGV_ACCERR, faulting address: 0x8, si_errno: 0
     PC: 00000001000000a0.0             break.m 0x16000
getpid() 
.......................................................................................................
 = 21617 (21616)
(write(2, "( ", 1) 
..............................................................................................
 = 1
21617write(2, "2 1 6 1 7 ", 5) 
......................................................................................
 = 5
) write(2, ")   ", 2) 
............................................................................................
 = 2
SIGSEGV/11 (segmentation violation)write(2, "S I G S E G V / 1 1   ( s e g m 
".., 35) ............................................................. = 35
 received, exiting.write(2, "  r e c e i v e d ,   e x i t i ".., 19) 
............................................................. = 19

write(2, "\n", 1) 
..............................................................................................
 = 1
</snip>

I will really appriciate any help I could get.
Thank you,
~ Urjit

Reply via email to