Xpra: Ticket #848: 0.14.23: client crashes

I updated official Debian package from 0.14.18 to 0.14.23 and using client 0.14.23 connected to server 0.14.18. Client crashed within a minute with the following message printed to console:

*** stack smashing detected ***: /usr/bin/python terminated

followed by a long trace.

I can reliably reproduce the problem but I'm not sure which action is causing it. It seems that just working for a little while is enough or may be switching encoding twice.

This appears to be regression as I've been running 0.14.18 on client and server for many weeks (or even months) with no problems whatsoever.

Here is backtrace:

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd980d700 (LWP 19722)]
0x00007ffff6f28107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff6f28107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff6f294e8 in __GI_abort () at abort.c:89
#2  0x00007ffff6f66204 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff7056a2b "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff6fe94c7 in __GI___fortify_fail (msg=msg@entry=0x7ffff7056a13 "stack smashing detected") at fortify_fail.c:31
#4  0x00007ffff6fe9490 in __stack_chk_fail () at stack_chk_fail.c:28
#5  0x00007fffdf2863da in __pyx_pf_4xpra_6codecs_4webp_6decode_6decompress (__pyx_v_data=<optimized out>, __pyx_v_has_alpha=<optimized out>, __pyx_v_rgb_format=<optimized out>,
    __pyx_self=<optimized out>) at xpra/codecs/webp/decode.c:1890
#6  0x00007fffdf2864ce in __pyx_pw_4xpra_6codecs_4webp_6decode_7decompress (__pyx_self=<optimized out>, __pyx_args=
    ('RIFF\xe8\x97\x01\x00WEBPVP8 \xdc\x97\x01\x00pA\x02\x9d\x01*C\x06\t\x01>\x04\x012\x00\x00\x08\x94\xdd\xfd\x02\xfcS\xf8\x07\xaf\xec\x8f\xf8w\xe0\x07p\x17\xe0\x1f\x80\x17\xe0_\x00\x7f\x0b\xfc\x17\xc4\x01\xfc\x03\xb6\x07\xf5^`\x0f\xe1\x9f\xc0?\x006\x80\x7f\x00\xfe\x11\xfc\x9b\xc8\x0b\xf0\x0e\xf0\x1f\xd5}\x87\xff\x0b\xfe\x11\xfcc\xf17\xf7\'\xf7\xd7\xa0[\xf8\x07\xf0\x0ffxG\xf8\x07\xa1\x7f\x80\xfe\x01\xf8\x89\xfb\x19\xfe\x03X\x03\xf8\x07\xe2O\xec\x07\xf6m\xa0\x0f\xe0\x1f\x8e\xdf\xd5w@?\x80~7o\x00\x7f\x00\xfcf\xf5b\xfc\x03\xf1\'\xa4?\xf0\xef\xe0\xbf\xc0?!?\xac\xf1\x80\x7f\x00\xf6\xa8\x99\xfd\xcb\xfa\xcf\xf4\xcf\xef_\xd7\xff\xf5y+7\xde\xab\xfd\'\xfc\xc7\xf7o\xf1?\xf2\xbf\xd3\xff\xc5\xfaS\xe1^T\xfa\xf5\xf6\xbf\xea\xff\xce\xbf\xb1\xff\x91\xff\x7f\xff\x1f\xe6o\xfao\xee\xbf\xb7\x9f\xe0:\x0e\xe7\xbf\xf5\x1f\xdb\xff+\xfd\xf38\x8b\xfb\x87\xf5\xef\xf1\x1f\xec?\xc0\xff\xf6\xfa\x13\xfdw\xf8\xd7\xf5\x9f\xf1\xdf\xc7\xbf\xa0\xfe\x98\xff\xff\xfe\x03\xfc?\xf9\x7f\xf6\xbf\xee\xff~\xff\x80\x1f\xc2\x7f\x86\x7f6\xfe\x81\xfd\xf3\xfcG\x...(truncated), __pyx_kwds=0x0) at xpra/codecs/webp/decode.c:1441
#7  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
#8  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#9  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#10 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#11 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#12 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#13 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#14 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#15 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#16 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#17 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#18 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#19 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#20 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#21 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#22 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#23 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#24 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#25 function_call.lto_priv () at ../Objects/funcobject.c:526
#26 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#27 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#28 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#29 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#30 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#31 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#32 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#33 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#34 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#35 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#36 function_call.lto_priv () at ../Objects/funcobject.c:526
#37 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#38 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#39 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffdb13a190>) at ../Objects/abstract.c:2529
#40 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
#41 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
#42 0x00007ffff7bc70a4 in start_thread (arg=0x7fffd980d700) at pthread_create.c:309
#43 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb) bt full
#0  0x00007ffff6f28107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = 0
        pid = 19706
        selftid = 19722
#1  0x00007ffff6f294e8 in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x434c2f386674752e, sa_sigaction = 0x434c2f386674752e}, sa_mask = {__val = {5064671951101118815, 742618164927480649, 7018357982247675447,
              7378645706714656869, 3472387881215420006, 3467895375777636400, 2319406791620833328, 2319389199435444272, 7365468305578407690, 7365405400577893985, 3474072353718560358,
              2338262304746909744, 3472328296227680304, 3683997478882455584, 2314912014007415348, 10081872}}, sa_flags = 60, sa_restorer = 0x7fffd980bcb0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff6f66204 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff7056a2b "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175
        ap = {{gp_offset = 32, fp_offset = 0, overflow_arg_area = 0x7fffd980bcc0, reg_save_area = 0x7fffd980bc50}}
        fd = 16
        on_2 = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007ffff6fe94c7 in __GI___fortify_fail (msg=msg@entry=0x7ffff7056a13 "stack smashing detected") at fortify_fail.c:31
