> I encountered this same error and tried deleting the entire source tree
> and configuring for 64bit using ./Configure aix64-cc --prefix=/usr/local.

I've also encountered the exact same problem on AIX 6.1 equipped with
XLC v9.0 (according to /usr/vac/README.C)! Seems that it made it through
at least two compiler releases...

> .() at 0xf410
> fwrite_unlocked(??, ??, ??, ??) at 0x900000000079320
> fwrite(??, ??, ??, ??) at 0x9000000000794b8
> [EMAIL PROTECTED](0x110105470, 0x1010c9b6, 0x1000000010, 0x0), line 181
> in "bss_file.c"
> file_write(b = 0x0000001000000010, in = (nil), inl = 1), line 179 in
> "bss_file.c"
> BIO_write(b = 0x0000000110105470, in = 0x000000001010c9b6, inl = 16),
> line 201 in "bio_lib.c"
> X509_NAME_print(0x110105470, 0x11010f1f0, 0x1000000010), line 482 in
> "t_x509.c"
> X509_NAME_print_ex(0x110105470, 0x11010f1f0, 0x1000000010, 0x0), line
> 512 in "a_strex.c"
> X509_REQ_print_ex(0x110105470, 0x110105d90, 0x0, 0x0), line 125 in
> "t_req.c"
> x509_main(0x9, 0xffffffffffff288), line 970 in "x509.c"
> [EMAIL PROTECTED](0x1100ea950, 0x900000009, 0xffffffffffff240, 0x100000001),
> line 402 in "openssl.c"
> lock_dbg_cb(mode = 1, type = 9, file =
> "^O\377\377\377\377\377\364x^O\377\377\377\377\377\364}^O\377\377\377\377\377\364\203^O\377\377\377\377\377\364\207^O\377\377\377\377\377\364\221^O\377\377\377\377\377\364\234^O\377\377\
> 
> 377\377\377\364\245^O\377\377\377\377\377\364\256^O\377\377\377\377\377\364\263",
> line = 1), line 396 in "openssl.c"
> main(Argc = 9, Argv = 0x0ffffffffffff240), line 321 in "openssl.c"
> 
> I figured the optimizer was
> causing this and removed the -O from the Makefile.
> 
> That fixed it! The entire test suite completed. But no optimization?
> bummer.
> 
> I tried a number of different pragma's and I haven't yet successfully
> passed the
> "convert a certificate into a certificate request using 'x509'" test.
> I am now wondering if there is a buffer overrun or other pointer math
> getting messed up somewhere else that is stomping on pointers in the BIO
> struct.

This is nothing but a compiler bug. The file that gets mis-compiled is
asn1/t_x509.c and what happens there is that generated code
*effectively* casts pointer to 32-bit integer and back, thus cutting off
 most significant bits. As AIX seem to place data in 64-bit application
just above 4GB, doing so re-biases pointer to area prone to segmentation
violation condition. Note "in" argument passed to BIO_write, it should
have been 0x11010c9b6, not 0x1010c9b6. Please verify that
http://cvs.openssl.org/chngview?cn=16812 fixes the problem. A.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to