Tôi có một GUI khá phức tạp được viết trên python's tkinter
chạy trên linux. (một lần một ngày).BadIDChoice RENDER trong Python 3.3 và tk/tcl được hiển thị trên X
Các guis đang được hiển thị cho X chạy trên cả Mac OSX đến X11 và Gnome 2.28.2 với cùng một hành vi. Phiên bản python của tôi là phiên bản 3.3 và tk/tcl là 8.5. Các lỗi tôi nhận được là:
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
một strace
trông giống như:
11:03:29.632041 recvfrom(13, 0x3bae1d4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
11:03:29.632059 recvfrom(13, 0x3bae1d4, 4096, 0, 0, 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) = 5032
11:03:29.632193 poll([{fd=13, events=POLLIN}], 1, -1) = 1 ([{fd=13, 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"..., 4096, 0, NULL, NULL) = 136
11:03:29.637135 open("/usr/share/X11/XErrorDB", O_RDONLY) = 35
11:03:29.637217 fstat(35, {st_mode=S_IFREG|0644, st_size=41532, ...}) = 0
11:03:29.637360 read(35, "!\n! Copyright 1993, 1995, 1998 "..., 41532) = 41532
11:03:29.637387 close(35) = 0
11:03:29.637820 write(2, "X Error of failed request: BadI"..., 91) = 91
...
GUI của tôi là đơn luồng (và sử dụng after()
gọi để giám sát ổ cắm cho I/O).
Có ai biết điều gì có thể sai không? Có cách nào tốt hơn để gỡ lỗi mà tôi có thể làm để tìm hiểu xem phần X Error
có nghĩa là gì?
số lượng dữ liệu sẽ đi vào tiện ích văn bản? nó phát triển không có giới hạn, hoặc bạn xóa dữ liệu cũ và thay thế nó bằng mới? Bạn đang sử dụng rất nhiều thẻ? –
@BryanOakley dữ liệu/hình ảnh đầu ra liên tục thay đổi, nhưng nó chỉ giới hạn ở giá trị của màn hình. Tôi liên tục gọi 'textwin.delete (1.0, END); textwin.insert (END, văn bản) '. Tôi chắc chắn sử dụng nhiều thẻ. Có lẽ một cách tốt hơn/một cách khác tôi nên cố gắng để xem nếu tôi nhận được cùng một hành vi? – gnr
Tôi vừa xác nhận xem bạn có tiếp tục xóa và chèn hay không, so với chỉ chèn vô hạn. Có vẻ như bạn đang làm đúng. –