[PyQt] Crash - reference counting related

David Boddie dboddie at trolltech.com
Thu Feb 18 11:21:14 GMT 2010


Someone on the #pyqt IRC channel on freenode.net is reporting a crash when 
using Anki, a flashcard application.

Specifically, they're using this version

http://anki.googlecode.com/files/anki-0.9.9.8.6.tgz

with these versions of PyQt and SIP:

pyqt4 4.7-1.fc12
sip 4.10-1.fc12

(On Fedora, by the look of it.)

To my untrained eye, it looks like a refcounting bug, but that's about
as much as I can get from the backtrace.

The crash apparently happens when the user chooses an option in the UI
using a keyboard shortcut, probably related to a push button, and this
triggers a signal emission.

Does this look familiar to anyone?

David
-------------- next part --------------
#0  0x0000003913e326c5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <value optimized out>
        selftid = <value optimized out>
#1  0x0000003913e33ea5 in abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x392a545591, sa_sigaction = 0x392a545591}, sa_mask = {__val = {245147880436, 140733631017472, 277, 140733631017712, 
    245146996758, 206158430232, 140733631017728, 140733631017504, 245146905784, 206158430256, 140733631017752, 55719088, 80, 2323049406051804530, 2335509072524141104, 
    140733631038340}}, sa_flags = 334738765, sa_restorer = 0x392a54556c}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x0000003913e2b7b5 in __assert_fail (assertion=0x392a545591 "gc->gc.gc_refs != 0", file=<value optimized out>, line=277, function=<value optimized out>) at assert.c:81
        buf = 0x35234b0 "python: Modules/gcmodule.c:277: visit_decref: Assert-makro ?gc->gc.gc_refs != 0? ei pidä paikkaansa.\n"
#3  0x000000392a5078de in visit_decref (op=0x2e7aaa0, data=<value optimized out>) at Modules/gcmodule.c:277
        __PRETTY_FUNCTION__ = "visit_decref"
#4  0x00007fcc8c5caf42 in PyDict_New () at Objects/dictobject.c:224
No symbol table info available.
#5  0x000000392a50802f in subtract_refs (generation=2) at Modules/gcmodule.c:296
        gc = 0x2534f10
#6  collect (generation=2) at Modules/gcmodule.c:817
        i = <value optimized out>
        m = <value optimized out>
        n = <value optimized out>
        young = 0x392a79d240
        old = 0x392a79d240
        unreachable = {gc = {gc_next = 0x3000000010, gc_prev = 0x7fff1a15b550, gc_refs = 140733631018112}, dummy = <invalid float value>}
        finalizers = {gc = {gc_next = 0x392a778ee0, gc_prev = 0x392a443e28, gc_refs = 34534224}, dummy = <invalid float value>}
        gc = <value optimized out>
        t1 = 0
#7  0x000000392a508aca in collect_generations (basicsize=<value optimized out>) at Modules/gcmodule.c:924
        i = 2669
#8  _PyObject_GC_Malloc (basicsize=<value optimized out>) at Modules/gcmodule.c:1363
        op = <value optimized out>
        g = 0x38e6858
#9  0x000000392a4a42f9 in PyType_GenericAlloc (type=0x392a778ee0, nitems=0) at Objects/typeobject.c:763
        obj = <value optimized out>
        size = 40
#10 0x000000392a45fd5c in BaseException_new (type=0xa6d, args=<value optimized out>, kwds=0x6) at Objects/exceptions.c:35
No locals.
#11 0x000000392a499a33 in type_call (type=0xa6d, args=0x38c8f50, kwds=0x0) at Objects/typeobject.c:731
        obj = <value optimized out>
#12 0x000000392a443b33 in PyObject_Call (func=0x392a778ee0, arg=0xa6d, kw=0x6) at Objects/abstract.c:2492
        result = 0x7fff1a15b6f8
        call = 0x392a499a00 <type_call>
#13 0x000000392a4d6cc3 in PyEval_CallObjectWithKeywords (func=0x392a778ee0, arg=0x38c8f50, kw=0x6) at Python/ceval.c:3575
        result = <value optimized out>
