Stefan Krah <[email protected]> added the comment:
OK, I stepped in parallel through the non-failing and the failing
versions. The first divergence is when _path_mtime is compared.
The comparison in the good version returns 'False', the one in the
bad version returns 'True':
Good version (Fedora 16):
(gdb) p w
$148 = '_path_mtime'
(gdb) n
2278 x = PyObject_GetAttr(v, w);
(gdb) p v
$149 =
<_FileFinder(_relaxed_path_cache=set(), path='.', packages=[('.py', <type
at remote 0xab4bc0>), ('.pyc', <type at remote 0xab4f40>)], _path_cache=set(),
_cache_refresh=0, _path_mtime=<float at remote 0xa6a7d0>,
modules=[('.cpython-33m.so', <type at remote 0xab55d0>), ('.abi3.so', <type at
remote 0xab55d0>), ('.so', <type at remote 0xab55d0>), ('.py', <type at remote
0xab4bc0>), ('.pyc', <type at remote 0xab4f40>)]) at remote 0x7ffff4128310>
(gdb) n
2279 Py_DECREF(v);
(gdb) p x
$150 = <float at remote 0xa6a7d0>
(gdb) n
2280 SET_TOP(x);
(gdb) n
2281 if (x != NULL) DISPATCH();
(gdb) n
2284 TARGET(COMPARE_OP)
(gdb) n
2285 w = POP();
(gdb) n
2286 v = TOP();
(gdb) n
2287 x = cmp_outcome(oparg, v, w);
(gdb) n
2288 Py_DECREF(v);
(gdb) p w
$151 = <float at remote 0xa6a7d0>
(gdb) p v
$152 = <float at remote 0xa6a6f8>
(gdb) p x
$153 = False
(gdb)
Bad version (Ubuntu):
(gdb) p w
$154 = '_path_mtime'
(gdb) p v
$155 = <float at remote 0xa66090>
(gdb) n
2278 x = PyObject_GetAttr(v, w);
(gdb) p v
$156 =
<_FileFinder(_relaxed_path_cache=set(), packages=[('.py', <type at remote
0xaaff60>), ('.p
yc', <type at remote 0xab02e0>)], _path_mtime=<float at remote 0xa66120>,
modules=[('.cpython-
33m.so', <type at remote 0xab0970>), ('.abi3.so', <type at remote 0xab0970>),
('.so', <type at
remote 0xab0970>), ('.py', <type at remote 0xaaff60>), ('.pyc', <type at
remote 0xab02e0>)],
path='.', _cache_refresh=0, _path_cache=set()) at remote 0x7ffff2b7f6d0>
(gdb) n
2279 Py_DECREF(v);
(gdb) p x
$157 = <float at remote 0xa66120>
(gdb) n
2280 SET_TOP(x);
(gdb) n
2281 if (x != NULL) DISPATCH();
(gdb) n
2284 TARGET(COMPARE_OP)
(gdb) n
2285 w = POP();
(gdb) n
2286 v = TOP();
(gdb) n
2287 x = cmp_outcome(oparg, v, w);
(gdb) n
2288 Py_DECREF(v);
(gdb) p w
$158 = <float at remote 0xa66120>
(gdb) p v
$159 = <float at remote 0xa66090>
(gdb) p x
$160 = True
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue14080>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com