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