-
Notifications
You must be signed in to change notification settings - Fork 23.8k
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
ZREM does not work, but zrem does ... #9
Comments
That surely isn't a bug in Redis, but in the Ruby library, running these commands using e.g. redis-cli works perfectly well. The Ruby library uses lowercase methods as a convention, and has a known set of methods, which are based on lowercase names. I'd either file a bug report over there, or see if it's still an issue with the widely reworked 2.0 version of it. |
yep, wrong tab open when creating issue :) |
Closed
Closed
ghost
mentioned this issue
Jul 29, 2013
This was referenced Sep 29, 2013
Closed
Closed
Closed
ncopa
pushed a commit
to ncopa/redis
that referenced
this issue
Jan 7, 2016
Add entrypoint and more versions
Closed
antirez
added a commit
that referenced
this issue
Sep 25, 2018
antirez
added a commit
that referenced
this issue
Oct 3, 2018
JackieXie168
pushed a commit
to JackieXie168/redis
that referenced
this issue
Dec 17, 2018
This was referenced May 24, 2020
ewanglong
pushed a commit
to ewanglong/redis
that referenced
this issue
Jun 17, 2020
Extend configuration parameters for DRAM/PMEM ratio variant
yossigo
referenced
this issue
in yossigo/redis
Feb 22, 2022
Running sentinel tests on macOS with address sanitizer results with the error below. ``` ================================================================= ==26381==ERROR: AddressSanitizer: heap-use-after-free on address 0x61300000cd10 at pc 0x00010f90c934 bp 0x7ffee04eb070 sp 0x7ffee04eb068 READ of size 8 at 0x61300000cd10 thread T0 #0 0x10f90c933 in sentinelUpdateSentinelAddressInAllMasters sentinel.c:1182 #1 0x10f91a50b in sentinelProcessHelloMessage sentinel.c:2883 #2 0x10f925038 in sentinelPublishCommand sentinel.c:4384 #3 0x10f7460c3 in call server.c:3156 #4 0x10f749a80 in processCommand server.c:3756 #5 0x10f7af057 in processInputBuffer networking.c:2380 #6 0x10f7944ce in readQueryFromClient networking.c:2492 #7 0x10f9e5e35 in connSocketEventHandler connection.c:295 #8 0x10f723868 in aeProcessEvents ae.c:436 #9 0x10f7245bc in aeMain ae.c:496 #10 0x10f75e2ce in main server.c:6906 #11 0x7fff20954f3c in start+0x0 (libdyld.dylib:x86_64+0x15f3c) 0x61300000cd10 is located 16 bytes inside of 344-byte region [0x61300000cd00,0x61300000ce58) freed by thread T0 here: #0 0x10ffcc4e9 in wrap_free+0xa9 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x444e9) #1 0x10f72a9b4 in dictGenericDelete dict.c:421 #2 0x10f72a4aa in dictDelete dict.c:437 #3 0x10f90c6af in sentinelUpdateSentinelAddressInAllMasters sentinel.c:1195 #4 0x10f91a50b in sentinelProcessHelloMessage sentinel.c:2883 #5 0x10f925038 in sentinelPublishCommand sentinel.c:4384 #6 0x10f7460c3 in call server.c:3156 #7 0x10f749a80 in processCommand server.c:3756 #8 0x10f7af057 in processInputBuffer networking.c:2380 #9 0x10f7944ce in readQueryFromClient networking.c:2492 #10 0x10f9e5e35 in connSocketEventHandler connection.c:295 #11 0x10f723868 in aeProcessEvents ae.c:436 #12 0x10f7245bc in aeMain ae.c:496 #13 0x10f75e2ce in main server.c:6906 #14 0x7fff20954f3c in start+0x0 (libdyld.dylib:x86_64+0x15f3c) previously allocated by thread T0 here: #0 0x10ffcc3a0 in wrap_malloc+0xa0 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x443a0) #1 0x10f770f6a in zmalloc zmalloc.c:126 #2 0x10f90cf0b in createSentinelRedisInstance sentinel.c:1301 #3 0x10f91a56e in sentinelProcessHelloMessage sentinel.c:2888 #4 0x10fa088c0 in redisProcessCallbacks async.c:572 #5 0x10f723868 in aeProcessEvents ae.c:436 #6 0x10f7245bc in aeMain ae.c:496 #7 0x10f75e2ce in main server.c:6906 #8 0x7fff20954f3c in start+0x0 (libdyld.dylib:x86_64+0x15f3c) ```
oranagra
added a commit
that referenced
this issue
Jun 20, 2023
…is missed cases to redis-server. (#12322) Observed that the sanitizer reported memory leak as clean up is not done before the process termination in negative/following cases: **- when we passed '--invalid' as option to redis-server.** ``` -vm:~/mem-leak-issue/redis$ ./src/redis-server --invalid *** FATAL CONFIG FILE ERROR (Redis 255.255.255) *** Reading the configuration file, at line 2 >>> 'invalid' Bad directive or wrong number of arguments ================================================================= ==865778==ERROR: LeakSanitizer: detected memory leaks Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x7f0985f65867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x558ec86686ec in ztrymalloc_usable_internal /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:117 #2 0x558ec86686ec in ztrymalloc_usable /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:135 #3 0x558ec86686ec in ztryrealloc_usable_internal /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:276 #4 0x558ec86686ec in zrealloc /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:327 #5 0x558ec865dd7e in sdssplitargs /home/ubuntu/mem-leak-issue/redis/src/sds.c:1172 #6 0x558ec87a1be7 in loadServerConfigFromString /home/ubuntu/mem-leak-issue/redis/src/config.c:472 #7 0x558ec87a13b3 in loadServerConfig /home/ubuntu/mem-leak-issue/redis/src/config.c:718 #8 0x558ec85e6f15 in main /home/ubuntu/mem-leak-issue/redis/src/server.c:7258 #9 0x7f09856e5d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 SUMMARY: AddressSanitizer: 8 byte(s) leaked in 1 allocation(s). ``` **- when we pass '--port' as option and missed to add port number to redis-server.** ``` vm:~/mem-leak-issue/redis$ ./src/redis-server --port *** FATAL CONFIG FILE ERROR (Redis 255.255.255) *** Reading the configuration file, at line 2 >>> 'port' wrong number of arguments ================================================================= ==865846==ERROR: LeakSanitizer: detected memory leaks Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x7fdcdbb1f867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x557e8b04f6ec in ztrymalloc_usable_internal /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:117 #2 0x557e8b04f6ec in ztrymalloc_usable /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:135 #3 0x557e8b04f6ec in ztryrealloc_usable_internal /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:276 #4 0x557e8b04f6ec in zrealloc /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:327 #5 0x557e8b044d7e in sdssplitargs /home/ubuntu/mem-leak-issue/redis/src/sds.c:1172 #6 0x557e8b188be7 in loadServerConfigFromString /home/ubuntu/mem-leak-issue/redis/src/config.c:472 #7 0x557e8b1883b3 in loadServerConfig /home/ubuntu/mem-leak-issue/redis/src/config.c:718 #8 0x557e8afcdf15 in main /home/ubuntu/mem-leak-issue/redis/src/server.c:7258 #9 0x7fdcdb29fd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 Indirect leak of 10 byte(s) in 1 object(s) allocated from: #0 0x7fdcdbb1fc18 in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:164 #1 0x557e8b04f9aa in ztryrealloc_usable_internal /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:287 #2 0x557e8b04f9aa in ztryrealloc_usable /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:317 #3 0x557e8b04f9aa in zrealloc_usable /home/ubuntu/mem-leak-issue/redis/src/zmalloc.c:342 #4 0x557e8b033f90 in _sdsMakeRoomFor /home/ubuntu/mem-leak-issue/redis/src/sds.c:271 #5 0x557e8b033f90 in sdsMakeRoomFor /home/ubuntu/mem-leak-issue/redis/src/sds.c:295 #6 0x557e8b033f90 in sdscatlen /home/ubuntu/mem-leak-issue/redis/src/sds.c:486 #7 0x557e8b044e1f in sdssplitargs /home/ubuntu/mem-leak-issue/redis/src/sds.c:1165 #8 0x557e8b188be7 in loadServerConfigFromString /home/ubuntu/mem-leak-issue/redis/src/config.c:472 #9 0x557e8b1883b3 in loadServerConfig /home/ubuntu/mem-leak-issue/redis/src/config.c:718 #10 0x557e8afcdf15 in main /home/ubuntu/mem-leak-issue/redis/src/server.c:7258 #11 0x7fdcdb29fd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 SUMMARY: AddressSanitizer: 18 byte(s) leaked in 2 allocation(s). ``` As part analysis found that the sdsfreesplitres is not called when this condition checks are being hit. Output after the fix: ``` vm:~/mem-leak-issue/redis$ ./src/redis-server --invalid *** FATAL CONFIG FILE ERROR (Redis 255.255.255) *** Reading the configuration file, at line 2 >>> 'invalid' Bad directive or wrong number of arguments vm:~/mem-leak-issue/redis$ =========================================== vm:~/mem-leak-issue/redis$ ./src/redis-server --jdhg *** FATAL CONFIG FILE ERROR (Redis 255.255.255) *** Reading the configuration file, at line 2 >>> 'jdhg' Bad directive or wrong number of arguments --------------------------------------------------------------------------- vm:~/mem-leak-issue/redis$ ./src/redis-server --port *** FATAL CONFIG FILE ERROR (Redis 255.255.255) *** Reading the configuration file, at line 2 >>> 'port' wrong number of arguments ``` Co-authored-by: Oran Agra <oran@redislabs.com>
pulllock
pushed a commit
to pulllock/redis
that referenced
this issue
Jun 28, 2023
oranagra
pushed a commit
that referenced
this issue
Apr 4, 2024
fix some issues that come from sanitizer thread report. 1. when the main thread is updating daylight_active, other threads (bio, module thread) may be writing logs at the same time. ``` WARNING: ThreadSanitizer: data race (pid=661064) Read of size 4 at 0x55c9a4d11c70 by thread T2: #0 serverLogRaw /home/sundb/data/redis_fork/src/server.c:116 (redis-server+0x8d797) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #1 _serverLog.constprop.2 /home/sundb/data/redis_fork/src/server.c:146 (redis-server+0x2a3b14) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #2 bioProcessBackgroundJobs /home/sundb/data/redis_fork/src/bio.c:329 (redis-server+0x1c24ca) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) Previous write of size 4 at 0x55c9a4d11c70 by main thread (mutexes: write M0, write M1, write M2, write M3): #0 updateCachedTimeWithUs /home/sundb/data/redis_fork/src/server.c:1102 (redis-server+0x925e7) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #1 updateCachedTimeWithUs /home/sundb/data/redis_fork/src/server.c:1087 (redis-server+0x925e7) #2 updateCachedTime /home/sundb/data/redis_fork/src/server.c:1118 (redis-server+0x925e7) #3 afterSleep /home/sundb/data/redis_fork/src/server.c:1811 (redis-server+0x925e7) #4 aeProcessEvents /home/sundb/data/redis_fork/src/ae.c:389 (redis-server+0x85ae0) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #5 aeProcessEvents /home/sundb/data/redis_fork/src/ae.c:342 (redis-server+0x85ae0) #6 aeMain /home/sundb/data/redis_fork/src/ae.c:477 (redis-server+0x85ae0) #7 main /home/sundb/data/redis_fork/src/server.c:7211 (redis-server+0x7168c) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) ``` 2. thread leaks in module tests ``` WARNING: ThreadSanitizer: thread leak (pid=668683) Thread T13 (tid=670041, finished) created by main thread at: #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1036 (libtsan.so.2+0x3d179) (BuildId: 28a9f70061dbb2dfa2cef661d3b23aff4ea13536) #1 HelloBlockNoTracking_RedisCommand /home/sundb/data/redis_fork/tests/modules/blockonbackground.c:200 (blockonbackground.so+0x97fd) (BuildId: 9cd187906c57e88cdf896d121d1d96448b37a136) #2 HelloBlockNoTracking_RedisCommand /home/sundb/data/redis_fork/tests/modules/blockonbackground.c:169 (blockonbackground.so+0x97fd) #3 call /home/sundb/data/redis_fork/src/server.c:3546 (redis-server+0x9b7fb) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #4 processCommand /home/sundb/data/redis_fork/src/server.c:4176 (redis-server+0xa091c) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #5 processCommandAndResetClient /home/sundb/data/redis_fork/src/networking.c:2468 (redis-server+0xd2b8e) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #6 processInputBuffer /home/sundb/data/redis_fork/src/networking.c:2576 (redis-server+0xd2b8e) #7 readQueryFromClient /home/sundb/data/redis_fork/src/networking.c:2722 (redis-server+0xd358f) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #8 callHandler /home/sundb/data/redis_fork/src/connhelpers.h:58 (redis-server+0x288a7b) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #9 connSocketEventHandler /home/sundb/data/redis_fork/src/socket.c:277 (redis-server+0x288a7b) #10 aeProcessEvents /home/sundb/data/redis_fork/src/ae.c:417 (redis-server+0x85b45) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) #11 aeProcessEvents /home/sundb/data/redis_fork/src/ae.c:342 (redis-server+0x85b45) #12 aeMain /home/sundb/data/redis_fork/src/ae.c:477 (redis-server+0x85b45) #13 main /home/sundb/data/redis_fork/src/server.c:7211 (redis-server+0x7168c) (BuildId: dca0b1945ba30010e36129bdb296e488dd2b32d0) ```
maxb-io
pushed a commit
to maxb-io/redis
that referenced
this issue
Sep 24, 2024
Fix Vector to maintain the correct size
maxb-io
pushed a commit
to maxb-io/redis
that referenced
this issue
Sep 24, 2024
This issue was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
when i try to use ZREM i get
Redis.new.ZREM 'y', 'x'
Errno::EAGAIN: Resource temporarily unavailable - Timeout reading from the socket
from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:469:in
read_reply' from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:444:in
process_command'from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:442:in
map' from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:442:in
process_command'from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:431:in
raw_call_command' from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:452:in
call'from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:452:in
maybe_lock' from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:428:in
raw_call_command'from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:332:in
call_command' from /usr/local/lib/ruby/gems/1.8/gems/redis-1.0.4/lib/redis/client.rb:381:in
method_missing'same call with zrem works...
The text was updated successfully, but these errors were encountered: