Debugging ssh-keygen dsa on Solaris8

Tim Rice tim at multitalents.net
Fri Jul 27 13:02:03 EST 2001


On Wed, 25 Jul 2001, Scott Burch wrote:

[snip]
> our systems is causing the problem, but I'm at a loss as to what it
> might be...the system I am building on has all the recommended patches
> from July 11th and is based on the January 2001 Solaris 8 release.

In trying to duplicate the problem in my Solaris box I remembered
my patch cluster was not the July 11th version so I went to sunsove.sun.com
and found there was a newer one.
...
# CLUSTER_README

NAME: Solaris 8 Recommended Patch Cluster
DATE: Jul/24/01
...

I don't know if it has anything that will fix your problem but it's 
worth looking at.

ssh-keygen works fine here on Solaris 8

> 
> -Scott
> 
> On Tue, Jul 24, 2001 at 02:58:31PM -0500, Scott Burch wrote:
> > (If there is anything else I can do to help let me know. The system is
> > 5.8 Generic_108528-08 with the recommended patch cluster from July 11th.
> > This is an Ultra10 workstation) I also have the same problem using gcc
> > 2.95.3 on Solaris 8 and Solaris 2.6.
> 
> You are receiving a BUS error, which means that something is not
> properly
> aligned (e.g. omething is on a "odd" 4byte boundary while it should be
> on a
> 8 byte boundary).
> Please understand that I don't have Solaris around, so I can only give
> you a wild guess. I would think, that the OpenSSL library was compiled
> with some "64bit-alignment flag" (or maybe for some 64bit processor),
> while
> OpenSSH was compiled without this flag. Hence the members of the
> structure
> are not properly aligned and it will later fail in the OpenSSL library.
> 
> > Reading ssh-keygen
> ...
> > program terminated by signal BUS (invalid address alignment)
> > Current function is DSA_new_method (optimized)
> >   127         ret->flags=ret->meth->flags;
> > (/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx)
> > where                           
> > =>[1] DSA_new_method(meth = ???) (optimized), at 0x4b6b8 (line ~127) in
> > "dsa_lib.c"
> 
> At this point a member of a structure is accessed. malloc() always tends
> to return data aligned for the worst case, so it only fails within
> a structure, which is not properly aligned.
> 
> In any case: if the alignement (and hence the position) of members in 
> a structure is wrong, the program must fail anyway, as the routines
> accessing the members will pick up wrong data.
> 
> Best regards,
>         Lutz
> 

-- 
Tim Rice				Multitalents	(707) 887-1469
tim at multitalents.net






More information about the openssh-unix-dev mailing list