[Python-2.5, VC-7.1, sip-20070110, PyQt4-20070104, Qt-4.2.2] Hi all,
I've started porting an existing app from py2.4/qt4.1 to py2.5/qt4.2, and ran into some pretty random behavior. When using QSocketNotifier/QTimer callbacks, the callbacks occur on *impossible* functions! And after about 10 to 20 seconds, python.exe crashes. Please note that this application has been rock solid stable for many months, and has not been modified at all. The only change is the upgrade to py2.5/qt4.2 I built debug versions of python and all the libs, and i've attached the resulting stack trace. It looks like some kind of GC bug. Unfortunately, after trying for one whole day, i've not been able to isolate the problem and create a simple reproducible script. Looking at recent changelog entries of pyqt/sip, there seem to be many gc/refcount related fixes. So there might still be some bugs left. Phil, any idea? regards [sreeram;]
> msvcr71d.dll!_NMSG_WRITE(int rterrnum=10) Line 195 C
msvcr71d.dll!abort() Line 44 + 0x7 C
msvcr71d.dll!_assert(const char * expr=0x1e2694bc, const char *
filename=0x1e269494, unsigned int lineno=276) Line 306 C
python25_d.dll!visit_decref(_object * op=0x01c22038, void *
data=0x00000000) Line 276 + 0x1e C
python25_d.dll!dict_traverse(_object * op=0x01d272d8, int (_object *,
void *)* visit=0x1e0b2630, void * arg=0x00000000) Line 1825 + 0x11 C
python25_d.dll!subtract_refs(_gc_head * containers=0x1e269370) Line
297 + 0x11 C
python25_d.dll!collect(int generation=1) Line 790 + 0x9 C
python25_d.dll!collect_generations() Line 897 + 0x9 C
python25_d.dll!_PyObject_GC_Malloc(unsigned int basicsize=132) Line
1333 C
python25_d.dll!_PyObject_GC_New(_typeobject * tp=0x1e25c058) Line 1342
+ 0xc C
python25_d.dll!PyDict_New() Line 202 + 0xa C
sip_d.pyd!sipWrapper_init(_sipWrapper * self=0x01d35f98, _object *
args=0x00b11038, _object * kwds=0x00000000) Line 6047 + 0xf C
python25_d.dll!type_call(_typeobject * type=0x00ce8708, _object *
args=0x00b11038, _object * kwds=0x00000000) Line 438 + 0x33 C
python25_d.dll!PyObject_Call(_object * func=0x00ce8708, _object *
arg=0x00b11038, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!do_call(_object * func=0x00ce8708, _object * * *
pp_stack=0x002152d4, int na=0, int nk=0) Line 3779 C
python25_d.dll!call_function(_object * * * pp_stack=0x002152d4, int
oparg=0) Line 3589 + 0xa C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ca9758, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x00c60328, _object
* globals=0x01ca9758, _object * locals=0x00000000, _object * * args=0x01ceb718,
int argcount=3, _object * * kws=0x01ceb724, int kwcount=0, _object * *
defs=0x00d6e7f4, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x00215800, int n=3, int na=3, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00215800, int
oparg=3) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ceb5b8, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a67aa8, _object
* globals=0x01ceb5b8, _object * locals=0x00000000, _object * * args=0x01c22db4,
int argcount=8, _object * * kws=0x00000000, int kwcount=0, _object * *
defs=0x00000000, int defcount=0, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!function_call(_object * func=0x01a700e8, _object *
arg=0x01c22da0, _object * kw=0x00000000) Line 522 + 0x40 C
python25_d.dll!PyObject_Call(_object * func=0x01a700e8, _object *
arg=0x01c22da0, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!instancemethod_call(_object * func=0x01a700e8, _object *
arg=0x01c22da0, _object * kw=0x00000000) Line 2493 + 0x11 C
python25_d.dll!PyObject_Call(_object * func=0x01c172b8, _object *
arg=0x00c2f948, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!slot_tp_init(_object * self=0x01d56118, _object *
args=0x00c2f948, _object * kwds=0x00000000) Line 4819 + 0x11 C
python25_d.dll!type_call(_typeobject * type=0x01a91bf8, _object *
args=0x00c2f948, _object * kwds=0x00000000) Line 438 + 0x33 C
python25_d.dll!PyObject_Call(_object * func=0x01a91bf8, _object *
arg=0x00c2f948, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!do_call(_object * func=0x01a91bf8, _object * * *
pp_stack=0x00216028, int na=7, int nk=0) Line 3779 C
python25_d.dll!call_function(_object * * * pp_stack=0x00216028, int
oparg=7) Line 3589 + 0xa C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ceb3e8, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a679e8, _object
* globals=0x01ceb3e8, _object * locals=0x00000000, _object * * args=0x01ceb378,
int argcount=7, _object * * kws=0x01ceb394, int kwcount=0, _object * *
defs=0x01a62fc4, int defcount=4, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000004, _object * * *
pp_stack=0x00216554, int n=7, int na=7, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00216554, int
oparg=7) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ceb1f8, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a6e208, _object
* globals=0x01ceb1f8, _object * locals=0x00000000, _object * * args=0x01c09514,
int argcount=5, _object * * kws=0x00b785a0, int kwcount=3, _object * *
defs=0x01a7c24c, int defcount=3, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!function_call(_object * func=0x01a7b820, _object *
arg=0x01c09500, _object * kw=0x01d52d58) Line 522 + 0x40 C
python25_d.dll!PyObject_Call(_object * func=0x01a7b820, _object *
arg=0x01c09500, _object * kw=0x01d52d58) Line 1860 + 0xf C
python25_d.dll!ext_do_call(_object * func=0x01a7b820, _object * * *
pp_stack=0x00216ab4, int flags=2, int na=5, int nk=0) Line 3848 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ccf890, int
throwflag=0) Line 2312 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a6e448, _object
* globals=0x01ccf890, _object * locals=0x00000000, _object * * args=0x01ccf810,
int argcount=4, _object * * kws=0x01ccf820, int kwcount=3, _object * *
defs=0x01a78ddc, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x00216fdc, int n=10, int na=4, int nk=3) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00216fdc, int
oparg=10) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ccf6b8, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a77028, _object
* globals=0x01ccf6b8, _object * locals=0x00000000, _object * * args=0x01ccf65c,
int argcount=2, _object * * kws=0x01ccf664, int kwcount=0, _object * *
defs=0x00000000, int defcount=0, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000000, _object * * *
pp_stack=0x00217508, int n=2, int na=2, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00217508, int
oparg=2) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ccf508, int
throwflag=0) Line 2271 C
python25_d.dll!fast_function(_object * func=0x00a65ce0, _object * * *
pp_stack=0x002179dc, int n=1, int na=1, int nk=0) Line 3653 C
python25_d.dll!call_function(_object * * * pp_stack=0x002179dc, int
oparg=1) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01ccdc38, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a6ed48, _object
* globals=0x01ccdc38, _object * locals=0x00000000, _object * * args=0x01c323ac,
int argcount=5, _object * * kws=0x00000000, int kwcount=0, _object * *
defs=0x01a78f64, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!function_call(_object * func=0x01a7bc40, _object *
arg=0x01c32398, _object * kw=0x00000000) Line 522 + 0x40 C
python25_d.dll!PyObject_Call(_object * func=0x01a7bc40, _object *
arg=0x01c32398, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!instancemethod_call(_object * func=0x01a7bc40, _object *
arg=0x01c32398, _object * kw=0x00000000) Line 2493 + 0x11 C
python25_d.dll!PyObject_Call(_object * func=0x01d1ea78, _object *
arg=0x01c32d70, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!slot_tp_init(_object * self=0x01d53a48, _object *
args=0x01c32d70, _object * kwds=0x00000000) Line 4819 + 0x11 C
python25_d.dll!type_call(_typeobject * type=0x01a94560, _object *
args=0x01c32d70, _object * kwds=0x00000000) Line 438 + 0x33 C
python25_d.dll!PyObject_Call(_object * func=0x01a94560, _object *
arg=0x01c32d70, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!do_call(_object * func=0x01a94560, _object * * *
pp_stack=0x00218204, int na=4, int nk=0) Line 3779 C
python25_d.dll!call_function(_object * * * pp_stack=0x00218204, int
oparg=4) Line 3589 + 0xa C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01cc7470, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a6e5c8, _object
* globals=0x01cc7470, _object * locals=0x00000000, _object * * args=0x01cff480,
int argcount=4, _object * * kws=0x01cff490, int kwcount=0, _object * *
defs=0x01a78e4c, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x00218730, int n=4, int na=4, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00218730, int
oparg=4) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01cff308, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a6e868, _object
* globals=0x01cff308, _object * locals=0x00000000, _object * * args=0x01cff2a4,
int argcount=4, _object * * kws=0x01cff2b4, int kwcount=0, _object * *
defs=0x01a78e84, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x00218c5c, int n=4, int na=4, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00218c5c, int
oparg=4) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01cff148, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01aa7568, _object
* globals=0x01cff148, _object * locals=0x00000000, _object * * args=0x01cfec18,
int argcount=4, _object * * kws=0x01cfec28, int kwcount=0, _object * *
defs=0x01aa9c54, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x00219188, int n=4, int na=4, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00219188, int
oparg=4) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01cfeab0, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01aa7868, _object
* globals=0x01cfeab0, _object * locals=0x00000000, _object * * args=0x01cfea38,
int argcount=3, _object * * kws=0x01cfea44, int kwcount=0, _object * *
defs=0x01aaf19c, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x002196b4, int n=3, int na=3, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x002196b4, int
oparg=3) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01cfe8d0, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x01a473e8, _object
* globals=0x01cfe8d0, _object * locals=0x00000000, _object * * args=0x01cfe6d8,
int argcount=3, _object * * kws=0x01cfe6e4, int kwcount=0, _object * *
defs=0x01b05a5c, int defcount=1, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000001, _object * * *
pp_stack=0x00219be0, int n=3, int na=3, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x00219be0, int
oparg=3) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01cfe578, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x00c38508, _object
* globals=0x01cfe578, _object * locals=0x00000000, _object * * args=0x01d603a8,
int argcount=2, _object * * kws=0x01d603b0, int kwcount=0, _object * *
defs=0x00000000, int defcount=0, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!fast_function(_object * func=0x00000000, _object * * *
pp_stack=0x0021a10c, int n=2, int na=2, int nk=0) Line 3665 + 0x35 C
python25_d.dll!call_function(_object * * * pp_stack=0x0021a10c, int
oparg=2) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x01d60258, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x00c3f2c8, _object
* globals=0x01d60258, _object * locals=0x00000000, _object * * args=0x00d4afd4,
int argcount=1, _object * * kws=0x00000000, int kwcount=0, _object * *
defs=0x00000000, int defcount=0, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!function_call(_object * func=0x01bfc2f8, _object *
arg=0x00d4afc0, _object * kw=0x00000000) Line 522 + 0x40 C
python25_d.dll!PyObject_Call(_object * func=0x01bfc2f8, _object *
arg=0x00d4afc0, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!instancemethod_call(_object * func=0x01bfc2f8, _object *
arg=0x00d4afc0, _object * kw=0x00000000) Line 2493 + 0x11 C
python25_d.dll!PyObject_Call(_object * func=0x01d3f378, _object *
arg=0x00b11038, _object * kw=0x00000000) Line 1860 + 0xf C
python25_d.dll!PyEval_CallObjectWithKeywords(_object * func=0x01d3f378,
_object * arg=0x00b11038, _object * kw=0x00000000) Line 3436 C
sip_d.pyd!sip_api_emit_to_slot(_sipSlot * slot=0x01c99ce8, _object *
sigargs=0x00b11038) Line 668 + 0x10 C
QtCore_d.pyd!PyQtProxy::unislot(void * * qargs=0x0021af50) Line 1065 +
0x1f C++
QtCore_d.pyd!PyQtProxy::qt_metacall(QMetaObject::Call
_c=InvokeMetaMethod, int _id=1, void * * _a=0x0021af50) Line 899 C++
QtCored4.dll!QMetaObject::activate(QObject * sender=0x01c80b78, int
from_signal_index=5, int to_signal_index=6, void * * argv=0x0021af50) Line
2940 + 0x41 C++
QtCored4.dll!QMetaObject::activate(QObject * sender=0x01c80b78, const
QMetaObject * m=0x6563b4d0, int from_local_signal_index=1, int
to_local_signal_index=2, void * * argv=0x0021af50) Line 2992 + 0x1b C++
QtGuid4.dll!QAction::triggered(bool _t1=false) Line 208 + 0x17 C++
QtGuid4.dll!QAction::activate(QAction::ActionEvent event=Trigger) Line
1072 C++
QtGuid4.dll!QAction::trigger() Line 175 + 0x16 C++
QtGuid4.dll!QToolButton::nextCheckState() Line 1006 C++
QtGuid4.dll!QAbstractButtonPrivate::click() Line 501 C++
QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent *
e=0x0021b8f8) Line 1077 C++
QtGuid4.dll!QToolButton::mouseReleaseEvent(QMouseEvent * e=0x0021b8f8)
Line 605 C++
QtGuid4.dll!QWidget::event(QEvent * event=0x0021b8f8) Line 5699
C++
QtGuid4.dll!QAbstractButton::event(QEvent * e=0x0021b8f8) Line 1039
C++
QtGuid4.dll!QToolButton::event(QEvent * e=0x0021b8f8) Line 1012
C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject *
receiver=0x01c881d8, QEvent * e=0x0021b8f8) Line 3434 + 0xf C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x01c881d8, QEvent
* e=0x0021b8f8) Line 3133 + 0x2f C++
QtGui_d.pyd!sipQApplication::notify(QObject * a0=0x01c881d8, QEvent *
a1=0x0021b8f8) Line 179 + 0x11 C++
QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject *
receiver=0x01c881d8, QEvent * event=0x0021b8f8) Line 186 + 0x43 C++
QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg={...})
Line 2622 + 0x14 C++
QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x00690628, unsigned int
message=514, unsigned int wParam=0, long lParam=2228245) Line 1278 + 0xc C++
user32.dll!77d48734()
user32.dll!77d48816()
user32.dll!77d489cd()
user32.dll!77d48a10()
QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags={...}) Line 437 + 0x17 C++
QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags={...}) Line 930 + 0x15 C++
QtCored4.dll!QEventLoop::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags={...}) Line 127 C++
QtCored4.dll!QEventLoop::exec(QFlags<enum
QEventLoop::ProcessEventsFlag> flags={...}) Line 172 + 0x2d C++
QtCored4.dll!QCoreApplication::exec() Line 727 + 0x15 C++
QtGuid4.dll!QApplication::exec() Line 2928 C++
QtGui_d.pyd!meth_QApplication_exec_(_object * __formal=0x00c26b18,
_object * sipArgs=0x00b11038) Line 2054 + 0x6 C++
python25_d.dll!PyCFunction_Call(_object * func=0x01c06fb8, _object *
arg=0x00b11038, _object * kw=0x00000000) Line 73 + 0xb C
python25_d.dll!call_function(_object * * * pp_stack=0x0021f498, int
oparg=11604024) Line 3566 + 0xc2 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x00c03320, int
throwflag=0) Line 2271 C
python25_d.dll!fast_function(_object * func=0x00a65ce0, _object * * *
pp_stack=0x0021f96c, int n=0, int na=0, int nk=0) Line 3653 C
python25_d.dll!call_function(_object * * * pp_stack=0x0021f96c, int
oparg=0) Line 3587 + 0x12 C
python25_d.dll!PyEval_EvalFrameEx(_frame * f=0x00bbc508, int
throwflag=0) Line 2271 C
python25_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x00c26508, _object
* globals=0x00bbc508, _object * locals=0x00b364d0, _object * * args=0x00000000,
int argcount=0, _object * * kws=0x00000000, int kwcount=0, _object * *
defs=0x00000000, int defcount=0, _object * closure=0x00000000) Line 2833 + 0xb
C
python25_d.dll!PyEval_EvalCode(PyCodeObject * co=0x00c26508, _object *
globals=0x00b364d0, _object * locals=0x00b364d0) Line 499 + 0x1f C
python25_d.dll!run_mod(_mod * mod=0x00bfa600, const char *
filename=0x00a65b8b, _object * globals=0x00b364d0, _object * locals=0x00b364d0,
PyCompilerFlags * flags=0x0021ff2c, _arena * arena=0x00b575f0) Line 1264 +
0x11 C
python25_d.dll!PyRun_FileExFlags(_iobuf * fp=0x1027c898, const char *
filename=0x00a65b8b, int start=257, _object * globals=0x00b364d0, _object *
locals=0x00b364d0, int closeit=1, PyCompilerFlags * flags=0x0021ff2c) Line
1250 + 0x1d C
python25_d.dll!PyRun_SimpleFileExFlags(_iobuf * fp=0x1027c898, const
char * filename=0x00a65b8b, int closeit=1, PyCompilerFlags * flags=0x0021ff2c)
Line 871 + 0x22 C
python25_d.dll!PyRun_AnyFileExFlags(_iobuf * fp=0x1027c898, const char
* filename=0x00a65b8b, int closeit=1, PyCompilerFlags * flags=0x0021ff2c) Line
689 + 0x15 C
python25_d.dll!Py_Main(int argc=2, char * * argv=0x00a65b58) Line 499
+ 0x30 C
python_d.exe!main(int argc=2, char * * argv=0x00a65b58) Line 23 + 0xe
C
python_d.exe!mainCRTStartup() Line 398 + 0x11 C
kernel32.dll!7c816fd7()
signature.asc
Description: OpenPGP digital signature
_______________________________________________ PyKDE mailing list [email protected] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
