Hi,
We are using Redis 3.2.100 on Windows Server 2012 R2 (downloaded from https://github.com/MSOpenTech/redis/releases).
Sometimes we were getting a Windows message popup saying - "Redis server has stooped working". For such instances, found the following error in redis log file.
Redis can not continue. Exiting.
[5496] 15 Apr 06:25:58.340 # fork operation failed
[5496] 15 Apr 06:25:58.464 # Background saving terminated by signal 1
[5496] 15 Apr 06:26:04.094 * 1 changes in 300 seconds. Saving...
[5496] 15 Apr 06:26:04.216 * Background saving started by pid 9736
[9736] 15 Apr 00:56:04.275 #
The Windows version of Redis reserves heap memory from the system paging file
for sharing with the forked process used for persistence operations.At this time there is insufficient contiguous free space available in the
system paging file. You may increase the size of the system paging file.
Sometimes a reboot will defragment the system paging file sufficiently for
this operation to complete successfully.
To resolve, required virtual memory (page file) setting was made and it helped.
But, for other a few other Redis server instances running on separate nodes, where we were getting same windows message as "Redis server has stooped working", this resolution didn't work and for those instances we found the error mentioned below -
=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 3.2.100
[5732] 04 May 10:24:14.169 # --- EXCEPTION_ACCESS_VIOLATION
[5732] 04 May 10:24:14.169 # --- STACK TRACE
redis-server.exe!LogStackTrace(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:95)(0x0013E300, 0x0013FF90, 0x00000001, 0x4013A7F8)
redis-server.exe!UnhandledExceptiontHandler(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x00000000, 0x00000000, 0x597218B5)
KERNELBASE.dll!UnhandledExceptionFilter(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x66911DA0, 0x00000000, 0x0013FF20)
ntdll.dll!memset(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x0013EF30, 0x0013E3D0, 0x40140E48, 0x00000000)
ntdll.dll!_C_specific_handler(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x0013E470, 0x0013EF30, 0x0013EF30)
ntdll.dll!_chkstk(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000001, 0x695C0000, 0x00000000, 0x696F409C)
ntdll.dll!RtlRaiseException(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x0013EEE0, 0x0013F220, 0x695EED7F)
ntdll.dll!KiUserExceptionDispatcher(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x40094F01, 0x3E07C55F, 0x400ACC91, 0x0013F200)
redis-server.exe!dictSdsHash(c:\release\redis\src\server.c:496)(0x3E07C55F, 0x400ACC91, 0x0013F200, 0xE3EA40D0)
redis-server.exe!dictFind(c:\release\redis\src\dict.c:517)(0x0013F220, 0x00000001, 0x00229C48, 0x00000001)
redis-server.exe!getExpire(c:\release\redis\src\db.c:871)(0x6DB460A0, 0x0013F2E0, 0x0013F2E0, 0x03C07040)
redis-server.exe!rdbSaveRio(c:\release\redis\src\rdb.c:814)(0x40167210, 0x01BD0000, 0x00000005, 0x01FD2754)
redis-server.exe!rdbSave(c:\release\redis\src\rdb.c:884)(0x01BD0000, 0x01BD0000, 0x590DF900, 0x00000005)
redis-server.exe!QForkChildInit(c:\release\redis\src\win32_interop\win32_qfork.cpp:337)(0x00000005, 0x00000000, 0x002C6B10, 0x00000005)
redis-server.exe!QForkStartup(c:\release\redis\src\win32_interop\win32_qfork.cpp:515)(0x00000006, 0x00000000, 0xFFFF7000, 0x002C7A40)
redis-server.exe!main(c:\release\redis\src\win32_interop\win32_qfork.cpp:1240)(0x00000000, 0x00000000, 0x00000000, 0xFFFF7000)
redis-server.exe!__tmainCRTStartup(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x00000000, 0x400459C0, 0x00000000, 0x00000000)
KERNEL32.DLL!BaseThreadInitThunk(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x693613B0, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[5732] 04 May 10:24:14.176 # --- INFO OUTPUT
On searching against this issue, found this thread - https://github.com/MSOpenTech/redis/issues/542
which, listed the same exception being faced by a few others but, till date there hasn’t been any resolution mentioned for the same.
If anyone has observed the same issue and found any resolution on this, please do update as to what steps can be adopted to resolve the same.