Comment 52 for bug 25941

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sat, 31 Dec 2005 17:42:24 -0800
From: Steve Langasek <email address hidden>
To: Cai Qian <email address hidden>, <email address hidden>
Cc: <email address hidden>, Max <email address hidden>, Sebastien Bacher <email address hidden>,
 =?iso-8859-1?Q?Lo=EFc?= Minier <email address hidden>
Subject: Re: Bug#339419: d4x crashes in strlen () from /lib64/libc.so.6

--U+BazGySraz5kW0T
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Dec 31, 2005 at 08:01:03PM +0000, Cai Qian wrote:

> Stangely, last time I checked it with my LFS machine, and there is no such
> problem. However, today I checked with Redhat (glib 2.4.7, gtk 2.4.13),
> Ubuntu and Debian (both 2.8.x), and it 100% reproduces. I have enclosed a
> detailed backtrace log.

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 32771 (LWP 2338)]
> 0x407e0413 in strlen () from /usr/lib/debug/libc.so.6
> Current language: auto; currently c
> (gdb) bt
> #0 0x407e0413 in strlen () from /usr/lib/debug/libc.so.6
> #1 0x406f5a2f in std::string::compare () from /usr/lib/libstdc++.so.6
> #2 0x080577a0 in std::operator=3D=3D<char, std::char_traits<char>, std::=
allocator<char> > (__lhs=3D@0x819f00c, __rhs=3D0x0)
> at basic_string.h:2158
> #3 0x080a8f09 in tFtpDownload::get_size (this=3D0x819ef38) at ftpd.cc:487
> #4 0x080850d3 in tDownload::download_ftp (this=3D0x819e640) at dlist.cc:=
1630
> #5 0x0808a412 in download_last (nothing=3D0x819e640) at main.cc:1867
> #6 0x4001df4c in pthread_start_thread (arg=3D0xbf5ffbe0) at manager.c:310
> #7 0x4001dfda in pthread_start_thread_event (arg=3D0xbf5ffbe0) at manage=
r.c:334
> #8 0x4083298a in clone () from /usr/lib/debug/libc.so.6
> (gdb) thread apply all bt full

Right, well, with this backtrace pretty solidly confirms that it's a d4x
bug, not a gtk bug; line 487 of tFtpDownload::get_size is comparing
ADDR.file to D_FILE.name.get(), and the latter returns NULL -- I don't see
how it can be gtk's fault that an internal struct believes a remote ftp
filename is NULL. (The culprit function seems to be
TFtpDownload::ftp_cut_string_list(), fwiw, but I haven't traced through it
to figure out where this NULL value is actually coming from -- I just see
that this seems to be the only function that could be setting it.)

Cheers,
--=20
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
<email address hidden> http://www.debian.org/

--U+BazGySraz5kW0T
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDtzOAKN6ufymYLloRAh2qAJ0SLNri746387gBYF3wCHt/BKINtgCbB/nw
sglV2IlXIJtSmGyeo073PMw=
=fB1k
-----END PGP SIGNATURE-----

--U+BazGySraz5kW0T--