Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: error on TTY read: no such file or directory

On Sep 29,  6:11pm, lordzork@xxxxxxxxxxxx wrote:
}     ((UID)) || {
}         set -x
}         exec 2>|/tmp/login-trace
}     }

You can take that out now, it isn't helping.

} > It was not my question. I do not understand where this data comes from 
} > and how can read one byte return 1025 bytes. It looks more like a 
} > contents of readdir() but I have no idea how can it appear on shell input.

The data printed by strace is misleading.  read() is being called with
the address of single character (line 405 of zle_main.c):

	    r = read(SHTTY, &cc, 1);

Strace displays the arguments as they were passed *to* the read() call,
not as they are returned, so what you're seeing in the trace is just
stack garbage.

Nevertheless, the problem is that read() is returning a positive integer
greater than the number of bytes it was asked to read.  This confuses
the getkey() loop, which only expects that `r' can be 1, 0, or -1 at
that point.  You need to find out why your read() call is so badly broken!

Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   

Messages sorted by: Reverse Date, Date, Thread, Author