[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Hangs on error when input is a pipe
From: |
Ben Longbons |
Subject: |
Hangs on error when input is a pipe |
Date: |
Sat, 27 Jun 2015 13:15:32 -0700 |
When bison is invoked with input from a pipe (e.g. `/dev/stdin`) on a
grammar that contains an error, it will hang indefinitely when trying
to print the caret diagnostic.
Testing with `strace` indicates that the `read` syscall is being
called repeatedly even though it returns 0 (i.e. EOF). Without
investigation, I can only assume this is a failure to check `feof` in
libc?
As a workaround, pass `--feature=none` to disable caret diagnostics.
Tested with bison 3.0.2 (as packaged in Debian Jessie, which is
probably just removing the nonfree documentation), but I've checked
the git log for 3.0.4 and don't see anything that looks like it would
change this.
-o11c
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Hangs on error when input is a pipe,
Ben Longbons <=