GNOME Bugzilla – Bug 107258
terminal emulation hangs consuming 100% cpu time
Last modified: 2004-12-22 21:47:04 UTC
This problem happens with latest cvs vte in gnome-2-2 branch It only affects a single window, the process itself is still usable. This happens when vte gets a lot of input data at once so that the ring buffer gets full. The glib callback for the io channel calls vte to process the input forever. There is a warning message on the console (Error reading from child: Bad address). I debugged this one and found that in the following lines: (line 7320 in src/vte.c) if (condition & G_IO_IN) { bcount = sizeof(buf) - _vte_buffer_length(terminal->pvt->incoming); bcount = read(fd, buf, MAX(bcount, sizeof(buf) / 2)); } read is called with -1 as third argument (the length) and read returns an EFAULT.
This should be fixed in CVS and in the next 0.10 release.