No locals.
#4  0x00007ffff6fe9490 in __stack_chk_fail () at stack_chk_fail.c:28
No locals.
#5  0x00007fffdf2863da in __pyx_pf_4xpra_6codecs_4webp_6decode_6decompress (__pyx_v_data=<optimized out>, __pyx_v_has_alpha=<optimized out>, __pyx_v_rgb_format=<optimized out>,
    __pyx_self=<optimized out>) at xpra/codecs/webp/decode.c:1890
        __pyx_v_config = {input = {width = 1603, height = 265, has_alpha = 0, has_animation = 0, format = 1, no_incremental_decoding = 0, rotate = 0, uv_sampling = 0, pad = {0, 0}},
          output = {colorspace = MODE_RGB, width = 1603, height = 265, is_external_memory = 1, u = {RGBA = {
                rgba = 0x7fffc4013000 "\353\353\353\367\367\367\375\375\375\375\375\375", '\377' <repeats 188 times>..., stride = 6412, size = 1699180}, YUVA = {
                y = 0x7fffc4013000 "\353\353\353\367\367\367\375\375\375\375\375\375", '\377' <repeats 188 times>..., u = 0x190c <error: Cannot access memory at address 0x190c>,
                v = 0x19ed6c <error: Cannot access memory at address 0x19ed6c>, a = 0x0, y_stride = 0, u_stride = 0, v_stride = 0, a_stride = 0, y_size = 0, u_size = 0, v_size = 0,
                a_size = 0}}, pad = {0, 0, 0, 0}, private_memory = 0x0}, options = {bypass_filtering = 0, no_fancy_upsampling = 0, use_cropping = 0, crop_left = 0, crop_top = 0,
            crop_width = 0, crop_height = 0, use_scaling = 0, scaled_width = 0, scaled_height = 0, use_threads = 0, dithering_strength = 0, force_rotation = 0, no_enhancement = 0, pad = {0,
              0, 0, 0}}}
        __pyx_v_stride = <optimized out>
        __pyx_v_size = <optimized out>
        __pyx_v_buffer = <optimized out>
        __pyx_v_b = 0x7fffdd83fbb0
        __pyx_r = <optimized out>
        __pyx_t_1 = <optimized out>
        __pyx_t_2 = <optimized out>
        __pyx_t_4 = <optimized out>
        __pyx_t_5 = <optimized out>
        __pyx_t_6 = <optimized out>
        __pyx_t_7 = <optimized out>
        __pyx_t_8 = <optimized out>
        __pyx_t_9 = <optimized out>
        __pyx_t_10 = <optimized out>
        __pyx_lineno = <optimized out>
        __pyx_filename = <optimized out>
        __pyx_clineno = <optimized out>
