Há um tempo, minhas aplicações em pygtk que usam threads começaram a travar.
A impressão que eu tinha é que quando alguma thread acabava sua função, o mainloop da gtk não voltava ao normal.
Criei outro usuário no sistema e rodei as mesmas aplicações, mas o erro não ocorreu novamente, daí, fiz um diff das variáveis de ambiente dos meus usuários e reparei que a variável de ambiente:
GTK_MODULES era a principal diferença.
No usuário onde as aplicações travavam o valor era:
GTK_MODULES=”gnomebreakpad:gail:atk-bridge”
No usuário onde as aplicações NÃO travavam era simplesmente:
GTK_MODULES=”gnomebreakpad”
Daí, descobri 2 coisas:
A “culpa” era da opção que eu havia marcado nas preferências de acessibilidade do GNOME:
Sistema->Preferências->Acesso Universal->Preferência das Tecnologias Assistivas
“Habilitar tecnologias assistivas”
Isso é pelo fato da libgail e libatk serem módulos que podem ser carregados toda vez q a GTK é inicializada, basta definir tais módulos na variável de ambiente GTK_MODULES.

A segunda coisa que descobri é que as aplicações que usam threads em pygtk, de alguma forma, não são compatíveis com gail e atk. Isso é um tanto preocupante, e assim que eu contornar a situação postarei aqui.