Re: cvsup broken on amd64?
--aG5m5uiDy71E7sIH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Fri, Sep 09, 2011 at 06:20:57PM +0200, Oliver Lehmann wrote:
>=20
> Kostik Belousov <kostikbel@gmail.com> wrote:
>=20
> >On Fri, Sep 09, 2011 at 05:55:13PM +0300, Kostik Belousov wrote:
>=20
> >>Ok, please do the following:
> >>run cvsup under the gdb. When SIGSEGV is raised, from the gdb prompt, d=
o:
> >>1. info registers $rsp
> >>2. info program
> >> This should print you the pid of the process, then do
> >>3. shell procstat -v <pid>
>=20
> (gdb) run
> Starting program: =20
> /usr/obj/amd64/usr/ports/net/cvsup-without-gui/work/cvsup-snap-16.1h/clie=
nt/FBSD_AMD64/cvsup -g =20
> /usr/share/examples/cvsup/9-supfile
> Connected to cvsup.de.FreeBSD.org
> Updating collection src-all/cvs
> Edit src/crypto/openssl/ssl/s3_lib.c
>=20
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004d24c6 in tzload ()
> (gdb) info registers $rsp
> rsp 0x916c98 0x916c98
> (gdb) info program
> Using the running image of child process 14704.
> Program stopped at 0x4d24c6.
> It stopped with signal SIGSEGV, Segmentation fault.
> (gdb)
>=20
> nudel# procstat -v 14704
> PID START END PRT RES PRES REF SHD FL TP P=
ATH
> 14704 0x400000 0x53f000 r-x 219 0 1 0 C- =20
> vn =20
> /usr/obj/amd64/usr/ports/net/cvsup-without-gui/work/cvsup-snap-16.1h/clie=
nt/FBSD_AMD64/cvsup
> 14704 0x73f000 0x7bf000 rw- 128 0 1 0 C- =20
> vn =20
> /usr/obj/amd64/usr/ports/net/cvsup-without-gui/work/cvsup-snap-16.1h/clie=
nt/FBSD_AMD64/cvsup
> 14704 0x7bf000 0x844000 rw- 119 0 15 0 -- df
> 14704 0x844000 0x845000 r-- 1 0 15 0 -- df
> 14704 0x845000 0x867000 rw- 34 0 15 0 -- df
> 14704 0x867000 0x868000 r-- 1 0 15 0 -- df
> 14704 0x868000 0x88a000 rw- 34 0 15 0 -- df
> 14704 0x88a000 0x88b000 r-- 1 0 15 0 -- df
> 14704 0x88b000 0x8ad000 rw- 34 0 15 0 -- df
> 14704 0x8ad000 0x8ae000 r-- 1 0 15 0 -- df
> 14704 0x8ae000 0x8d0000 rw- 34 0 15 0 -- df
> 14704 0x8d0000 0x8d1000 r-- 1 0 15 0 -- df
> 14704 0x8d1000 0x8f3000 rw- 34 0 15 0 -- df
> 14704 0x8f3000 0x8f4000 r-- 1 0 15 0 -- df
> 14704 0x8f4000 0x916000 rw- 34 0 15 0 -- df
> 14704 0x916000 0x917000 r-- 1 0 15 0 -- df
> 14704 0x917000 0xa87000 rw- 344 0 15 0 -- df
%rsp value is 0x917000, so this is definitely stack overflow.
> 14704 0x800740000 0x800743000 rw- 2 0 1 0 -- df
> 14704 0x800743000 0x800751000 r-- 12 0 1 0 -- =20
> vn /mnt/files/FreeBSD/9.0/src/crypto/openssl/ssl/s3_lib.c
> 14704 0x7ffffffbf000 0x7ffffffdf000 rwx 1 0 1 0 -- df
> 14704 0x7ffffffdf000 0x7ffffffff000 rwx 11 0 1 0 -- df
> 14704 0x7ffffffff000 0x800000000000 r-x 1 0 47 0 CN ph
> nudel#
>=20
>=20
> >Also, you might try to test my guesswork, by adding the following
> >patch to lang/ezm3 and rebuilding it, then rebuilding cvsup port:
>=20
> [made a file below ezm3/files, cleaned the workdir, reinstalled it
> cleaned cvsup, rebuilt it]
>=20
> no change so far
>=20
> (gdb) run
> Starting program: =20
> /usr/obj/amd64/usr/ports/net/cvsup-without-gui/work/cvsup-snap-16.1h/clie=
nt/FBSD_AMD64/cvsup -g =20
> /usr/share/examples/cvsup/9-supfile
> Connected to cvsup.de.FreeBSD.org
> Updating collection src-all/cvs
> Edit src/crypto/openssl/ssl/s3_lib.c
>=20
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004d24c6 in tzload ()
> (gdb)
I need the same information from the gdb for this crash too, with cvsup
rebuilt using the patched ezm3.
--aG5m5uiDy71E7sIH
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)
iEYEARECAAYFAk5qP88ACgkQC3+MBN1Mb4gAKgCfclEM+2iBHlYnaKvIhKoKICD8
L4YAn1XTClELxlMn7G6TSw3nKu2fDw2E
=gbEk
-----END PGP SIGNATURE-----
--aG5m5uiDy71E7sIH--
討論串 (同標題文章)
完整討論串 (本文為第 18 之 45 篇):