De vez em quando, o Deluge chega a 100% da CPU sem motivo aparente (sem torrents ativos). Se eu reiniciar, a CPU vai para cerca de 0%
Alguém mais encontrou isso?
Editar:
Lol, finalmente resolveu o bug (depois de algumas investigações). Em suma, parece que é causada por Deluge usando twisted.internet.run () em vez de gtk.main () para o loop principal e, em seguida, twisted.internet.run () chamando gobject.threads_init () internamente, que define um manipulador SIGCHLD e, finalmente, resume-se a um bug no PyGtk que é resovado por este patch :
diff --git a/gtk/gtk.override b/gtk/gtk.override
index 75018f4..94309a6 100644
--- a/gtk/gtk.override
+++ b/gtk/gtk.override
@@ -1151,9 +1151,10 @@ pygtk_main_watch_check(GSource *source)
#ifdef HAVE_PYSIGNAL_SETWAKEUPFD
PySignalWatchSource *real_source = (PySignalWatchSource *)source;
GPollFD *poll_fd = &real_source->fd;
- int data_size = 0;
+ unsigned char dummy;
+ gssize ret;
if (poll_fd->revents & G_IO_IN)
- data_size = read(poll_fd->fd, 0, 1);
+ ret = read(poll_fd->fd, &dummy, 1);
#endif
state = pyg_gil_state_ensure();
Agora o Deluge funciona bem, e eu entendo que esse patch corrige um bug similar em outros programas que usam o PyGtk também.