dspinellis / dgsh

Shell supporting pipelines to and from multiple processes
http://www.spinellis.gr/sw/dgsh/
Other
323 stars 22 forks source link

Assertion failure in negotiation #89

Closed lucaswerkmeister closed 7 years ago

lucaswerkmeister commented 7 years ago
cat | {{ cat & }}

dgsh-tee: negotiate.c:923: calculate_conc_fds: Assertion `c->input_fds == c->output_fds' failed. 1271 dgsh: timeout for negotiation. Exit.

This is with a recent build (74af9f5b836f9f0d574db742d629adcc488788fc, including the fix for #88).

mfragkoulis commented 7 years ago

Although it does not make sense as a use case, it is a valid script syntactically speaking. It runs fine on Debian Jessie. I just added a test for this. Hopefully, the Travis build on Ubuntu Linux will verify this.

Now, we must figure out why it does not run normally on your end. Can you please run it with DGSH_DEBUG_LEVEL=4 and share the log output?

lucaswerkmeister commented 7 years ago

Sure: https://gist.github.com/lucaswerkmeister/c4a53bbf115ec9cb511a79a70939f851 (DGSH_DEBUG_LEVEL=4 dgsh -c 'cat | {{ cat & }}' 2>&1 | xclip)

mfragkoulis commented 7 years ago

Does it work now?

lucaswerkmeister commented 7 years ago

Yes, thanks!