To add to these excellent points, and possibly to help repro the crash: the signals being sent to the thread case will (I believe) almost certainly be a SIGALRM, to implement a timeout (and such wouldn't be maskable from outside since it's fundamental to how I assume curl works). Therefore, to repro it, you would need a web service that reliably times out. Test::Mojo is very helpful in creating such things.