Hi,
lshg/lsh (as of lsh 2.1 on GNU/Linux, x86_64) systematically fails for
me when passed large data streams on stdin:
--8<---------------cut here---------------start------------->8---
$ lsh -G -B fencepost.gnu.org
Passphrase for key `xxx@yyy':
$ lshg fencepost.gnu.org uname -o
GNU/Linux
$ cat /dev/zero | lshg fencepost.gnu.org md5sum
lsh: Protocol error: Write buffer full, peer not responding.
lsh: write_buffer: Attempt to write data to closed buffer.
lsh: Protocol error: Write buffer full, peer not responding.
lsh: write_buffer: Attempt to write data to closed buffer.
[...]
lsh: Protocol error: Write buffer full, peer not responding.
lshg: write_buffer: Attempt to write data to closed buffer.
$ killall lsh
lsh: no process found
--8<---------------cut here---------------end--------------->8---
Conversely, this works well:
--8<---------------cut here---------------start------------->8---
$ cat /dev/zero | lsh fencepost.gnu.org md5sum
--8<---------------cut here---------------end--------------->8---
Any idea what’s wrong or how to debug it?
Thanks,
Ludo’.
Hi again,
As of lsh 2.1, I get this:
--8<---------------cut here---------------start------------->8---
$ lshg -G fencepost.gnu.org
Passphrase for key `xxx@yyy':
Aborted
--8<---------------cut here---------------end--------------->8---
A look at the strace output suggests an assertion failure in one of the
child processes:
--8<---------------cut here---------------start------------->8---
write(2, "lshg: sys.c:109: sys_on_fd: Assertion `((void *)0) == sys->files[fd][ev].f && \"multiple handlers registered for a file event\"' failed.\n", 135) = 135
--8<---------------cut here---------------end--------------->8---
Any ideas?
Thanks,
Ludo’.