#14 0x000000392a4e7fe7 in PyErr_NormalizeException (exc=0x7fff1a15b6f8, val=0x7fff1a15b708, tb=0x7fff1a15b700) at Python/errors.c:184
        args = 0x38c8f50
        res = <value optimized out>
        type = 0x392a778ee0
---Type <return> to continue, or q <return> to quit---
        value = 0x38c8f50
        inclass = <value optimized out>
        initial_tb = <value optimized out>
        tstate = <value optimized out>
#15 0x000000392a4db81b in PyEval_EvalFrameEx (f=0x306a910, throwflag=<value optimized out>) at Python/ceval.c:2641
        exc = 0x392a778ee0
        val = 0x38c8f50
        tb = 0x38e6e60
        b = 0x306a9a0
        stack_pointer = 0x306aab0
        next_instr = <value optimized out>
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x392a783250
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x306aaa8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x7fcc897e8198
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x7fcc897e3104 "t"
        names = 0x7fcc897df7c0
        consts = 0x7fcc897e6a50
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#16 0x000000392a4dd077 in fast_function (f=0x306a740, throwflag=<value optimized out>) at Python/ceval.c:3792
        i = <value optimized out>
        f = <value optimized out>
        tstate = 0x1c400a0
        stack = 0x0
        co = <value optimized out>
        nd = <value optimized out>
        globals = <value optimized out>
        argdefs = <value optimized out>
        d = <value optimized out>
#17 call_function (f=0x306a740, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x208ea28
        w = <value optimized out>
        nk = <value optimized out>
        n = -1833638144
        pfunc = 0x306a8c8
#18 PyEval_EvalFrameEx (f=0x306a740, throwflag=<value optimized out>) at Python/ceval.c:2389
---Type <return> to continue, or q <return> to quit---
        sp = 0x306a8e0
        stack_pointer = <value optimized out>
        next_instr = 0x2eb8ed3 "S"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x306a8c8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x2fdbcd8
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x2eb8ec4 "t"
        names = 0x2fd6b90
        consts = 0x2fdc610
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#19 0x000000392a4dd077 in fast_function (f=0x306a550, throwflag=<value optimized out>) at Python/ceval.c:3792
        i = <value optimized out>
        f = <value optimized out>
        tstate = 0x1c400a0
        stack = 0x0
        co = <value optimized out>
        nd = <value optimized out>
        globals = <value optimized out>
        argdefs = <value optimized out>
        d = <value optimized out>
#20 call_function (f=0x306a550, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x30078c0
        w = <value optimized out>
        nk = <value optimized out>
        n = -1833638144
        pfunc = 0x306a6f0
#21 PyEval_EvalFrameEx (f=0x306a550, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x306a700
        stack_pointer = <value optimized out>
        next_instr = 0x7fcc8a449533 "\203\002"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
---Type <return> to continue, or q <return> to quit---
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x306a6e0
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x7fcc897f0dc8
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x7fcc8a4494ec "y\017"
        names = 0x7fcc897df6e0
        consts = 0x7fcc897f25d0
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#22 0x000000392a4de4e5 in PyEval_EvalCodeEx (co=0x7fcc897f0dc8, globals=<value optimized out>, locals=<value optimized out>, args=0x31230a8, argcount=<value optimized out>, 
    kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2968
        f = 0x306a550
        retval = <value optimized out>
        freevars = <value optimized out>
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#23 0x000000392a4dcbaf in fast_function (f=0x3122f20, throwflag=<value optimized out>) at Python/ceval.c:3802
        co = 0xa6d
        nd = <value optimized out>
        globals = 0x0
        argdefs = <mized out>
        nk = <value optimized out>
        n = <value optimized out>
        pfunc = 0x31230a8
#25 PyEval_EvalFrameEx (f=0x3122f20, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x31230b8
        stack_pointer = <value optimized out>
        next_instr = 0x20d7fdb "i\002"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = <value optimized out>
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x31230a8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x20de300
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x20d7fcc "|"
        names = 0x20d6af0
        consts = 0x20ddbd0
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#26 0x000000392a4dd077 in fast_function (f=0x30d6a90, throwflag=<value optimized out>) at Python/ceval.c:3792
        i = <value optimized out>
        f = <value optimized out>
        tstate = 0x1c400a0
        stack = 0x0
        co = <value optimized out>
        nd = <value optimized out>
        globals = <value optimized out>
        argdefs = <value optimized out>
        d = <value optimized out>
