linux – python 3.3中的BadIDChoice RENDER和X上显示的tktcl

linux – python 3.3中的BadIDChoice RENDER和X上显示的tktcl,第1张

概述我有一个相当复杂的GUI,通过在 linux上运行的 python的tkinter编写,其中一个组件(具有经常更新的Text小部件)导致GUI不经常崩溃(每天一次). 通过X11和Gnome 2.28.2在Mac OSX上运行的guis显示为具有相同的行为.我的python版本是3.3,tk / tcl版本是8.5.我得到的错误是: X Error of failed request: BadI 我有一个相当复杂的GUI,通过在 linux上运行的 python的tkinter编写,其中一个组件(具有经常更新的Text小部件)导致GUI不经常崩溃(每天一次).

通过X11和Gnome 2.28.2在Mac OSX上运行的guis显示为具有相同的行为.我的python版本是3.3,tk / tcl版本是8.5.我得到的错误是:

X Error of Failed request:  BadIDChoice (invalID resource ID chosen for this connection)  Major opcode of Failed request:  148 (RENDER)  Minor opcode of Failed request:  4 (RenderCreatePicture)  Resource ID in Failed request:  0x116517f  Serial number of Failed request:  15106831  Current serial number in output stream:  15106872@H_403_5@  

一个strace看起来像:

11:03:29.632041 recvfrom(13,0x3bae1d4,4096,0) = -1 EAGAIN (Resource temporarily unavailable)11:03:29.632059 recvfrom(13,0) = -1 EAGAIN (Resource temporarily unavailable)11:03:29.632147 poll([{fd=13,events=PolliN|PolLOUT}],1,-1) = 1 ([{fd=13,revents=PolLOUT}])11:03:29.632164 writev(13,[{"\224\4\5\0D\304\361\0\17\274\361\0i\4\0\0\0\0\0\0\224\27\n\0\3\f\340\0\301\v\340\0"...,5032},{NulL,0},{"",0}],3) = 503211:03:29.632193 poll([{fd=13,events=PolliN}],revents=PolliN}])11:03:29.637040 recvfrom(13,"\0\16\302\276x\304\361\0\4\0\224\0\1\0\0\0`\16\330\3\1\0\0\0\243\304\342\210\377\177\0\0"...,NulL,NulL) = 13611:03:29.637135 open("/usr/share/X11/XErrorDB",O_RDONLY) = 3511:03:29.637217 fstat(35,{st_mode=S_IFREG|0644,st_size=41532,...}) = 011:03:29.637360 read(35,"!\n! copyright 1993,1995,1998  "...,41532) = 4153211:03:29.637387 close(35)               = 011:03:29.637820 write(2,"X Error of Failed request:  BadI"...,91) = 91...@H_403_5@  

我的GUI是单线程的(并使用after()调用来监视I / O的套接字).

有谁知道什么可能是错的?有没有更好的调试,我可以做出来找出X错误部分的含义?

解决方法 使用以下日志偶尔崩溃(每天一次)……
X Error of Failed request:  BadIDChoice (invalID resource ID chosen for this connection)  Major opcode of Failed request:  148 (RENDER)  Minor opcode of Failed request:  4 (RenderCreatePicture)@H_403_5@  

…似乎是xcb中已知问题的标志性签名,如下面的线程中的mentioned:

07001

它的补丁可以在here获得.
根据git历史记录,这个xcb BUG应该在libX11-1.1.99.2及更高版本(〜8年前)中修复.

有关进一步参考,请参见email-thread with the complete discussion.

总结

以上是内存溢出为你收集整理的linux – python 3.3中的BadIDChoice RENDER和X上显示的tk / tcl全部内容,希望文章能够帮你解决linux – python 3.3中的BadIDChoice RENDER和X上显示的tk / tcl所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1039957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存