python debugging crash gtk pygtk

Grave inestabilidad con pygtk 2.22 y python 2.6



debugging crash (1)

¿Alguien se ha encontrado con esto?

Tomé la muestra de GTK HelloWorld . Funciona bien Sin embargo, si import win32ui , entonces no se import win32ui correctamente (como se explica en esta pregunta ).

Hay otros problemas En el proceso de reducir mi aplicación para ver qué causaba que no se apagara, llegué a un punto en el que estaba deconstruyendo una clase de registrador que había escrito con la que no tenía problemas. En el constructor tenía la línea:

self.logger = logger

self.logger el resto de la clase, por lo que self.logger ni siquiera se usó. Si dejé la línea tal como está, obtendría este error al hacer clic en el botón "Hola mundo":

c:/python26/lib/site-packages/twisted/internet/gtk2reactor.py:350: GtkWarning: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)'' failed gtk.main()

Si cambio la línea a:

self.logger = 0

entonces el error no aparece. Esto sucedió con varias otras líneas de código en la clase de registrador también. Sospecho que pasaría con otros bits de código aleatorios también. Pero en cualquier caso, establecer una variable que ni siquiera se utiliza no debería causar ningún tipo de problema. Tenga en cuenta que en este momento todavía estaba usando twisted con pygtk. No he reproducido esto todavía con solo gtk.

Esto me hace sospechar que pygtk está siendo realmente inestable ... ¿alguien se ha encontrado con esto antes? ¿Hay algo que pueda hacer? La razón por la que actualicé desde gtk 2.12 fue porque mi aplicación fallaría aleatoriamente, pero esto es mucho peor.

ACTUALIZACIÓN: los errores ocurren en Windows 7 de 64 bits. He intentado tanto con python de 32 bits con las versiones enumeradas anteriormente, como con python-pygtk-2.17.1, pygobject-2.21.2, pycairo-1.8. 8 y pywin32-214.

Hasta ahora, el error win32ui no ocurre con la misma instalación en una máquina virtual VirtualBox de Windows XP.


Lo intenté en una instalación diferente de Win7 de 64 bits en una computadora diferente, y funcionó bien. Entonces, es algo extraño con el hardware / otro software en una computadora en particular. Probablemente nada relacionado con gtk o win32.