#27 call_function (f=0x30d6a90, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x215ced8
        w = <value optimized out>
        nk = <value optimized out>
        n = -1833638144
        pfunc = 0x30d6c38
#28 PyEval_EvalFrameEx (f=0x30d6a90, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x30d6c48
        stack_pointer = <value optimized out>
        next_instr = 0x2fe3379 "f\002"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
        v = <value0, arg=0x0, exc=6) at Objects/genobject.c:84
        tstate = 0x1c400a0
        f = 0x30d6a90
        result = <value optimized out>
        __PRETTY_FUNCTION__ = "gen_send_ex"
#30 0x000000392a4d8198 in PyEval_EvalFrameEx (f=0x30d6c80, throwflag=<value optimized out>) at Python/ceval.c:2249
        stack_pointer = 0x30d6e18
        next_instr = 0x2fe32fd "\\\002"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x38d6eb0
        v = 0x8
        w = <value optimized out>
        u = 0x8
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x30d6e10
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x2fe0cd8
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x2fe32f4 "x/"
        names = 0x2fe51d0
        consts = 0x2fe5190
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#31 0x000000392a462d2e in gen_send_ex (gen=0x30c2640, arg=0x0, exc=6) at Objects/genobject.c:84
        tstate = 0x1c400a0
        f = 0x30d6c80
        result = <value optimized out>
        __PRETTY_FUNCTION__ = "gen_send_ex"
#32 0x000000392a4429fc in PyIter_Next (iter=0xa6d) at Objects/abstract.c:3076
        result = <value optimized out>
        __PRETTY_FUNCTION__ = "PyIter_Next"
#33 0x000000392a47f6bf in PyDict_MergeFromSeq2 (d=0x39f8ff0, seq2=<value optimized out>, override=<value optimized out>) at Objects/dictobject.c:1382
        key = 0xffffffff
        value = <value optimized out>
        n = <value optimized out>
        it = 0x30c2640
        i = 0
        item = 0x0
---Type <return> to continue, or q <return> to quit---
        fast = 0x39f8ff0
        __PRETTY_FUNCTION__ = "PyDict_MergeFromSeq2"
#34 0x000000392a47ffa7 in dict_update_common (self=0x39f8ff0, args=<value optimized out>, kwds=0x0, methname=<value optimized out>) at Objects/dictobject.c:1336
        arg = 0x30c2640
        result = <value optimized out>
#35 0x000000392a499af=0x3068b50, throwflag=<value optimized out>) at Python/ceval.c:3917
        callargs = <value optimized out>
        kwdict = 0x0
#38 call_function (f=0x3068b50, throwflag=<value optimized out>) at Python/ceval.c:3729
        func = 0x392a782360
        w = <value optimized out>
        nk = <value optimized out>
        n = <value optimized out>
        pfunc = 0x3068d18
#39 PyEval_EvalFrameEx (f=0x3068b50, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x3068d20
        stack_pointer = <value optimized out>
        next_instr = 0x3027bf9 "\210\001"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = <value optimized out>
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x3068d08
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x2fe0e40
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x3027b74 "|\001"
        names = 0x30274b0
        consts = 0x2fe3290
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#40 0x000000392a4de4e5 in PyEval_EvalCodeEx (co=0x2fe0e40, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=<value optimized out>, 
    kws=<value optimized out>, kwcount=3, defs=0x2fefa68, defcount=3, closure=0x0) at Python/ceval.c:2968
        f = 0x3068b50
        retval = <value optimized out>
        freevars = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#41 0x000000392a46dbcb in function_call (func=0x30051b8, arg=0x38e6128, kw=0x3a307d0) at Objects/funcobject.c:524
        result = <value optimized out>
        argdefs = <value optimized out>
        d = 0x2fefa68
        nk = <val28, kw=0x3a307d0) at Objects/classobject.c:2579
        self = 0x38f7f90
        klass = 0x1
        result = <value optimized out>
#44 0x000000392a443b33 in PyObject_Call (func=0x30b9500, arg=0xa6d, kw=0x6) at Objects/abstract.c:2492
        result = 0x3a307d0
        call = 0x392a4588e0 <instancemethod_call>
#45 0x000000392a49affe in slot_tp_init (self=<value optimized out>, args=0x38d8290, kwds=0x3a307d0) at Objects/typeobject.c:5632
        init_str = 0x7fcc92b0e990
        meth = 0x30b9500
        res = <value optimized out>
#46 0x000000392a499a78 in type_call (type=<value optimized out>, args=0x38d8290, kwds=0x3a307d0) at Objects/typeobject.c:747
        obj = <value optimized out>
#47 0x000000392a443b33 in PyObject_Call (func=0x303f610, arg=0xa6d, kw=0x6) at Objects/abstract.c:2492
        result = 0x2193758
        call = 0x392a499a00 <type_call>
#48 0x000000392a4db2fc in ext_do_call (f=0x3068940, throwflag=<value optimized out>) at Python/ceval.c:4005
        kwdict = <value optimized out>
        nstar = -1833638144
        callargs = <value optimized out>
        stararg = 0x0
#49 PyEval_EvalFrameEx (f=0x3068940, throwflag=<value optimized out>) at Python/ceval.c:2429
        func = 0x303f610
        na = -1
        nk = 1
        n = <value optimized out>
        pfunc = <value optimized out>
        sp = 0x3068ae0
        stack_pointer = <value optimized out>
        next_instr = 0x2193758 "SWnI"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = <value optimized out>
        v = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x3068ad8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x21bd558
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x2193734 "y&"
      e optimized out>, 
    kws=<value optimized out>, kwcount=2, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2968
        f = 0x3068940
        retval = <value optimized out>
        freevars = <value optimized out>
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#51 0x000000392a4dcbaf in fast_function (f=0x30d4cc0, throwflag=<value optimized out>) at Python/ceval.c:3802
        co = 0xa6d
        nd = <value optimized out>
        globals = 0x0
        argdefs = <value optimized out>
        d = 0x0
#52 call_function (f=0x30d4cc0, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x22101b8
        w = <value optimized out>
        nk = <value optimized out>
        n = <value optimized out>
        pfunc = 0x30d4e68
#53 PyEval_EvalFrameEx (f=0x30d4cc0, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x30d4e90
        stack_pointer = <value optimized out>
        next_instr = 0x21386ab "}\005"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = <value optimized out>
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        stream = <value optimized out>
        freevars = 0x30d4e68
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x21bd288
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x213863c "|"
        names = 0x21a47c0
        consts = 0x219b1b8
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#54 0x000000392a4dd077 in fast_function (f=0x3068340, throwflag=<value optimized out>) at Python/ceval.c:3792
        i = <value optimized out>
        f = <value optimized out>
        tstate = 0x1c400a0
        stack = 0x0
        co = <value optimized out>
        nd = <value oput>) at Python/ceval.c:3727
        func = 0x220fe60
        w = <value optimized out>
        nk = <value optimized out>
        n = -1833638144
        pfunc = 0x30684e8
#56 PyEval_EvalFrameEx (f=0x3068340, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x3068510
        stack_pointer = <value optimized out>
        next_instr = 0x219e2d3 "S\001q\020"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x30684e0
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x21bd0a8
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
---Type <return> to continue, or q <return> to quit---
        first_instr = 0x219e294 "xa"
        names = 0x21a4750
        consts = 0x21ba3c0
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#57 0x000000392a4de4e5 in PyEval_EvalCodeEx (co=0x21bd0a8, globals=<value optimized out>, locals=<value optimized out>, args=0x30d38d8, argcount=<value optimized out>, 
    kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2968
        f = 0x3068340
        retval = <value optimized out>
        freevars = <value optimized out>
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#58 0x000000392a4dcbaf in fast_function (f=0x30d3730, throwflag=<value optimized out>) at Python/ceval.c:3802
        co = 0xa6d
        nd = <value optimized out>
        globals = 0x0
        argdefs = <value optimized out>
        d = 0x0
#59 call_function (f=0x30d3730, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x220fc80
        w = <value optimized out>
        nk = <value optimized out>
        n = <value optimized out>
e optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = <value optimized out>
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x30d38d8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x2462eb8
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x2462e64 "t"
        names = 0x2463bb0
        consts = 0x245ac30
---Type <return> to continue, or q <return> to quit---
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#61 0x000000392a4de4e5 in PyEval_EvalCodeEx (co=0x2462eb8, globals=<value optimized out>, locals=<value optimized out>, args=0x2, argcount=<value optimized out>, 
    kws=<value optimized out>, kwcount=0, defs=0x24d4a40, defcount=2, closure=0x0) at Python/ceval.c:2968
        f = 0x30d3730
        retval = <value optimized out>
        freevars = <value optimized out>
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#62 0x000000392a46dbcb in function_call (func=0x24dc320, arg=0x30aaf00, kw=0x35b42a0) at Objects/funcobject.c:524
        result = <value optimized out>
        argdefs = <value optimized out>
        d = 0x24d4a40
        nk = <value optimized out>
        nd = 2
#63 0x000000392a443b33 in PyObject_Call (func=0x24dc320, arg=0xa6d, kw=0x6) at Objects/abstract.c:2492
        result = 0x7fcc8a4564c6
        call = 0x392a46da20 <function_call>
#64 0x000000392a4db2fc in ext_do_call (f=0x31ba920, throwflag=<value optimized out>) at Python/ceval.c:4005
        kwdict = <value optimized out>
        nstar = -1833638144
        callargs = <value optimized out>
        stararg = 0x38d4560
#65 PyEval_EvalFrameEx (f=0x31ba920, throwflag=<value optimized out>) at Python/ceval.c:2429
        func = 0x24dc320
        na = -1
        nk = 0
         opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = <value optimized out>
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x31baab8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x7fcc8a459a08
        instr_ub = -1
        instr_lb = 0
---Type <return> to continue, or q <return> to quit---
        instr_prev = -1
        first_instr = 0x7fcc8a4564b4 "|"
        names = 0x7fcc8a456500
        consts = 0x7fcc8a45a200
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#66 0x000000392a4de4e5 in PyEval_EvalCodeEx (co=0x7fcc8a459a08, globals=<value optimized out>, locals=<value optimized out>, args=0x3986d68, argcount=<value optimized out>, 
    kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2968
        f = 0x31ba920
        retval = <value optimized out>
        freevars = <value optimized out>
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#67 0x000000392a4dcbaf in fast_function (f=0x3986be0, throwflag=<value optimized out>) at Python/ceval.c:3802
        co = 0xa6d
        nd = <value optimized out>
        globals = 0x0
        argdefs = <value optimized out>
        d = 0x0
#68 call_function (f=0x3986be0, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x251bb90
        w = <value optimized out>
        nk = <value optimized out>
        n = <value optimized out>
        pfunc = 0x3986d68
#69 PyEval_EvalFrameEx (f=0x3986be0, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x3986d80
        stack_pointer = <value optimized out>
        next_instr = 0x24c4aa3 "\001d\005"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized o      t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x3986d68
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x25f2198
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x24c4a54 "|"
        names = 0x25e7cb0
---Type <return> to continue, or q <return> to quit---
        consts = 0x252ee88
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#70 0x000000392a4dd077 in fast_function (f=0x3568710, throwflag=<value optimized out>) at Python/ceval.c:3792
        i = <value optimized out>
        f = <value optimized out>
        tstate = 0x1c400a0
        stack = 0x0
        co = <value optimized out>
        nd = <value optimized out>
        globals = <value optimized out>
        argdefs = <value optimized out>
        d = <value optimized out>
#71 call_function (f=0x3568710, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x25f2b90
        w = <value optimized out>
        nk = <value optimized out>
        n = -1833638144
        pfunc = 0x3568920
#72 PyEval_EvalFrameEx (f=0x3568710, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x3568930
        stack_pointer = <value optimized out>
        next_instr = 0x1f4c608 "\001t\""
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x3568920
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x7fcc8a7906c0
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x1f4c324 "t"
        names = 0x1f70f50
        consts = 0x7fcc8b90b120
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#73 0x000000392a4dd077 in fast_function (f=0x3884010, throwflag=<value optimized out>) at Python/ceval.c:3792
    
        nd = <value optimized out>
        globals = <value optimized out>
        argdefs = <value optimized out>
        d = <value optimized out>
#74 call_function (f=0x3884010, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x26c65f0
        w = <value optimized out>
        nk = <value optimized out>
        n = -1833638144
        pfunc = 0x38841a8
#75 PyEval_EvalFrameEx (f=0x3884010, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x38841c0
        stack_pointer = <value optimized out>
        next_instr = 0x26f085c "\001t\t"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x38841a8
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x28553f0
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x26f07d4 "|"
        names = 0x2856050
        consts = 0x7fcc8b929d70
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#76 0x000000392a4dd077 in fast_function (f=0x3483c90, throwflag=<value optimized out>) at Python/ceval.c:3792
        i = <value optimized out>
        f = <value optimized out>
        tstate = 0x1c400a0
        stack = 0x0
        co = <value optimized out>
        nd = <value optimized out>
        globals = <value optimized out>
        argdefs = <value optimized out>
        d = <value optimized out>
#77 call_function (f=0x3483c90, throwflag=<value optimized out>) at Python/ceval.c:3727
        func = 0x291d488
        w = <value optimized out>
        nk = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        n = -1833638144
        pfunc = 0x3483e18
#78 PyEval_EvalFrameEx (f=0x3483c90, throwflag=<value optimized out>) at Python/ceval.c:2389
        sp = 0x3483e28
        staptimized out>
        why = <value optimized out>
        err = <value optimized out>
        x = 0x0
        v = <value optimized out>
        w = <value optimized out>
        u = <value optimized out>
        t = <value optimized out>
        stream = <value optimized out>
        freevars = 0x3483e10
        retval = 0x0
        tstate = 0x1c400a0
        co = 0x2855a08
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x2854a2c "\210"
        names = 0x2857450
        consts = 0x7fcc92b0d050
        __PRETTY_FUNCTION__ = "PyEval_EvalFrameEx"
#79 0x000000392a4de4e5 in PyEval_EvalCodeEx (co=0x2855a08, globals=<value optimized out>, locals=<value optimized out>, args=0x1, argcount=<value optimized out>, 
    kws=<value optimized out>, kwcount=0, defs=0x2fd1128, defcount=1, closure=0x2fd10d0) at Python/ceval.c:2968
        f = 0x3483c90
        retval = <value optimized out>
        freevars = <value optimized out>
        tstate = 0x1c400a0
        x = 0xffffffffffffffff
        u = <value optimized out>
        __PRETTY_FUNCTION__ = "PyEval_EvalCodeEx"
#80 0x000000392a46dacf in function_call (func=0x2e7ade8, arg=0x7fcc92b0d050, kw=0x0) at Objects/funcobject.c:524
        result = <value optimized out>
        argdefs = <value optimized out>
        d = 0x2fd1128
        nk = <value optimized out>
        nd = 1
#81 0x000000392a443b33 in PyObject_Call (func=0x2e7ade8, arg=0xa6d, kw=0x6) at Objects/abstract.c:2492
        result = 0x7fcc92b0d050
        call = 0x392a46da20 <function_call>
#82 0x000000392a4d6cc3 in PyEval_CallObjectWithKeywords (func=0x2e7ade8, arg=0x7fcc92b0d050, kw=0x6) at Python/ceval.c:3575
        result = <value optimized out>
#83 0x00007fcc8c5d7540 in ?? () from /usr/lib64/python2.6/site-packages/sip.so
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#84 0x00007fcc8c96c496 in PyQtProxy::invokeSlot (slot=..., qargs=<value optimized out>) at qpycore_pyqtproxy.cpp:474
        argtup = 0x7fcc92b0d050
        res = <value optimiCKED
        saved_last_sender = 0x0
        res = <value optimized out>
        new_last_sender = 0x2edacb0
