Project

General

Profile

Actions

Bug #20521

closed

Memory leak in Ripper parsing

Added by kddnewton (Kevin Newton) 6 months ago. Updated 6 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:118154]

Description

Currently, this code is leaking:

require "ripper"

source = <<~'RUBY'
<<-A; %w[j\
i
A
j]
RUBY

10.times do
  100_000.times do
    Ripper.sexp_raw(source)
  end

  puts `ps -o rss= -p #{$$}`
end

This results in:

 31584
 36304
 41504
 47008
 51712
 56384
 61088
 65792
 70480
 75200

I haven't managed to track it down, but I can see that 3.2.2 does not leak but 3.3.0 does leak.


Related issues 2 (0 open2 closed)

Related to Ruby master - Bug #18963: Ripper.tokenize(code).join != code when heredoc and multiline string is on the same lineClosedActions
Related to Ruby master - Bug #19835: Parser leaks memory for incomplete tokensClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0