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
Message-ID: <email address hidden> 8859-1? Q?Lo=EFc? = Minier <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-
Subject: Re: Bug#339419: d4x crashes in strlen () from /lib64/libc.so.6
--U+BazGySraz5kW0T Disposition: inline Transfer- Encoding: quoted-printable
Content-Type: text/plain; charset=us-ascii
Content-
Content-
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. debug/libc. so.6 debug/libc. so.6 :compare () from /usr/lib/ libstdc+ +.so.6 3D=3D<char, std::char_ traits< char>, std::= 3D@0x819f00c, __rhs=3D0x0) :get_size (this=3D0x819ef38) at ftpd.cc:487 :download_ ftp (this=3D0x819e640) at dlist.cc:= 3D0x819e640) at main.cc:1867 start_thread (arg=3D0xbf5ffbe0) at manager.c:310 start_thread_ event (arg=3D0xbf5ffbe0) at manage= debug/libc. so.6
> [Switching to Thread 32771 (LWP 2338)]
> 0x407e0413 in strlen () from /usr/lib/
> Current language: auto; currently c
> (gdb) bt
> #0 0x407e0413 in strlen () from /usr/lib/
> #1 0x406f5a2f in std::string:
> #2 0x080577a0 in std::operator=
allocator<char> > (__lhs=
> at basic_string.h:2158
> #3 0x080a8f09 in tFtpDownload:
> #4 0x080850d3 in tDownload:
1630
> #5 0x0808a412 in download_last (nothing=
> #6 0x4001df4c in pthread_
> #7 0x4001dfda in pthread_
r.c:334
> #8 0x4083298a in clone () from /usr/lib/
> (gdb) thread apply all bt full
Right, well, with this backtrace pretty solidly confirms that it's a d4x :get_size is comparing :ftp_cut_ string_ list(), fwiw, but I haven't traced through it
bug, not a gtk bug; line 487 of tFtpDownload:
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:
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, www.debian. org/
--=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://
--U+BazGySraz5kW0T pgp-signature; name="signature .asc" Description: Digital signature Disposition: inline
Content-Type: application/
Content-
Content-
-----BEGIN PGP SIGNATURE-----
ufymYLloRAh2qAJ 0SLNri746387gBY F3wCHt/ BKINtgCbB/ nw eo073PMw=
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFDtzOAKN6
sglV2IlXIJtSmGy
=fB1k
-----END PGP SIGNATURE-----
--U+BazGySraz5k W0T--