From: "peterzhu2118 (Peter Zhu)" Date: 2021-10-22T18:07:00+00:00 Subject: [ruby-core:105755] [Ruby master Bug#18264] TracePoint leaks memory Issue #18264 has been reported by peterzhu2118 (Peter Zhu). ---------------------------------------- Bug #18264: TracePoint leaks memory https://bugs.ruby-lang.org/issues/18264 * Author: peterzhu2118 (Peter Zhu) * Status: Open * Priority: Normal * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- # GitHub PR: https://github.com/ruby/ruby/pull/5008 TracePoint leaks memory because it allocates a `rb_tp_t` struct without ever freeing it (it is created with `RUBY_TYPED_NEVER_FREE`). This is reproducible on all maintained Rubies (2.6.8, 2.7.4, 3.0.2, master) on Ubuntu 20.04. The follow string demonstrates the issue. ```ruby 100.times do 10000.times do TracePoint.new(:line) {} end # Output the Resident Set Size (memory usage, in KB) of the current Ruby process puts `ps -o rss= -p #{$$}` end ``` We can see the leak through the following graph of the Resident Set Size (RSS) comparing the branch vs. master (at commit 6b9285e8d45e88c5b014b8428520ffa2401789ad). ![](https://user-images.githubusercontent.com/15860699/138502310-007bd725-d364-4be4-b128-ebdb859b8613.png) -- https://bugs.ruby-lang.org/ Unsubscribe: