Redis 3.2.100 on Windows Server 2012 R2 stopped working unexpectedly

722 views
Skip to first unread message

Abhijeet Ranade

unread,
May 8, 2017, 6:50:50 AM5/8/17
to Redis DB, ssen...@gracenote.com, sj...@gracenote.com, ara...@gracenote.com

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.

Reply all
Reply to author
Forward
0 new messages