[patch] fix OverflowError in backtraces with 32bit kernels
Matthias Klose
doko@ubuntu.com
Sat Feb 20 17:19:00 GMT 2016
This was reported at
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1513922
That's using i386, using "backtrace" gives those errors
"Traceback (most recent call last):
File "/usr/share/gdb/python/gdb/FrameDecorator.py", line 97, in function
if not isinstance(self._base, gdb.Frame):
SystemError: <built-in function isinstance> returned a result with an error set
#1 0xffffffff in OverflowError: Python int too large to convert to C long"
and a patch was suggested by Julian Taylor, which applies to the trunk as well.
Matthias
--- gdb-7.10.orig/gdb/python/py-framefilter.c
+++ gdb-7.10/gdb/python/py-framefilter.c
@@ -1111,7 +1111,7 @@ py_print_frame (PyObject *filter, int fl
if (paddr != Py_None)
{
- address = PyLong_AsLong (paddr);
+ address = PyLong_AsUnsignedLongLong (paddr);
has_addr = 1;
}
Py_DECREF (paddr);
More information about the Gdb-patches
mailing list