Skip to content

Ruby segfault after fork in 1.76.0 #41264

@rwstauner

Description

@rwstauner

What version of gRPC and what language are you using?

Ruby 3.4.7
GRPC 1.76.0

What operating system (Linux, Windows,...) and version?

Linux x86_64 (Ubuntu 24.04, glibc 2.39)

What runtime / compiler are you using (e.g. python version or version of gcc)

GNU C++17 13.3.0

What did you do?

Reproduction script in a gist: https://gist.github.com/rwstauner/c73c0fd41f09ef7fd49cb49008d71728#file-repro-rb

What did you expect to see?

No crash

What did you see instead?

SEGV
With the linked reproduction script and grpc 1.76.0 one of two of the forked processes will SEGV at least 40% of the time.
On 1.75.0 the script runs successfully every time.

linked gist also includes example of ssl corruption messages:
https://gist.github.com/rwstauner/c73c0fd41f09ef7fd49cb49008d71728#file-segv_plus_ssl_messages-log-L20-L28

After looking at several production crashes and some local ones from this reproduction script I had an LLM combine all the info and write up a report with the backtrace, code samples, RCA, etc which is also in the gist:
https://gist.github.com/rwstauner/c73c0fd41f09ef7fd49cb49008d71728#file-analysis-md

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions