redis-rb / redis-client

Simple low level client for Redis 6+
MIT License
125 stars 60 forks source link

SystemStackError: stack level too deep #30

Closed jiajiawang closed 2 years ago

jiajiawang commented 2 years ago

Error when hgetall a large object.

pry(main)> (1..(60_000)).each { |i| $redis_client.call("hset", "test", i, i) };
pry(main)> $redis_client.with { |r| r.call("hgetall", "test") }.size
=> 60000
pry(main)> (1..(70_000)).each { |i| $redis_client.call("hset", "test", i, i) };
pry(main)> $redis_client.with { |r| r.call("hgetall", "test") }.size
SystemStackError: stack level too deep
from /Users/jjwang/.rbenv/versions/2.6.8/lib/ruby/gems/2.6.0/gems/redis-client-0.5.1/lib/redis_client/ruby_connection/resp3.rb:151:in `parse_map'
casperisfine commented 2 years ago

Thanks for the report, I fixed this on master.