Skip to content
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

Open
srid opened this issue Oct 2, 2012 · 6 comments
Open

goreman is eating empty lines #5

srid opened this issue Oct 2, 2012 · 6 comments

Comments

@srid
Copy link
Contributor

srid commented Oct 2, 2012

when run directly, you'll note that there are two empty lines at the end, but not in goreman:

sridharr@dhcp-26 ~/d/c/aura> make
/Users/sridharr/go/bin/goreman  start
2012/10/01 20:41:10 [web] START
2012/10/01 20:41:10 [web] https://api.dropbox.com/1/account/info?
2012/10/01 20:41:10 [web] {ReferralLink: DisplayName: Uid:0 Country: QuotaInfo:{Shared:0 Quota:0 Normal:0}}
2012/10/01 20:41:10 [web] QUIT
sridharr@dhcp-26 ~/d/c/aura> ./aura 
https://api.dropbox.com/1/account/info?
{ReferralLink: DisplayName: Uid:0 Country: QuotaInfo:{Shared:0 Quota:0 Normal:0}}


sridharr@dhcp-26 ~/d/c/aura> 
@mattn
Copy link
Owner

mattn commented Aug 19, 2013

Sorry for delay. Is this an issue that related logger?

@seebs
Copy link
Contributor

seebs commented Jun 22, 2018

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.

@ticky
Copy link

ticky commented Sep 25, 2018

Confirming that this behaviour is still present, it was even reified (and subtly changed) by #54.

@seebs
Copy link
Contributor

seebs commented Sep 25, 2018

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.

@ticky
Copy link

ticky commented Sep 25, 2018

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):

image

within goreman, it’s dropping those blank lines:

image

I do recognise that the “grouping output that is attempting to incrementally write itself” is probably the trickier, and more important, problem!

@seebs
Copy link
Contributor

seebs commented Sep 25, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants