zkteco-home / redis-windows

Native port of Redis for Windows,it can be installed as service.
MIT License
1.84k stars 167 forks source link

EXCEPTION_ACCESS_VIOLATION #46

Closed Tuhv123 closed 1 year ago

Tuhv123 commented 1 year ago

=== REDIS BUG REPORT START: Cut & paste starting from here === [016564] 27 Apr 16:13:39.714 # --- EXCEPTION_ACCESS_VIOLATION [016564] 27 Apr 16:13:39.715 # --- STACK TRACE redis-server.exe!((null):0)(0x1401F17C0, 0x0100FF60, 0x140122230, 0x0100E880) redis-server.exe!((null):0)(0x0100E880, 0x140122201, 0x00000000, 0x00000000) KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x0100E930, 0x7FFD26657618, 0x00000000, 0x0100E8C8) ntdll.dll!memset((null):0)(0x7FFD26684A24, 0x7FFD26510000, 0x0100E930, 0x7FFD26540E7B) ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0100EE30, 0x0100F4F0, 0x00000000) ntdll.dll!_chkstk((null):0)(0x00000000, 0x0100EE30, 0x0100F4F0, 0x00000000) ntdll.dll!RtlRaiseException((null):0)(0x00000030, 0x00000000, 0x7FCD72000DC0, 0x4000000000002) ntdll.dll!KiUserExceptionDispatcher((null):0)(0x7FCD8A802D80, 0x14003CC6A, 0x1D978E88E2C1D10, 0x00000000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCD72000DC0, 0x00000000, 0x00000000, 0x00000000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCD72000DC0, 0x00000138, 0x00000000, 0x0100F8F8) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCD738002A0, 0x00000138, 0x7FCD738002A0, 0x00000014) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCD738002A0, 0x7FCD738002A0, 0x00000000, 0x000001A8) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000138, 0x10000001B, 0x00000002, 0xCB1F00000000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x000040B4, 0x1401EAEA8, 0x1401CC074, 0x7FCD71400B70) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00000091, 0x00000002) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x0000008F, 0x0000009F, 0x0000008F, 0x00582690) 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) [016564] 27 Apr 16:13:39.723 # === REDIS BUG REPORT END. Make sure to include from START to END. ===

zkteco-home commented 1 year ago

please tell use more detail,config file,how long crash?

Tuhv123 commented 1 year ago

I install Redis with Master-Slave as window service successfully but when i stop service redis master in order to Sentinel select one slave becomes Master causes exception above and service slave off. Please tell me to fix this error. Thanks These are my config: redis-master.conf.txt redis-sentinel1.conf.txt redis-sentinel2.conf.txt redis-sentinel3.conf.txt redis-slave1.conf.txt redis-slave2.conf.txt

samloba commented 1 year ago

same here

=== 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. ===

I launch the redis server with child_process (in node js express app)

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

zkteco-home commented 1 year ago

same here

=== 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. ===

I launch the redis server with child_process (in node js express app)

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

i dont have your scene,so it is difficuty to reproduce your error,last time i asked you how to run redis-benchmark.exe to test it,but you didnt answer me.recently i dont pay attention to complicated scene.

zkteco-home commented 1 year ago

I install Redis with Master-Slave as window service successfully but when i stop service redis master in order to Sentinel select one slave becomes Master causes exception above and service slave off. Please tell me to fix this error. Thanks These are my config: redis-master.conf.txt redis-sentinel1.conf.txt redis-sentinel2.conf.txt redis-sentinel3.conf.txt redis-slave1.conf.txt redis-slave2.conf.txt

according to our plan,we dont want to support sentinel\replication\cluster for free version.but when we are free ,we will invetigate your error.

zkteco-home commented 1 year ago

I install Redis with Master-Slave as window service successfully but when i stop service redis master in order to Sentinel select one slave becomes Master causes exception above and service slave off. Please tell me to fix this error. Thanks These are my config: redis-master.conf.txt redis-sentinel1.conf.txt redis-sentinel2.conf.txt redis-sentinel3.conf.txt redis-slave1.conf.txt redis-slave2.conf.txt

according to your config file,i tested it,i just run cmd line,it work fine, can you run it via cmd line,i want to know if bcz of service part code issue.

image