Skip to content
This repository has been archived by the owner on Aug 1, 2022. It is now read-only.

Proxy crashes in long-running app #1359

Closed
xla opened this issue Nov 25, 2020 · 1 comment · Fixed by #1377
Closed

Proxy crashes in long-running app #1359

xla opened this issue Nov 25, 2020 · 1 comment · Fixed by #1377
Assignees
Labels
bug Something isn't working
Milestone

Comments

@xla
Copy link
Contributor

xla commented Nov 25, 2020

When leaving the app running (couple of hours) the proxy will crash, likely from the captured logs filling up

Proxy process exited with status code ERR_CHILD_PROCESS_STDIO_MAXBUFFER and signal null
@xla xla added bug Something isn't working ui labels Nov 25, 2020
@xla xla added this to the v0.1.2 milestone Nov 25, 2020
@cloudhead
Copy link
Contributor

I'm guessing it's because we spawn the proxy with exec and not spawn. The former returns a buffer, which will fill up pretty quickly.

@geigerzaehler geigerzaehler self-assigned this Nov 25, 2020
@xla xla modified the milestones: v0.1.2, v0.1.3 Nov 26, 2020
geigerzaehler pushed a commit that referenced this issue Nov 26, 2020
We change how the proxy process is spawned. Instead of saving all output
of the process in a buffer we only save the 200 most recent lines. In
addition we forward all of the proxy’s output to the main process
output. This allows us to see the proxy logs when starting the app from
the terminal.

To implement this we introduce the `ProxyProcessManager` which
encapsulates this behavior. The logic for line buffering the output of
the process suffers from duplication. I’ve experimented with some
abstractions but they were all to complicated and did not add enough
value.

Fixes #1359
rudolfs pushed a commit that referenced this issue Nov 26, 2020
We change how the proxy process is spawned. Instead of saving all output
of the process in a buffer we only save the 200 most recent lines. In
addition we forward all of the proxy’s output to the main process
output. This allows us to see the proxy logs when starting the app from
the terminal.

To implement this we introduce the `ProxyProcessManager` which
encapsulates this behavior. The logic for line buffering the output of
the process suffers from duplication. I’ve experimented with some
abstractions but they were all to complicated and did not add enough
value.

Fixes #1359
FintanH pushed a commit that referenced this issue Nov 27, 2020
We change how the proxy process is spawned. Instead of saving all output
of the process in a buffer we only save the 200 most recent lines. In
addition we forward all of the proxy’s output to the main process
output. This allows us to see the proxy logs when starting the app from
the terminal.

To implement this we introduce the `ProxyProcessManager` which
encapsulates this behavior. The logic for line buffering the output of
the process suffers from duplication. I’ve experimented with some
abstractions but they were all to complicated and did not add enough
value.

Fixes #1359
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants