I'm triggering the compilation using RVM. A regular, non static compilation works, but I want to generate a cacheable binary to use inside CI. Here is the config log: brodock (Gabriel Mazetto)
Some other updates. I've been trying to undestand the `TIME_WAIT` and why it does behave the way it doesn on MacOS (but not on Linux). This response got me ideas to try setting `linger` on: https://stackoverflow.com/questions/3757289/wh...brodock (Gabriel Mazetto)
when the pause happens it seems the socket is still kept alive, based on netstat: (there is a huge list of those): ``` tcp4 0 0 localhost.http-alt localhost.56818 TIME_WAIT tcp4 0 0 localhost.ht...brodock (Gabriel Mazetto)
@jeremyevans0 I'm new to debugging C code. Your idea on filedescriptors seems to to be somewhat spot on. I'm not sure if this is the right way to debug this or not, but I managed to capture "Filesystem activity" through MacOS instrum...brodock (Gabriel Mazetto)
I've also tried to build something similar to "hey" in ruby and couldn´t make it crash (this is likely because of the GVL, we can´t get real concurrency): ```ruby require 'bundler/inline' gemfile do source 'https://rubygems.or...brodock (Gabriel Mazetto)
I've went back to my Linux machine and tried to reproduce the problem. Using Ruby 3.0 (from the package manager), I got to make it crash only using some decent concurrency (100) and running it for longer time: ``` brodock@pop-os:~/Proj...brodock (Gabriel Mazetto)
@jeremyevans0 running apache benchmark with `-c1` does show some of the behavior. It will go from 0 to somethign around 16000 in 4 seconds and get stuck there, see a 3x run log: ``` ab -n 20000 -c 1 http://127.0.0.1:8080/ ...brodock (Gabriel Mazetto)
@jeremyevans0 yes, it behaves the same regarding the max amount of requests it can handle: ``` $ ab -n 20000 -c 50 http://127.0.0.1:8080/ This is ApacheBench, Version 2.3 <$Revision: 1901567 $> Copyright 1996 Adam Twiss, Zeus Tec...brodock (Gabriel Mazetto)