From: normalperson@... Date: 2018-07-21T03:05:00+00:00 Subject: [ruby-core:88037] [Ruby trunk Bug#14929] [PATCH] thread.c (do_select): fix leak on exception Issue #14929 has been reported by normalperson (Eric Wong). ---------------------------------------- Bug #14929: [PATCH] thread.c (do_select): fix leak on exception https://bugs.ruby-lang.org/issues/14929 * Author: normalperson (Eric Wong) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: REQUIRED, 2.4: REQUIRED, 2.5: REQUIRED ---------------------------------------- ``` thread.c (do_select): fix leak on exception When do_select is interrupted and raise happens from RUBY_VM_CHECK_INTS_BLOCKING, the original FD sets we copied do not get freed, leading to a memory leak. Wrap up all the FD sets into a Ruby object to ensure the GC can release an allocations made for rb_fdset_t. This leak existed since Ruby 2.0.0 (r36430) ``` I found this bug because I was tracking down a problem while working on timer-thread elimination. ---Files-------------------------------- 0001-thread.c-do_select-fix-leak-on-exception.patch (3.87 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: