[nils - Wed Mar 15 11:47:08 2006]:

> using the gcc 3.4.2 on 64 bit Solaris 8 box I could reproduce
> your problem. Somewhat strange however is that when I replace
> the call to the standard qsort() function in crypto/stack/stack.c
> with an own implementation of the qsort() function everything
> seems to work.

Below is a reply I received for my post on openssl-users.

The message seems to confirm your observation that there may be something wrong 
with 
the Solaris qsort().

-----
"I've just run into the same problem. When I looked at the pstack output of the
core file and debugged/purified the thing, it looked like the problem was caused
by the qsort implementation on Solaris:

 00207a48 x509_object_cmp (477b5c, 477b64, 477b64, 477b64, ff1c2848, 0) + 38
 ff14b8e4 qsort    (477b64, 4, 477b5c, 477b88, 477b88, 207a10) + 10c
 001b5cf4 sk_sort  (472900, 3, 3f9de0, 18d, 477b68, 207a10) + 7c
 ...

-> Address 477b5c is _below_ the start address of the array to be sorted
   (477b64)

A bug report on sunsolve confirmed this assumption:

------
Problem:  qsort lower boundary value drops below start address of array
http://sunsolve.sun.com/search/document.do?assetkey=1-1-4872752-1

The problem exists on Solaris 8 and Solaris 9 when a certain level of
the libc.so.1 library is patched.

Work Around:
Back out the library containing libc.
  libc
  libthread or
  LDAP
------

The same build worked on a Solaris 10 machine. When I compiled the code on
Linux, it worked as well.

-> Probably due to some changes in OpenSSL, the qsort bug is triggered
   more frequent ...


Best regards

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

Reply via email to