zkteco-home / redis-windows

Native port of Redis for Windows,it can be installed as service.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crash on win11

samloba opened this issue · comments

=== REDIS BUG REPORT START: Cut & paste starting from here ===
[033472] 30 Mar 00:30:46.183 # --- EXCEPTION_ACCESS_VIOLATION
[033472] 30 Mar 00:30:46.198 # --- STACK TRACE
redis-server.exe!((null):0)(0x1401EFA20, 0x0014FF60, 0x00000001, 0x0014DF00)
redis-server.exe!((null):0)(0x0014DF00, 0x00000001, 0x00000000, 0x00010040)
KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x0005AA19, 0x7FF80A1D1688, 0x00000000, 0x7FF80A090B4A)
ntdll.dll!RtlMoveMemory((null):0)(0x0014DFD0, 0x00000000, 0x0014DF88, 0x0014E570)
ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0014E4D0, 0x0014EBB0, 0x0014EBB0)
ntdll.dll!_chkstk((null):0)(0x0014EBB0, 0x7FF80A070000, 0x7FF80A0CA9F8, 0x7FF80A1FCBF8)
ntdll.dll!RtlFindCharInUnicodeString((null):0)(0x05400008, 0x1400E0723, 0x7FCE80C000C0, 0x7FCE91C02131)
ntdll.dll!KiUserExceptionDispatcher((null):0)(0x140074C4B, 0x7FCE80C000C0, 0x32C91DF3852E245, 0x00000081)
ntdll.dll!KiUserExceptionDispatcher((null):0)(0x7FCE80C000C0, 0x32C91DF3852E245, 0x00000081, 0x7FCE79C011F1)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x1400C7607, 0x00000030, 0x0014F1E0)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCE79C011F1, 0x07C00000, 0x00000007, 0x07C00000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x02B5D5C0, 0x02260000, 0x00000000, 0x02B5D5C0)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x02260000, 0x03602BF0, 0x00000000, 0x000001CC)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x000001CC, 0x00000006, 0x000001CC, 0x2AAAAAAAAAAAAAAB)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x1401278F5, 0x005EC380, 0x00000000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
KERNEL32.DLL!BaseThreadInitThunk((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[033472] 30 Mar 00:30:46.198 #
=== REDIS BUG REPORT END. Make sure to include from START to END. ===

commented

I have the same issue, repeatedly on multiple instances. It's so bad that I'm unfortunately looking for alternatives. Mine is occurring on Windows Server 2019.

i am using Win11,working fine,what version?7.0.9 or 7.0.10?please send me your config ,i will continue to test it.
image

commented

redis-server redis.conf

include redis-windows.conf
##save ""
port 6379
requirepass '123456'
##maxmemory 256mb
##appendonly no
##maxmemory-policy allkeys-lru
#dbfilename dump_6379.rdb
#logfile "redis_6379.log"
bind 127.0.0.1
logfile "server_log.txt"
loglevel debug

I was down the laptop screen when lunch, then about 30min later, error occured.
error dialog window showed, and tasklist has 2 'redis-server'(muddled, maybe like this), and kill 1 of them,it appears again

[20020] 06 Apr 12:03:35.434 # Redis is starting ......
[20020] 06 Apr 12:03:35.434 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=20020, just started
[20020] 06 Apr 12:03:35.434 # Configuration loaded
[20020] 06 Apr 12:03:35.437 * Running mode=standalone, port=6379.
[20020] 06 Apr 12:03:35.437 # Server initialized
[20020] 06 Apr 12:03:35.437 * Loading RDB produced by version 6.2.6
[20020] 06 Apr 12:03:35.437 * RDB age 328 seconds
[20020] 06 Apr 12:03:35.437 * RDB memory usage when created 82.67 Mb
[20020] 06 Apr 12:03:36.081 # Done loading RDB, keys loaded: 39, keys expired: 0.
[20020] 06 Apr 12:03:36.081 * DB loaded from disk: 0.644 seconds
[20020] 06 Apr 12:03:36.081 * Ready to accept connections
[20020] 06 Apr 12:37:52.156 * 1 changes in 60 seconds. Saving...unixtime=1680755872,lastssave==1680753815
[20020] 06 Apr 12:37:52.165 * Background saving started by pid 19020
[20020] 06 Apr 12:37:55.320 # fork operation failed
[20020] 06 Apr 12:37:55.338 # Background saving terminated by signal 1
[20020] 06 Apr 12:37:58.067 * 1 changes in 60 seconds. Saving...unixtime=1680755878,lastssave==1680753815
[20020] 06 Apr 12:37:58.074 * Background saving started by pid 18436
[20020] 06 Apr 12:38:00.141 # fork operation failed

Please pull it from master branch,I reproduced it,maybe i fixed this issue,please test it and let me know result.Thanks

thx very much. The issue seems to be fixed. Running four 2 hours without crashing. good job

Actually there are some crash issues(PhysicalMapMemory: VirtualFree failed) in Redis 3.2 and Redis 5.0.x for Windows,.sometimes and under some conditions it will crash,we tested that and got conclusion, After a long research, we found the root cause and fixed Memory issue already. in 2024 we will deploy RedisWin and RedisWinPro,RedisWin is free,unsupport Aof\ replication\cluster\sentinel again. RedisWinPro is full and more stable.

Of course, if it can reach 3K Stars in 2023, we will consider opening more functions to the free version.

about Redis 3.2 and 5.0.x crash report,please check the following:

tporadowski/redis#143
tporadowski/redis#140
redis/redis#9036
https://app.bountysource.com/issues/92285433-random-crashes-with-exception-code-0xc0000005-or-exception-code-0xc0000409
https://groups.google.com/g/redis-db/c/2whRzcJuknM

oops another crash

=== REDIS BUG REPORT START: Cut & paste starting from here ===

data[025032] 22 Apr 12:59:51.268 # --- EXCEPTION_ACCESS_VIOLATION
[025032] 22 Apr 12:59:51.268 # --- STACK TRACE
redis-server.exe!((null):0)(0x1401F07C0, 0x0014FF60, 0x00000001, 0x0014DA80)
redis-server.exe!((null):0)(0x0014DA80, 0x00000001, 0x00000000, 0x00010040)
KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x0005AA19, 0x7FFAEE0D1688, 0x00000000, 0x7FFAEDF90B4A)
ntdll.dll!RtlMoveMemory((null):0)(0x0014DB50, 0x00000000, 0x0014DB08, 0x0014E0F0)
ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0014E050, 0x0014E730, 0x0014E730)
ntdll.dll!_chkstk((null):0)(0x0014E730, 0x7FFAEDF70000, 0x7FFAEDFCA9F8, 0x7FFAEE0FCBF8)
ntdll.dll!RtlFindCharInUnicodeString((null):0)(0x00000000, 0x00000000, 0x7FCE80C000C0, 0x00000000)
ntdll.dll!KiUserExceptionDispatcher((null):0)(0x140074F5B, 0x7FCE80C000C0, 0x32C91DF3852E245, 0x00000081)

datantdll.dll!KiUserExceptionDispatcher((null):0)(0x7FCE80C000C0, 0x32C91DF3852E245, 0x00000081, 0x7FCE7742CB81)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x1400C7B07, 0x0014ED70, 0x0014ED70)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCE7742CB81, 0x07C00000, 0x00000009, 0x07C00000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x0047FE40, 0x00000000, 0x00000000, 0x00000005)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x1401DD600, 0x000061C8)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x035C47B0, 0x00000000, 0x000001D0)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x000001E8, 0x00000006, 0x000001E8, 0x0047F580)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x140127EE5, 0x00473CC0, 0x00000000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
KERNEL32.DLL!BaseThreadInitThunk((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[025032] 22 Apr 12:59:51.268 #
=== REDIS BUG REPORT END. Make sure to include from START to END. ===

=== REDIS BUG REPORT START: Cut & paste starting from here ===

data[027760] 22 Apr 12:59:57.258 # --- EXCEPTION_ACCESS_VIOLATION
[027760] 22 Apr 12:59:57.258 # --- STACK TRACE
redis-server.exe!((null):0)(0x1401F07C0, 0x0014FF60, 0x00000001, 0x0014DA80)
redis-server.exe!((null):0)(0x0014DA80, 0x00000001, 0x00000000, 0x00010040)
KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x0005AA19, 0x7FFAEE0D1688, 0x00000000, 0x7FFAEDF90B4A)
ntdll.dll!RtlMoveMemory((null):0)(0x0014DB50, 0x00000000, 0x0014DB08, 0x0014E0F0)
ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0014E050, 0x0014E730, 0x0014E730)
ntdll.dll!_chkstk((null):0)(0x0014E730, 0x7FFAEDF70000, 0x7FFAEDFCA9F8, 0x7FFAEE0FCBF8)
ntdll.dll!RtlFindCharInUnicodeString((null):0)(0x00000000, 0x00000000, 0x7FCE80C000C0, 0x00000000)
=== REDIS BUG REPORT END. Make sure to include from START to END. ===

If this can help understanding the problem

redis-server.exe --requirepass @Pwd235 --port 4950 --user default off --user admin on +@ALL -DEBUG ~* >@Pwd235 --loadmodule rejson.dll

sorry,i didnt understand,how to run redis-benchmark.exe or redis-cli.exe,give me example

If this can help understanding the problem

redis-server.exe --requirepass @Pwd235 --port 4950 --user default off --user admin on +@ALL -DEBUG ~* >@Pwd235 --loadmodule rejson.dll

after running this command ,it will crash immediately?

sorry for the late reply
I'm using redis in an node js (express js) application in on local machine
I launch the redis server with child_process

const { execFile } = require('child_process');

const cmd= 'redis-server.exe --requirepass @Pwd235 --port 4950 --user default off --user admin on +@ALL -DEBUG ~* >@Pwd235 --loadmodule rejson.dll'
const redisServer = execFile(cmd, [], { cwd: ${redisPath} })

the server starts well in background, but after several hours it crashes with the log (stdout) i have reported above. In my command, i discard the default user and set a new one (admin), i set a new port (4950). I don't use redis.conf.
I thought that the error could come from this way of starting the server
Thx