Hello,

I've noticed that upon loading a stream key with a maxlen from a rdb file, that stream key no longer allows one to push new data to the stream.

Meaning that after I reload that rdb file, and try to add new data to that same key, via a the client , the client crashes. However one can read from the stream.

If I delete that key from the rdb file, and try again. The client still crashes.

My only workaround has been to use rdb tools to copy the rdb file into a fresh instance.

Comment From: oranagra

What do you mean by "a stream key with a maxlen"? Is it the client that crashes or redis? can you please post the crash log?

Comment From: EmpireofKings

The server does not crash and does not show an error. The clients crash

The command is:

XADD im_0 maxlen 33 * image %b

So after that's set a few times, save the redis server via BGSAVE.

Exit the redis server, and restart it, loading the dump.rdb file on startup.

Execute the command again:

XADD im_0 maxlen 33 * image %b

The redis-cli will exit and not show an error.

If you use hiredis instead of the command line results in a double free tcache error.

Comment From: madolson

I wasn't able to reproduce it following those steps. Any information about the versioning your running and if you can try running it against a later Redis version?

Comment From: oranagra

@EmpireofKings other than specifying the client (redis-cli / hiredis) version, and maybe your OS / HW architecture, considering that we still can't reproduce it, maybe you can run it with gdb or valgrind and show us some information on the crash.