#6  0x00007fffdf2864ce in __pyx_pw_4xpra_6codecs_4webp_6decode_7decompress (__pyx_self=<optimized out>,
    __pyx_args=('RIFF\xe8\x97\x01\x00WEBPVP8 \xdc\x97\x01\x00pA\x02\x9d\x01*C\x06\t\x01>\x04\x012\x00\x00\x08\x94\xdd\xfd\x02\xfcS\xf8\x07\xaf\xec\x8f\xf8w\xe0\x07p\x17\xe0\x1f\x80\x17\xe0_\x00\x7f\x0b\xfc\x17\xc4\x01\xfc\x03\xb6\x07\xf5^`\x0f\xe1\x9f\xc0?\x006\x80\x7f\x00\xfe\x11\xfc\x9b\xc8\x0b\xf0\x0e\xf0\x1f\xd5}\x87\xff\x0b\xfe\x11\xfcc\xf17\xf7\'\xf7\xd7\xa0[\xf8\x07\xf0\x0ffxG\xf8\x07\xa1\x7f\x80\xfe\x01\xf8\x89\xfb\x19\xfe\x03X\x03\xf8\x07\xe2O\xec\x07\xf6m\xa0\x0f\xe0\x1f\x8e\xdf\xd5w@?\x80~7o\x00\x7f\x00\xfcf\xf5b\xfc\x03\xf1\'\xa4?\xf0\xef\xe0\xbf\xc0?!?\xac\xf1\x80\x7f\x00\xf6\xa8\x99\xfd\xcb\xfa\xcf\xf4\xcf\xef_\xd7\xff\xf5y+7\xde\xab\xfd\'\xfc\xc7\xf7o\xf1?\xf2\xbf\xd3\xff\xc5\xfaS\xe1^T\xfa\xf5\xf6\xbf\xea\xff\xce\xbf\xb1\xff\x91\xff\x7f\xff\x1f\xe6o\xfao\xee\xbf\xb7\x9f\xe0:\x0e\xe7\xbf\xf5\x1f\xdb\xff+\xfd\xf38\x8b\xfb\x87\xf5\xef\xf1\x1f\xec?\xc0\xff\xf6\xfa\x13\xfdw\xf8\xd7\xf5\x9f\xf1\xdf\xc7\xbf\xa0\xfe\x98\xff\xff\xfe\x03\xfc?\xf9\x7f\xf6\xbf\xee\xff~\xff\x80\x1f\xc2\x7f\x86\x7f6\xfe\x81\xfd\xf3\xfcG\x...(truncated), __pyx_kwds=0x0) at xpra/codecs/webp/decode.c:1441
        __pyx_v_data = <optimized out>
        __pyx_v_has_alpha = <optimized out>
        __pyx_v_rgb_format = <optimized out>
        __pyx_lineno = 0
        __pyx_filename = 0x0
        __pyx_clineno = 0
        __pyx_r = 0x0
#7  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
        flags = 0
        tstate = 0x19deeb0
        func = <built-in function decompress>
        w = <built-in function decompress>
        nk = 27127472
        n = 0
        pfunc = 0x7fffc8003b40
#8  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffc8003b48
        opcode = 0
#9  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
        f = <unknown at remote 0x8>
        retval = <code at remote 0x7fffe85609b0>
        fastlocals = 0x7ffff6f8efb7
        tstate = 0x19deeb0
        u = 0x0
---Type <return> to continue, or q <return> to quit---
#10 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
        co = 0x4cfa
        globals = <unknown at remote 0x4d0a>
        argdefs = 0x0
#11 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
        func = <function at remote 0x7ffff5586410>
        w = <function at remote 0x7ffff5586410>
        nk = 0
        n = 0
        pfunc = 0x7fffc40014e8
#12 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffc4001528
        opcode = 8
#13 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
        f = Frame 0x7fffc4001320, for file /usr/lib/python2.7/dist-packages/xpra/client/window_backing_base.py, line 494, in draw_region (self=<PixmapBacking(_decoder_lock=<thread.lock at remote 0x7fffdd83fc90>, _last_pixmap_data=(26, 20, 25, "\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe0\xdb\xd9\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe0\xdb\xd9\xe0\xdb\xd9\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe0\xdb\xd9\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe2\xdd\xdb\xe0\xdb\xd9\xe2\xdd\xdb\xe0\xdb\xd9\xe0\xdb\xd9...(truncated)
        tstate = 0x19deeb0
        stack = 0x0
        co = 0x4cfa
        globals = <unknown at remote 0x4d0a>
        argdefs = 0x0
#14 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
        func = <function at remote 0x7ffff5586938>
        w = <function at remote 0x7ffff5586938>
        nk = 27127472
        n = 0
        pfunc = 0x7fffc4001c98
#15 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffc4001ce8
        opcode = -1006628064
#16 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
        f = <unknown at remote 0x8>
        retval = <code at remote 0x7fffdf0135b0>
        fastlocals = 0x7ffff6f8efb7
        tstate = 0x19deeb0
        u = 0x0
#17 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
        co = 0x4cfa
        globals = <unknown at remote 0x4d0a>
        argdefs = 0x0
#18 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
        func = <function at remote 0x7fffdf01a050>
        w = <function at remote 0x7fffdf01a050>
        nk = 0
        n = 0
        pfunc = 0x7fffc4000fc0
#19 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffc4001018
        opcode = 11
#20 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
        f = <unknown at remote 0x8>
        retval = <code at remote 0x7fffe85b8830>
        fastlocals = 0x7ffff6f8efb7
        tstate = 0x19deeb0
        u = 0x0
#21 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
        co = 0x4cfa
        globals = <unknown at remote 0x4d0a>
        argdefs = 0x0
#22 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
        func = <function at remote 0x7ffff5548578>
        w = <function at remote 0x7ffff5548578>
        nk = 0
        n = 0
        pfunc = 0x7fffdb141938
#23 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffdb141948
        opcode = 2
#24 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
        retval = <code at remote 0x7fffe85b8530>
        fastlocals = 0xffffffffffffffff
        u = 0x0
        f = <unknown at remote 0x8>
        tstate = 0x19deeb0
#25 function_call.lto_priv () at ../Objects/funcobject.c:526
---Type <return> to continue, or q <return> to quit---
        argdefs = 0x0
        nd = 27127472
#26 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
        call = 0x4e5c40 <function_call.lto_priv>
#27 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
        nstar = 5135424
        callargs = (<XpraClient(_draw_thread=<Thread(_Thread__ident=140736842487552, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83fed0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83fed0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83fed0>) at remote 0x7fffdb134850>, _Thread__name='draw', _Thread__daemonic=True, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83feb0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83feb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83feb0>) at remote 0x7fffdb1347d0>) at remote 0x7fffdb134790>, _Thread__stderr=<file at remote 0x7ffff7fd81e0>, _Thread__target=<instancemethod at remote 0x7fffdc7b7cd0>, _Thread__kwargs={}, _Verbose__verbose=False, _Thread__args=(),...(truncated)
#28 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
        func = <function at remote 0x7ffff5548500>
        nk = -619491504
        n = 0
        sp = 0x7fffdb14c1d0
        opcode = -619491504
#29 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
        f = Frame 0x7fffdb14c050, for file /usr/lib/python2.7/threading.py, line 763, in run (self=<Thread(_Thread__ident=140736842487552, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83fed0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83fed0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83fed0>) at remote 0x7fffdb134850>, _Thread__name='draw', _Thread__daemonic=True, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83feb0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83feb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83feb0>) at remote 0x7fffdb1347d0>) at remote 0x7fffdb134790>, _Thread__stderr=<file at remote 0x7ffff7fd81e0>, _Thread__target=<instancemethod at remote 0x7fffdc7b7cd0>, _...(truncated)
        tstate = 0x19deeb0
        stack = 0x0
        co = 0x4cfa
        globals = <unknown at remote 0x4d0a>
        argdefs = 0x0
#30 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
        func = <function at remote 0x7ffff54d51b8>
        w = <function at remote 0x7ffff54d51b8>
        nk = 27127472
        n = 0
        pfunc = 0x7fffc4000aa8
#31 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffc4000ab0
        opcode = -619397040
#32 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
        f = Frame 0x7fffc4000910, for file /usr/lib/python2.7/threading.py, line 810, in __bootstrap_inner (self=<Thread(_Thread__ident=140736842487552, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83fed0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83fed0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83fed0>) at remote 0x7fffdb134850>, _Thread__name='draw', _Thread__daemonic=True, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83feb0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83feb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83feb0>) at remote 0x7fffdb1347d0>) at remote 0x7fffdb134790>, _Thread__stderr=<file at remote 0x7ffff7fd81e0>, _Thread__target=<instancemethod at remote 0x7f...(truncated)
        tstate = 0x19deeb0
        stack = 0x0
        co = 0x4cfa
        globals = <unknown at remote 0x4d0a>
        argdefs = 0x0
#33 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
        func = <function at remote 0x7ffff54d5320>
        w = <function at remote 0x7ffff54d5320>
        nk = 27127472
        n = 0
        pfunc = 0x7fffdb145550
#34 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
        sp = 0x7fffdb145558
        opcode = -1006630640
#35 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
        retval = <code at remote 0x7ffff54cb130>
        fastlocals = 0xffffffffffffffff
        u = 0x0
        f = <unknown at remote 0x8>
        tstate = 0x19deeb0
#36 function_call.lto_priv () at ../Objects/funcobject.c:526
        argdefs = 0x0
        nd = 27127472
#37 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
        call = 0x7fffdb134750
#38 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
        klass = (<Thread(_Thread__ident=140736842487552, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83fed0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83fed0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83fed0>) at remote 0x7fffdb134850>, _Thread__name='draw', _Thread__daemonic=True, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffdd83feb0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffdd83feb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffdd83feb0>) at remote 0x7fffdb1347d0>) at remote 0x7fffdb134790>, _Thread__stderr=<file at remote 0x7ffff7fd81e0>, _Thread__target=<instancemethod at remote 0x7fffdc7b7cd0>, _Thread__kwargs={}, _Verbose__verbose=False, _Thread__args=(), _Thread__stopped=False, ...(truncated)
#39 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffdb13a190>) at ../Objects/abstract.c:2529
---Type <return> to continue, or q <return> to quit---
        result = <optimized out>
        call = 0x504450 <instancemethod_call.lto_priv>
#40 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
No locals.
#41 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
        boot = 0x19dee80
        tstate = 0x19deeb0
        res = <optimized out>
#42 0x00007ffff7bc70a4 in start_thread (arg=0x7fffd980d700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7fffd980d700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736842487552, 3507876344633854253, 1, 140737354125408, 0, 140736842487552, -3507800590520055507, -3507858207068419795},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#43 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.
(gdb) thread apply all bt
Thread 7 (Thread 0x7fffc2ffd700 (LWP 19734)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000057bd20 in PyThread_acquire_lock (waitflag=1, lock=0x7fffb8009cd0) at ../Python/thread_pthread.h:324
#2  lock_PyThread_acquire_lock.lto_priv.2551 () at ../Modules/threadmodule.c:52
#3  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
#4  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#5  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#6  0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#7  call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#8  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#9  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#10 0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#11 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#12 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#13 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#14 function_call.lto_priv () at ../Objects/funcobject.c:526
#15 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#16 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#17 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#18 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#19 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#20 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#21 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#22 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#23 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#24 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#25 function_call.lto_priv () at ../Objects/funcobject.c:526
#26 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#27 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#28 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffdb13a910>) at ../Objects/abstract.c:2529
#29 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
#30 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
#31 0x00007ffff7bc70a4 in start_thread (arg=0x7fffc2ffd700) at pthread_create.c:309
#32 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 6 (Thread 0x7fffc37fe700 (LWP 19733)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000057bd20 in PyThread_acquire_lock (waitflag=1, lock=0x7fffb400bba0) at ../Python/thread_pthread.h:324
#2  lock_PyThread_acquire_lock.lto_priv.2551 () at ../Modules/threadmodule.c:52
#3  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
#4  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#5  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#6  0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#7  call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#8  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#9  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#10 0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#11 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#12 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#13 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#14 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#15 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#16 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#17 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#18 function_call.lto_priv () at ../Objects/funcobject.c:526
#19 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#20 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#21 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#22 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#23 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#24 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#25 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#26 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#27 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#28 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#29 function_call.lto_priv () at ../Objects/funcobject.c:526
#30 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#31 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#32 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffdb13a460>) at ../Objects/abstract.c:2529
#33 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
#34 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
#35 0x00007ffff7bc70a4 in start_thread (arg=0x7fffc37fe700) at pthread_create.c:309
#36 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 5 (Thread 0x7fffc3fff700 (LWP 19732)):
---Type <return> to continue, or q <return> to quit---
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x00000000004f6785 in PyThread_acquire_lock (waitflag=1, lock=0xb51690) at ../Python/thread_pthread.h:324
#2  PyEval_RestoreThread () at ../Python/ceval.c:357
#3  0x00000000005bf734 in posix_read.lto_priv () at ../Modules/posixmodule.c:6747
#4  0x00000000004cde4b in ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4343
#5  PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#6  0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#7  function_call.lto_priv () at ../Objects/funcobject.c:526
#8  0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#9  ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#10 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#11 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#12 function_call.lto_priv () at ../Objects/funcobject.c:526
#13 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#14 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#15 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#16 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#17 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#18 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#19 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#20 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#21 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#22 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#23 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#24 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#25 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#26 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#27 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#28 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#29 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#30 function_call.lto_priv () at ../Objects/funcobject.c:526
#31 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#32 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#33 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#34 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#35 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#36 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#37 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#38 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#39 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#40 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#41 function_call.lto_priv () at ../Objects/funcobject.c:526
#42 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#43 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#44 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffe550ef00>) at ../Objects/abstract.c:2529
#45 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
#46 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
#47 0x00007ffff7bc70a4 in start_thread (arg=0x7fffc3fff700) at pthread_create.c:309
#48 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 4 (Thread 0x7fffd8b22700 (LWP 19731)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000057bd20 in PyThread_acquire_lock (waitflag=1, lock=0x7fffc8000f50) at ../Python/thread_pthread.h:324
#2  lock_PyThread_acquire_lock.lto_priv.2551 () at ../Modules/threadmodule.c:52
#3  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
#4  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#5  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#6  0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#7  call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#8  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#9  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#10 0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#11 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#12 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#13 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#14 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#15 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#16 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#17 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#18 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#19 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#20 function_call.lto_priv () at ../Objects/funcobject.c:526
#21 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#22 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#23 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
---Type <return> to continue, or q <return> to quit---
#24 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#25 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#26 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#27 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#28 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#29 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#30 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#31 function_call.lto_priv () at ../Objects/funcobject.c:526
#32 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#33 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#34 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffdc74daa0>) at ../Objects/abstract.c:2529
#35 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
#36 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
#37 0x00007ffff7bc70a4 in start_thread (arg=0x7fffd8b22700) at pthread_create.c:309
#38 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 3 (Thread 0x7fffd980d700 (LWP 19722)):
#0  0x00007ffff6f28107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff6f294e8 in __GI_abort () at abort.c:89
#2  0x00007ffff6f66204 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff7056a2b "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff6fe94c7 in __GI___fortify_fail (msg=msg@entry=0x7ffff7056a13 "stack smashing detected") at fortify_fail.c:31
#4  0x00007ffff6fe9490 in __stack_chk_fail () at stack_chk_fail.c:28
#5  0x00007fffdf2863da in __pyx_pf_4xpra_6codecs_4webp_6decode_6decompress (__pyx_v_data=<optimized out>, __pyx_v_has_alpha=<optimized out>, __pyx_v_rgb_format=<optimized out>,
    __pyx_self=<optimized out>) at xpra/codecs/webp/decode.c:1890
#6  0x00007fffdf2864ce in __pyx_pw_4xpra_6codecs_4webp_6decode_7decompress (__pyx_self=<optimized out>,
    __pyx_args=('RIFF\xe8\x97\x01\x00WEBPVP8 \xdc\x97\x01\x00pA\x02\x9d\x01*C\x06\t\x01>\x04\x012\x00\x00\x08\x94\xdd\xfd\x02\xfcS\xf8\x07\xaf\xec\x8f\xf8w\xe0\x07p\x17\xe0\x1f\x80\x17\xe0_\x00\x7f\x0b\xfc\x17\xc4\x01\xfc\x03\xb6\x07\xf5^`\x0f\xe1\x9f\xc0?\x006\x80\x7f\x00\xfe\x11\xfc\x9b\xc8\x0b\xf0\x0e\xf0\x1f\xd5}\x87\xff\x0b\xfe\x11\xfcc\xf17\xf7\'\xf7\xd7\xa0[\xf8\x07\xf0\x0ffxG\xf8\x07\xa1\x7f\x80\xfe\x01\xf8\x89\xfb\x19\xfe\x03X\x03\xf8\x07\xe2O\xec\x07\xf6m\xa0\x0f\xe0\x1f\x8e\xdf\xd5w@?\x80~7o\x00\x7f\x00\xfcf\xf5b\xfc\x03\xf1\'\xa4?\xf0\xef\xe0\xbf\xc0?!?\xac\xf1\x80\x7f\x00\xf6\xa8\x99\xfd\xcb\xfa\xcf\xf4\xcf\xef_\xd7\xff\xf5y+7\xde\xab\xfd\'\xfc\xc7\xf7o\xf1?\xf2\xbf\xd3\xff\xc5\xfaS\xe1^T\xfa\xf5\xf6\xbf\xea\xff\xce\xbf\xb1\xff\x91\xff\x7f\xff\x1f\xe6o\xfao\xee\xbf\xb7\x9f\xe0:\x0e\xe7\xbf\xf5\x1f\xdb\xff+\xfd\xf38\x8b\xfb\x87\xf5\xef\xf1\x1f\xec?\xc0\xff\xf6\xfa\x13\xfdw\xf8\xd7\xf5\x9f\xf1\xdf\xc7\xbf\xa0\xfe\x98\xff\xff\xfe\x03\xfc?\xf9\x7f\xf6\xbf\xee\xff~\xff\x80\x1f\xc2\x7f\x86\x7f6\xfe\x81\xfd\xf3\xfcG\x...(truncated), __pyx_kwds=0x0) at xpra/codecs/webp/decode.c:1441
#7  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
#8  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#9  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#10 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#11 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#12 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#13 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#14 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#15 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#16 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#17 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#18 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#19 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#20 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#21 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#22 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#23 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#24 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#25 function_call.lto_priv () at ../Objects/funcobject.c:526
#26 0x00000000004cc36b in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#27 ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4346
#28 PyEval_EvalFrameEx () at ../Python/ceval.c:2718
#29 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#30 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#31 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#32 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#33 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#34 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#35 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#36 function_call.lto_priv () at ../Objects/funcobject.c:526
#37 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#38 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#39 0x00000000004d1a1b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffdb13a190>) at ../Objects/abstract.c:2529
#40 PyEval_CallObjectWithKeywords () at ../Python/ceval.c:3902
#41 0x00000000005bc102 in t_bootstrap () at ../Modules/threadmodule.c:614
#42 0x00007ffff7bc70a4 in start_thread (arg=0x7fffd980d700) at pthread_create.c:309
#43 0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 2 (Thread 0x7fffdbd76700 (LWP 19720)):
#0  0x00007ffff6fd050d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff6572ee4 in g_main_context_poll (priority=2147483647, n_fds=2, fds=0x7fffd40008e0, timeout=-1, context=0x18dd620) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x18dd620, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3776
#3  0x00007ffff6572ffc in g_main_context_iteration (context=0x18dd620, may_block=may_block@entry=1) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3842
#4  0x00007ffff6573039 in glib_worker_main (data=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:5589
#5  0x00007ffff6599935 in g_thread_proxy (data=0x18bdc50) at /tmp/buildd/glib2.0-2.42.1/./glib/gthread.c:764
#6  0x00007ffff7bc70a4 in start_thread (arg=0x7fffdbd76700) at pthread_create.c:309
---Type <return> to continue, or q <return> to quit---
#7  0x00007ffff6fd904d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 1 (Thread 0x7ffff7f9e700 (LWP 19706)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000057bd65 in PyThread_acquire_lock (waitflag=1, lock=0xb51690) at ../Python/thread_pthread.h:324
#2  PyEval_RestoreThread (tstate=0x9ae0a0) at ../Python/ceval.c:357
#3  lock_PyThread_acquire_lock.lto_priv.2551 () at ../Modules/threadmodule.c:53
#4  0x00000000004c9e05 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4033
#5  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#6  0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#7  0x00000000004ca31a in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#8  call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#9  PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#10 0x00000000004e5fe8 in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=<optimized out>, kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>,
    args=<optimized out>, locals=<optimized out>, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3265
#11 function_call.lto_priv () at ../Objects/funcobject.c:526
#12 0x00000000005045d8 in PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ../Objects/abstract.c:2529
#13 instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#14 0x00000000004fc959 in PyObject_Call (kw=0x0,
    arg=(['draw', 2010, 292, 88, 1619, 28, 'png', '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x06S\x00\x00\x00\x1c\x08\x02\x00\x00\x00zk\xde\xad\x00\x00\x19\'IDATx^\xed\x9d\x07X\x14W\xd7\x80w\x01\xe9]\x90\x00"b\r\xfa\xd9\x92\xd8b\xec-FbDA\x8a\x85\xc4/*"E\xd1\x08\x8a\xc6\x8a\x1a\x11\x11A\x045Q\xc1\x82\x89\xc6hT\x8a(\xea\x17%1\xc6\xaeI~K\xd4(\n\xd2T\xca\x02[\xfe\xb3\\\x1c\xc7\xd9\xe2\xba\x05f\xd9\xb3\xcf><S\xee=\xf7\x9c\xf7\x1e\xf6\x9e9s\xe7\x0e71!>(p:\x07?H\x00\t \x01$\x80\x04\x90\x00\x12@\x02oC )y\x0bK\x82(\ri\xa2!\xb1o\xc3\x18\xcb"\x81W\x04\xc0!\xb3]& \x11$\xa04\x81\x11\xff~\xdf\xd77H\xe9\xeaX\xb1\xd1\t\xe4\xa5\'\xb1d\xd8\xd5(\n\xd5\x07_6H\xd0("%\x84\x1b\x80\xeb\x14\x17\x17+Q\x13\xab \x01$\x80\x04\x90\x00\x12@\x02H@g\t4o\xde\x1clgC\x10\xa5!M4$Vg\x1d\x06\rW\x91\x00q\xc8N\x96B\x15\xe5`u\x1d\'PV\x82W\xbe\xda\xea\x02\xd6\xb6l\x19v5JP\xf5\xc1\x97\r\x124\x8aH\t\xe1\xc0\xc4\x00\xaa\x89D"%*c\x15$\x80\x04\x90\x00\x12@\x02H\x00\t\xe88\x01\xf6\x04Q\x1a\xd2DCbu\xdcm\xd0|\xa5\tLo\x8f\x99/\xa5\xe1\xe9zE;;\xbb\xd4\x1bx\xe5\xab\xf...(truncated), func=<instancemethod at remote 0x7fffd8dc15f0>) at ../Objects/abstract.c:2529
#15 PyEval_CallObjectWithKeywords (kw=0x0,
    arg=(['draw', 2010, 292, 88, 1619, 28, 'png', '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x06S\x00\x00\x00\x1c\x08\x02\x00\x00\x00zk\xde\xad\x00\x00\x19\'IDATx^\xed\x9d\x07X\x14W\xd7\x80w\x01\xe9]\x90\x00"b\r\xfa\xd9\x92\xd8b\xec-FbDA\x8a\x85\xc4/*"E\xd1\x08\x8a\xc6\x8a\x1a\x11\x11A\x045Q\xc1\x82\x89\xc6hT\x8a(\xea\x17%1\xc6\xaeI~K\xd4(\n\xd2T\xca\x02[\xfe\xb3\\\x1c\xc7\xd9\xe2\xba\x05f\xd9\xb3\xcf><S\xee=\xf7\x9c\xf7\x1e\xf6\x9e9s\xe7\x0e71!>(p:\x07?H\x00\t \x01$\x80\x04\x90\x00\x12@\x02oC )y\x0bK\x82(\ri\xa2!\xb1o\xc3\x18\xcb"\x81W\x04\xc0!\xb3]& \x11$\xa04\x81\x11\xff~\xdf\xd77H\xe9\xeaX\xb1\xd1\t\xe4\xa5\'\xb1d\xd8\xd5(\n\xd5\x07_6H\xd0("%\x84\x1b\x80\xeb\x14\x17\x17+Q\x13\xab \x01$\x80\x04\x90\x00\x12@\x02H@g\t4o\xde\x1clgC\x10\xa5!M4$Vg\x1d\x06\rW\x91\x00q\xc8N\x96B\x15\xe5`u\x1d\'PV\x82W\xbe\xda\xea\x02\xd6\xb6l\x19v5JP\xf5\xc1\x97\r\x124\x8aH\t\xe1\xc0\xc4\x00\xaa\x89D"%*c\x15$\x80\x04\x90\x00\x12@\x02H\x00\t\xe88\x01\xf6\x04Q\x1a\xd2DCbu\xdcm\xd0|\xa5\tLo\x8f\x99/\xa5\xe1\xe9zE;;\xbb\xd4\x1bx\xe5\xab\xf...(truncated), func=<instancemethod at remote 0x7fffd8dc15f0>) at ../Python/ceval.c:3902
#16 PyObject_CallObject () at ../Objects/abstract.c:2517
#17 0x00007ffff63276c8 in _pyglib_handler_marshal (user_data=0x7fffdb148d40) at /build/buildd-pygobject-2_2.28.6-12+b1-amd64-T8QDQv/pygobject-2-2.28.6/glib/pyglib.c:532
#18 0x00007ffff6572b6d in g_main_dispatch (context=0x10a6c90) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3111
#19 g_main_context_dispatch (context=context@entry=0x10a6c90) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3710
#20 0x00007ffff6572f48 in g_main_context_iterate (context=0x10a6c90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3781
#21 0x00007ffff6573272 in g_main_loop_run (loop=0x19e3fe0) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3975
#22 0x00007ffff1791597 in IA__gtk_main () at /build/gtk+2.0-czQfyJ/gtk+2.0-2.24.25/gtk/gtkmain.c:1257
#23 0x00007ffff1e9dff7 in ?? () from /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/_gtk.so
#24 0x00000000004ca960 in call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4017
#25 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#26 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#27 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#28 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#29 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#30 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#31 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#32 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#33 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#34 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#35 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#36 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#37 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#38 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#39 0x00000000004cb8c1 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4129
#40 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#41 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#42 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#43 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#44 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#45 0x00000000004ca592 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=<optimized out>, func=<optimized out>) at ../Python/ceval.c:4119
#46 call_function (oparg=<optimized out>, pp_stack=<optimized out>) at ../Python/ceval.c:4054
#47 PyEval_EvalFrameEx () at ../Python/ceval.c:2679
#48 0x00000000004c87a1 in PyEval_EvalCodeEx () at ../Python/ceval.c:3265
#49 0x00000000005030ef in PyEval_EvalCode (
    locals={'GPollableInputStream': <type at remote 0xef9c20>, 'GFileDescriptorBased': <type at remote 0xf00290>, '__builtins__': <module at remote 0x7ffff7fb6b08>, '__file__': '/usr/bin/xpra', '__package__': None, 'sys': <module at remote 0x7ffff7fb6bb0>, 'init': <function at remote 0x7ffff7e94668>, 'GstChildProxy': <type at remote 0x17c5b80>, 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0x7ffff1cdedc8>, __doc__=<gobject.GObject.__doc__ at remote 0x7ffff7eb73e0>, __module__='gtk') at remote 0xf88a20>, '__name__': '__main__', 'GPollableOutputStream': <type at remote 0xf01ab0>, 'main': <function at remote 0x7ffff3e2c500>, '__doc__': None, 'GstProxyPad': <GObjectMeta(__gtype__=<gobject.GType at remote 0x7fffec124390>, __doc__=<gobject.GObject.__doc__ at remote 0x7ffff7eb73e0>, __module__='gst') at remote 0x17c9290>},
    globals={'GPollableInputStream': <type at remote 0xef9c20>, 'GFileDescriptorBased': <type at remote 0xf00290>, '__builtins__': <module at remote 0x7ffff7fb6b08>, '__file__': '/usr/bin/xpra', '__package__': None, 'sys': <module at remote 0x7ffff7fb6bb0>, 'init': <function at remote 0x7ffff7e94668>, 'GstChildProxy': <type at remote 0x17c5b80>, 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0x7ffff1cdedc8>, __doc__=<gobject.GObject.__doc__ at remote 0x7ffff7eb73e0>, __module__='gtk') at remote 0xf88a20>, '__name__': '__main__', 'GPollableOutputStream': <type at remote 0xf01ab0>, 'main': <function at remote 0x7ffff3e2c500>, '__doc__': None, 'GstProxyPad': <GObjectMeta(__gtype__=<gobject.GType at remote 0x7fffec124390>, __doc__=<gobject.GObject.__doc__ at remote 0x7ffff7eb73e0>, __module__='gst') at remote 0x17c9290>}, co=0x7ffff7ed8bb0) at ../Python/ceval.c:667
#50 run_mod.lto_priv () at ../Python/pythonrun.c:1371
#51 0x00000000004f8c72 in PyRun_FileExFlags () at ../Python/pythonrun.c:1357
#52 0x00000000004f7d77 in PyRun_SimpleFileExFlags () at ../Python/pythonrun.c:949
#53 0x00000000004982f2 in Py_Main () at ../Modules/main.c:640
---Type <return> to continue, or q <return> to quit---
#54 0x00007ffff6f14b45 in __libc_start_main (main=0x497d80 <main>, argc=4, argv=0x7fffffffdfe8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7fffffffdfd8) at libc-start.c:287
#55 0x0000000000497ca0 in _start ()


Wed, 29 Apr 2015 07:56:59 GMT - Antoine Martin: owner changed; milestone set

@onlyjob: which debian release is this? which version of webp? How did you install?

The webp decoding is the cause of the crash it seems (you can confirm by specifying all encodings except webp in encodings):

#5  0x00007fffdf2863da in __pyx_pf_4xpra_6codecs_4webp_6decode_6decompress (__pyx_v_data=<optimized out>, __pyx_v_has_alpha=<optimized out>, __pyx_v_rgb_format=<optimized out>,
    __pyx_self=<optimized out>) at xpra/codecs/webp/decode.c:1890

I don't think there were any changes in this codec for quite some time (trac says at least 8 months: browser/xpra/tags/v0.14.x/src/xpra/codecs/webp), so maybe it is a library issue.


Wed, 29 Apr 2015 08:20:20 GMT - onlyjob:

It is Debian Jessie; Xpra installed from unreleased package. libwebp (0.4.1-1.2). Xpra crashes right away when started with --encoding=webp. How can I specify list of allowed encodings in commine line? Thanks.


Wed, 29 Apr 2015 08:24:15 GMT - Antoine Martin:

libwebp (0.4.1-1.2)


FWIW: latest stable libwebp from their 0.4 branch is 0.4.3.
We don't have any problems with webp on osx, win32, Fedora, centos,.. (and none reported against the Debian / Ubuntu packages for that matter)

How can I specify list of allowed encodings in commine line? Thanks.

--encodings= ie:

xpra attach --no-mmap --encodings=png,rgb

Shows on the server:

using png as primary encoding, also available: rgb24

Wed, 29 Apr 2015 08:30:29 GMT - Antoine Martin:

Another easy way to confirm, is to only use webp or use it as primary encoding: --encoding=webp.


Wed, 29 Apr 2015 08:39:42 GMT - onlyjob:

It is a library change... I've built Xpra-0.4.18 in the exactly the same environment where I built 0.14.23 and reproduced the issue. By comparing build logs I see that libwebp was upgraded from 0.4.1-1.2 to 0.4.3-1 in the build environment... I was however running Xpra with webp 0.4.1-1.2... I'll check whether libwebp should generate tighter dependency or if they introduced regression...


Wed, 29 Apr 2015 09:28:57 GMT - Antoine Martin: status changed; resolution set

I'm closing this as invalid as this doesn't look like this has anything to do with our code. Let us know if there are ways we are supposed to be detecting these sorts of ABI change at runtime. (we have access to the WebPGetDecoderVersion which we expose via xpra info)


Wed, 29 Apr 2015 09:31:19 GMT - onlyjob:

Thanks for your help. I confirm it is breakage in libwebp-0.4.3 that I reported in

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783693


Sat, 23 Jan 2021 05:07:47 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/848