From: "robertgleeson (Robert Gleeson)" Date: 2013-03-30T13:24:39+09:00 Subject: [ruby-core:53837] [Backport93 - Backport #8187] timeout doesn't interrupt assignment. Issue #8187 has been updated by robertgleeson (Robert Gleeson). For my case, this code was run in a subprocess. Instead of using Timeout in the subprocess, I use it from the parent instead, like this: begin Timeout.timeout(1) do Process.wait @pid end rescue Timeout::Error Process.kill 'SIGKILL', @pid end This solves the problem for me. ---------------------------------------- Backport #8187: timeout doesn't interrupt assignment. https://bugs.ruby-lang.org/issues/8187#change-38047 Author: robertgleeson (Robert Gleeson) Status: Open Priority: Normal Assignee: Category: Target version: Timeout does not interrupt & raise like usual with this example code: require 'timeout' Timeout.timeout(0.5) do x = " "*(2**31) end -- http://bugs.ruby-lang.org/