Subject: Re: cvsup for i386 on amd64 using COMPAT_NETBSD32
To: Blair Sadewitz <blair.sadewitz@gmail.com>
From: Quentin Garnier <cube@cubidou.net>
List: current-users
Date: 02/16/2007 17:14:43
--kdnI/zAONlTrgeyN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Feb 16, 2007 at 06:21:56AM -0500, Blair Sadewitz wrote:
> When I try to run it, this happens:
>  6477      1 cvsup    netbsd32_write(0x1, 0x817f00c, 0x22) =3D 34
>       "Connecting to cvsup.us.netbsd.org\n"
>  6477      1 cvsup    netbsd32_fcntl(0x1, 0x4, 0x2) =3D 0
>  6477      1 cvsup    compat_30_netbsd32_socket(0x2, 0x1, 0) =3D 3
>  6477      1 cvsup    netbsd32_setsockopt(0x3, 0xffff, 0x80,=20
>  0xffffffffffffd590
> , 0x8) =3D 0
>  6477      1 cvsup    netbsd32_setsockopt(0x3, 0x6, 0x1,=20
>  0xffffffffffffd58c, 0x
> 4) =3D 0
>  6477      1 cvsup    netbsd32_fcntl(0x3, 0x3, 0) =3D 2
>  6477      1 cvsup    netbsd32_fcntl(0x3, 0x4, 0x6) =3D 0
>  6477      1 cvsup    netbsd32_connect(0x3, 0xffffffffffffd570, 0x10)=20
>  Err#36 EI
> NPROGRESS
>  6477      1 cvsup    netbsd32_select(0x4, 0x817c144, 0x817c154, 0x817c16=
4,=20
>  0)
> =3D 1
>  6477      1 cvsup    netbsd32_connect(0x3, 0xffffffffffffd5a0, 0x10)=20
>  Err#56 EI
> SCONN
>  6477      1 cvsup    netbsd32_setsockopt(0x3, 0x6, 0x1,=20
>  0xffffffffffffd5cc, 0x
> 4) =3D 0
>  6477      1 cvsup    netbsd32_fcntl(0x1, 0x3, 0) =3D 2
>  6477      1 cvsup    netbsd32_fcntl(0x1, 0x4, 0x6) =3D 0
>  6477      1 cvsup    netbsd32_write(0x1, 0x817f00c, 0x21) =3D 33
>       "Connected to cvsup.us.netbsd.org\n"
>  6477      1 cvsup    netbsd32_fcntl(0x1, 0x4, 0x2) =3D 0
> xffffffffffffd610, 0x80e9a1c, 0x1) Err#22 EINVAL
>  6477      1 cvsup    netbsd32_write(0x2, 0x816a0c0, 0xa1) =3D 161
>       "\n\n***\n*** runtime error:\n***    ASSERT failed\n***    file=20
>       "/usr/"
>  6477      1 cvsup    netbsd32_write(0x2, 0x816a0c0, 0x2f) =3D 47
>       "  use option @M3stackdump to get a stack trace\n"
>  6477      1 cvsup    netbsd32___sigprocmask14(0x3, 0xffffffffffffd510, 0=
)=20
>  =3D 0
>  6477      1 cvsup    getpid()                    =3D 6477
>  6477      1 cvsup    netbsd32_kill(0x194d, 0x6)  =3D 0
>  6477      1 cvsup    SIGABRT SIG_DFL
>=20
>=20
> I assume it's trying to set a socket option that is not supported by
> the emulation; am I right?

No.  The trace doesn't make it obvious what happens.  The sequence that
leads to it printing "Connected to cvsup.us.netbsd.org" seems just fine
to me (that's how you do a TCP connect with a non-blocking socket).

I'm not sure that it'd react that way from the last fcntl (which
operates on stdout and gets EINVAL).  I don't know whay that last fcntl
gets EINVAL when the previous one didn't either.

Having the stack trace would help slightly, if we know what it is
trying to do at least.

--=20
Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
"You could have made it, spitting out benchmarks
Owe it to yourself not to fail"
Amplifico, Spitting Out Benchmarks, Hometakes Vol. 2, 2005.

--kdnI/zAONlTrgeyN
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (NetBSD)

iQEVAwUBRdXYc9goQloHrPnoAQI6xgf8CxLN3hUv377f7S2ip/Yb3Z9ZM3gcqWpa
SjLOFAFrsLaRPOL+BSajIXuoNf0QNr0xP7gG2C099XA+KlIriCVRr/VBfqMRcCYN
mp3IG5CkCrziZXkvlqBysTqvL1+w7IDpL9U9fg/CEKfcMMrhTdgEIOyjfZK5Xrfn
Zc4ek6uQjMNT/K69DMyWgJMpXARYpTIlZGHOy31LnuJz4QGS1KP00RvgOYT3ikWf
6UX1FvYuRFnqIqEfrbc8hBqq/BA1Cx1DROaGGgvf6FnArYUuQlpntcJJzb0WzLJh
ZIfh7xda8B6PxspxAQ5RNho8vY2HF9IgKj1Z19T9LfXppqqhIFnapA==
=AErq
-----END PGP SIGNATURE-----

--kdnI/zAONlTrgeyN--