Messages in this thread | | | Date | Fri, 09 Jan 1998 03:56:30 +0100 | From | Bjoern Kriews <> | Subject | select/read misbehaviour(?) in 2.1.78 |
| |
strace on 2.0.33:
oldselect(1024, [3 4], NULL, NULL, NULL) = 1 (in [4]) read(4, "\377\377\377\377@\0\0\0\t\0\0\0\""..., 16) = 16
strace on 2.1.78:
oldselect(1024, [3 4], NULL, NULL, NULL) = 1 (in [4]) read(4, "", 16) = 0
As expected, errno does not get set.
The problem arises with the FvwmCommandS module (fvwm-2.0.46). It does the select and then calls into the fvwm2-lib, which does the read. The fvwm code looks ok (and runs well for me since 2.0.30).
I experienced a similar problem a while ago with 2.0.x kernels: When running with an initrd-ramdisk-root I couldnt use "dir" when ftp-ing to the machine while get/put worked. strace-ing various ftpds and ftps showed that the ls got started and wrote its data to the pipe while the pipe-read returned 0. This was related to some condition on the ramdisk-root but I wasn't able to figure out the reason.
I am willing to dive into the kernel-select-code but I would appreciate a kernel-hackers comment on where to start.
To reproduce the situation copy this file to your fvwm2 moduledir/trace:
#!/bin/sh /usr/bin/strace -f /usr/lib/X11/fvwm2/FvwmCommandS $* >/tmp/trace 2>&1
and start it as a module from fvwm, i.e. in your .fvwm2rc
AddToFunc InitFunction + "I" Module trace
If someone wants to look into it but cant reproduce the problem, I can setup a login for you - mail me (bkr) @cut.de (sorry, hate spam).
Regards, Bjoern
-- Frequent, random crashes: Make sure you have sufficient swap space. (unix-3.04.html, Netscape Communications Corp.1997)
| |