-
-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
goreman is eating empty lines #5
Comments
Sorry for delay. Is this an issue that related logger? |
To clarify: It appears to be intentional that goreman eats empty lines. There's an explicit check for line length being greater than one including the newline. Unfortunately, it's got a bug, so it also eats single-byte non-newline writes, but emits a blank line (with no header) when it gets one. |
Confirming that this behaviour is still present, it was even reified (and subtly changed) by #54. |
Interesting! Do you have a reproducer/test case? I tried to come up with some simple tests for the line handling behavior that PR 54 was addressing, and it passed those, but it's possible that I missed some cases. The underlying problem is probably formally-impossible; determining whether or not more of a line is expected to arrive later is difficult at best. |
Oh, I missed that that was your PR! 😅 The particular case we’re seeing is using minio (for s3 emulation) within our Procfile. At startup it emits a block of information about the server it’s running (same behaviour in foreman, and this screenshot shows it running inside overmind): within goreman, it’s dropping those blank lines: I do recognise that the “grouping output that is attempting to incrementally write itself” is probably the trickier, and more important, problem! |
On further study: This is actually intentional! See 8ddb825. Possibly it shouldn't be, or should be optional, but it's actually intentional that empty lines get dropped. |
when run directly, you'll note that there are two empty lines at the end, but not in goreman:
The text was updated successfully, but these errors were encountered: