-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FiberError/NoMemoryError error related to csv gem occurs when upgrading from ruby 3.1 to 3.3 #326
Comments
Could you provide a script that reproduces this? |
@kou catch(:max_lines) do
File.open(file.path, "rt").each_line.with_index do |line, i|
# handle line with gsub...
csv_parse = CSV.parse(line.gsub(/\r\n?/, "\n"))
# ...
csv_parse.each do |row|
# ...
@file_content << row
end
end
end In csv |
Thanks. |
BTW, |
Hmm. I can't debug this without reproducible data... |
Can you provide |
ohhh sorry. We are using Jenkins and don't have docker compose for this |
When upgrading from ruby
3.1.4
to3.3.5
, FiberError/NoMemoryError error related to csv occurred in our system. In addition, when loading csv file, CPU load also increases compared to before.After investigation we found the cause. It was caused by csv gem. When upgrading ruby version, csv version is also updated (from
3.2.5
to3.2.8
)Even if we try to keep ruby
3.1.4
and only update csv gem to3.2.8
, the FiberError/NoMemoryError error will still occurWe have upgraded ruby 3.3.5 and kept the csv gem version 3.2.5 (same as ruby version 3.1.4) and FiberError/NoMemoryError didn't occur and CPU load also didn't increase
It seems that some changes from csv 3.2.5 to 3.2.8 caused the error. This commit of csv gem is very suspicious
The text was updated successfully, but these errors were encountered: