Bugzilla – Bug 502
Spritz hangs when finished downloading and installing.
Last modified: 2008-09-26 15:53:18 UTC
I am running Sabayon 3.5 with all the latest updates. I use Spritz to download updates (called from either the notification applet or via the onscreen Icon). It appears to run correctly but hangs when finished. It says it is idle, and appears darker than usual, but doesn't allow me to do anything. The notification applet isn't updated to show all is OK. If I click on the 'x' to close it, I get: The window "Spritz Package Manager 0.15.24.2" is not responding. Forcing this application to quit will cause you to lose any unsaved changes. If I force close, it closes. It used to exit correctly, I think before I installed the applet.
I too am experiencing this bug. I would like to add that after forcing Spritz to close and then opening Spritz again, Spritz is unable to install any packages. A message that states another Entropy session is running appears and prevents Spritz from installing any more packages. The only way I know to be able to use Spritz to install any more packages is to reboot.
Some hints FWIW. I checked the hung process with strace: localhost ~ # strace -p 6565 Process 6565 attached - interrupt to quit write(4, "(97) file: /usr/share/X11/xkb/sy"..., 42^C <unfinished ...> I then looked at the file descriptors and found that this was a pts: python 6565 root 0u CHR 136,1 0t0 3 /dev/pts/1 python 6565 root 1u CHR 136,1 0t0 3 /dev/pts/1 python 6565 root 2u CHR 136,1 0t0 3 /dev/pts/1 python 6565 root 3u CHR 5,2 0t0 3053 /dev/ptmx python 6565 root 4u CHR 136,3 0t0 5 /dev/pts/3 OK, so maybe some other process forgot to retrieve that..use a little C prog to flush the pts: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <unistd.h> main(int argc, char *argv[]) { int fd; if (argc != 2) { fprintf(stderr, "Usage: %s <ttydev>\n"); exit(1); } if ((fd = open(argv[1], O_RDWR)) < 0) { fprintf(stderr, "%s", argv[1]); perror(""); exit(1); } if (tcflush(fd, TCIOFLUSH) != 0) { fprintf(stderr, "%s", argv[1]); perror("TCIOFLUSH"); exit(1); } } This got spritz to continue. I think I had to do it a second time later on, but I have been able to run it successfully by flushing whenever it gets stuck writing to that pts.
After a reinstall, this appears to be fixed. Has it been fixed or was my initial problem due to the install.
Should be fixed in 0.20.2. Reopen if not