Project

General

Profile

Actions

Bug #20150

closed

Memory leak in grapheme clusters

Added by peterzhu2118 (Peter Zhu) 12 months ago. Updated 9 months ago.

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

Description

GitHub PR: https://github.com/ruby/ruby/pull/9414

String#grapheme_cluters and String#each_grapheme_cluster leaks memory because if the string is not UTF-8, then the created regex will not be freed.

For example:

str = "hello world".encode(Encoding::UTF_32LE)

10.times do
  1_000.times do
    str.grapheme_clusters
  end

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

Before:

26000
42256
59008
75792
92528
109232
125936
142672
159392
176160

After:

9264
9504
9808
10000
10128
10224
10352
10544
10704
10896

Related issues 1 (1 open0 closed)

Related to Ruby master - Feature #19908: Update to Unicode 15.1Assignedduerst (Martin Dürst)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0