#86 0x00007fcc8c96c672 in PyQtProxy::qt_metacall (this=0x2fcbfe0, _c=InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff1a15da70) at qpycore_pyqtproxy.cpp:380
No locals.
#87 0x000000378236a2af in QMetaObject::activate (sender=0x2edacb0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff1a15da70)
    at kernel/qobject.cpp:3293
        receiver = 0x2fcbfe0
        method = <value optimized out>
        currentSender = {sender = 0x2edacb0, signal = 29, ref = 1}
        previousSender = <value optimized out>
        c = 0x3010b30
        last = <value optimized out>
        methodOffset = <value optimized out>
        signal_absolute_index = <value optimized out>
        empty_argv = {0x0}
        locker = {{mtx = 0x2efdec0, val = 49274560}}
        currentThreadData = <value optimized out>
        connectionLists = <value optimized out>
        signalOffset = <value optimized out>
        signal_index = <value optimized out>
#88 0x00000037845ddde2 in QAbstractButton::clicked (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
        _a = {0x0, 0x7fff1a15da6c}
#89 0x000000378432eadb in QAbstractButtonPrivate::emitClicked (this=0x2ec55f0) at widgets/qabstractbutton.cpp:546
        q = 0x2edacb0
        guard = {o = 0x2edacb0}
#90 0x000000378432fd4b in QAbstractButtonPrivate::click (this=0x2ec55f0) at widgets/qabstractbutton.cpp:539
        q = 0x2edacb0
        changeState = <value optimized out>
        guard = {o = 0x2edacb0}
#91 0x000000378432fe2c in QAbstractButton::timerEvent (this=0x2edacb0, e=<value optimized out>) at widgets/qabstractbutton.cpp:1258
        d = 0x2ec55f0
#92 0x00007fcc8c0ed15b in sipQPushButton::timerEvent (this=0x2edacb0, a0=0x7fff1a15e4a0) at sipQtGuiQPushButton.cpp:627
        sipGILState = <value optimized out>
        meth = <value optimized out>
#93 0x000000378236663e in QObject::event (this=0x2edacb0, e=0x7fff1a15e4a0) at kernel/qwidget.cpp:8455
        d = 0x2ec55f0
#95 0x00007fcc8c0ec06b in sipQPushButton::event (this=0x2edacb0, a0=0x7fff1a15e4a0) at sipQtGuiQPushButton.cpp:398
        sipGILState = <value optimized out>
        meth = <value optimized out>
#96 0x0000003783faa9dc in QApplicationPrivate::notify_helper (this=0x1fb8b70, receiver=0x2edacb0, e=0x7fff1a15e4a0) at kernel/qapplication.cpp:4300
        consumed = <value optimized out>
---Type <return> to continue, or q <return> to quit---
#97 0x0000003783fb0aab in QApplication::notify (this=<value optimized out>, receiver=0x2edacb0, e=0x7fff1a15e4a0) at kernel/qapplication.cpp:4183
        d = 0x0
        res = <value optimized out>
#98 0x00007fcc8c104606 in sipQApplication::notify (this=0x2699a70, a0=0x2edacb0, a1=0x7fff1a15e4a0) at sipQtGuiQApplication.cpp:297
        sipGILState = <value optimized out>
        meth = <value optimized out>
#99 0x000000378235774c in QCoreApplication::notifyInternal (this=0x2699a70, receiver=0x2edacb0, event=0x7fff1a15e4a0) at kernel/qcoreapplication.cpp:704
        threadData = 0x249dfd0
        returnValue = <value optimized out>
        result = false
        cbdata = {0x2edacb0, 0x7fff1a15e4a0, 0x7fff1a15e43f}
        d = <value optimized out>
#100 0x000000378237fe02 in sendEvent (this=0x2398760) at kernel/qcoreapplication.h:215
No locals.
#101 QTimerInfoList::activateTimers (this=0x2398760) at kernel/qeventdispatcher_unix.cpp:603
        e = {<QEvent> = {_vptr.QEvent = 0x378265f570, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3782405a60 "QEvent", data = 0x3782406460, extradata = 
    0x0}}, d = 0x0, t = 1, posted = 0, spont = 0, m_accept = 1, reserved = 834}, id = 13}
        firstTime = false
        n_act = 1
        saveFirstTimerInfo = <value optimized out>
        currentTime = {tv_sec = 716, tv_usec = 398522}
        maxCount = <value optimized out>
        saveCurrentTimerInfo = <value optimized out>
#102 0x000000378237d398 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glintdispatcher_glib.cpp:231
        timerSource = Cannot access memory at address 0xacd


More information about the PyQt mailing list