Your message dated Tue, 06 Jun 2006 07:02:41 -0700
with message-id <[EMAIL PROTECTED]>
and subject line Bug#296483: fixed in gdb 6.4.90.dfsg-1
has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
Package: gdb
Version: 6.3-5
Severity: minor
Tags: patch
Consider the following gdb session:
----> gdb session <----
$ gdb
GNU gdb 6.3-debian
[...]
(gdb) printf "%lld\n",1
1
(gdb) printf "%yd\n",1
%yd
(gdb) printf "%qd\n",1
/nevyn/local/gdb/gdb-6.3/gdb/utils.c:1013: internal-error:
virtual memory exhausted.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
----> end of gdb session <----
The input to this session is precicely the one used to trigger
bug #186037. The error message ("virtual memory exhausted"),
however, has become different since gdb version 5.3 due to a bug
in the function xstrvprintf() at gdb/utils.c:1120 which is
unrelated to bug #186037 (in particular, other bugs may be
affected as well).
The function xstrvprintf() (gdb/utils.c:1120) looks as follows:
---> snip <---
char *
xstrvprintf (const char *format, va_list ap)
{
char *ret = NULL;
int status = vasprintf (&ret, format, ap);
/* NULL is returned when there was a memory allocation
problem. */
if (ret == NULL)
nomem (0);
/* A negative status (the printed length) with a non-NULL
buffer should never happen, but just to be sure. */
if (status < 0)
internal_error (__FILE__, __LINE__,
"vasprintf call failed (errno %d)", errno);
return ret;
}
---> snap <---
According to the libc info file however, the correct way to
check if a call to vasprintf failed is to simply check for a
negative return value. Furthermore, vasprintf does not seem to
set errno. This leads to the wrong error message above.
I therefore propose to remove the ret==NULL check and the
reference to errno (see attached patch).
Of course this does not fix #186037, but restores it to its
former behaviour.
Regards,
Alexander
--- utils.c 2005-02-22 13:28:48.000000000 +0000
+++ utils.c.new 2005-02-22 18:09:53.000000000 +0000
@@ -1120,16 +1120,12 @@
char *
xstrvprintf (const char *format, va_list ap)
{
- char *ret = NULL;
+ char *ret;
int status = vasprintf (&ret, format, ap);
- /* NULL is returned when there was a memory allocation problem. */
- if (ret == NULL)
- nomem (0);
- /* A negative status (the printed length) with a non-NULL buffer
- should never happen, but just to be sure. */
+ /* Negative status indicates error */
if (status < 0)
internal_error (__FILE__, __LINE__,
- "vasprintf call failed (errno %d)", errno);
+ "vasprintf call failed");
return ret;
}
--- End Message ---
--- Begin Message ---
Source: gdb
Source-Version: 6.4.90.dfsg-1
We believe that the bug you reported is fixed in the latest version of
gdb, which is due to be installed in the Debian FTP archive:
gdb_6.4.90.dfsg-1.diff.gz
to pool/main/g/gdb/gdb_6.4.90.dfsg-1.diff.gz
gdb_6.4.90.dfsg-1.dsc
to pool/main/g/gdb/gdb_6.4.90.dfsg-1.dsc
gdb_6.4.90.dfsg-1_amd64.deb
to pool/main/g/gdb/gdb_6.4.90.dfsg-1_amd64.deb
gdb_6.4.90.dfsg.orig.tar.gz
to pool/main/g/gdb/gdb_6.4.90.dfsg.orig.tar.gz
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Daniel Jacobowitz <[EMAIL PROTECTED]> (supplier of updated gdb package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Tue, 6 Jun 2006 09:23:45 -0400
Source: gdb
Binary: gdb
Architecture: source amd64
Version: 6.4.90.dfsg-1
Distribution: unstable
Urgency: low
Maintainer: Daniel Jacobowitz <[EMAIL PROTECTED]>
Changed-By: Daniel Jacobowitz <[EMAIL PROTECTED]>
Description:
gdb - The GNU Debugger
Closes: 186037 212522 231162 296483 343199 345108 364124
Changes:
gdb (6.4.90.dfsg-1) unstable; urgency=low
.
* New upstream snapshot (GDB 6.5 prerelease).
- BFD build fix for GCC 4.2 (Closes: #364124).
- xstrvprintf error message corrected (Closes: #296483).
- Rewritten printf command (Closes: #186037, #231162).
- Build fix for hurd-i386 (Closes: #345108).
* Split the GDB package into DFSG and non-DFSG portions (Closes: #212522).
The documentation has been moved to the new gdb-doc package, which
this one Suggests.
- Remove packaging for info files.
- Remove GFDL section from debian/copyright.
- Update README.Debian.
* Correct control.in to also use libreadline5-dev.
* Update type-handling usage.
* Update copyright file with the new FSF address.
* Update gcj build dependency (allow mips and mipsel, skip kfreebsd)
(Closes: #343199).
Files:
e11653f0e412e90f04c4a3e46c5984b6 1359 devel standard gdb_6.4.90.dfsg-1.dsc
1ee7e048b8743e3dcd75d12ef4c3578b 17859467 devel standard
gdb_6.4.90.dfsg.orig.tar.gz
dd285ca7beae0dc429936dd0346918d4 33121 devel standard gdb_6.4.90.dfsg-1.diff.gz
d4fdaf5dd5e418767306b6630f5a943a 2712516 devel standard
gdb_6.4.90.dfsg-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
iD8DBQFEhYegbgOPXuCjg3cRAkcEAKDYCRaEDAT5/Imjj6Dagab72FRBtwCdGN7+
qIh01Ht/HB/S7aIIgG6fNEg=
=bu3e
-----END PGP SIGNATURE-----
--- End Message ---