sassoftware / sassoftware/arke
Goroutine leaks and silent TLS config fallback in arke Serve
Open
Nobody has claimed this yet.
bug
go
- Dominant language
- Go
- Stars
- 6
- Forks
- 2
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 8
Description
A few issues in the server's Serve path:
listener()silently falls back to cleartext whentlsConfigreturns an error, even though the operator asked for TLS. The error should be surfaced instead.serveErrChanis unbuffered and the non-OpErrorbranch does not return, leaving a sender blocked on shutdown and leaking the goroutine.- The signal-handler goroutine does not exit on context cancel and
signal.Notifyis never stopped, so goroutines accumulate across repeatedServecalls.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the Serve path, tracing listener(), serveErrChan, the non-OpError branch, and the signal-handler goroutine using signal.Notify. Confirm each shutdown path and verify that TLS errors are surfaced, error sends cannot block, and repeated Serve calls do not accumulate goroutines.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100