microsoftarchive / redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes
http://redis.io
Other
20.82k stars 5.38k forks source link

fork operation failed #547

Open jianhongwei opened 7 years ago

jianhongwei commented 7 years ago

[9820] 04 May 18:27:15.558 # Server started, Redis version 3.0.504 [9820] 04 May 18:27:15.682 DB loaded from disk: 0.125 seconds [9820] 04 May 18:27:15.682 The server is now ready to accept connections on po rt 6379 [9820] 04 May 18:32:16.062 100 changes in 300 seconds. Saving... [9820] 04 May 18:32:16.109 Background saving started by pid 11612 [9820] 04 May 18:32:16.218 # fork operation complete [9820] 04 May 18:32:16.218 Background saving terminated with success [9820] 04 May 18:37:17.105 100 changes in 300 seconds. Saving... [9820] 04 May 18:37:17.151 Background saving started by pid 11352 [9820] 04 May 18:38:01.293 # fork operation complete [9820] 04 May 18:38:01.340 Background saving terminated with success [9820] 04 May 18:43:02.069 100 changes in 300 seconds. Saving... [9820] 04 May 18:43:02.085 Background saving started by pid 8384 [9820] 04 May 18:43:07.256 # fork operation complete [9820] 04 May 18:43:07.272 Background saving terminated with success [9820] 04 May 18:48:08.008 100 changes in 300 seconds. Saving... [9820] 04 May 18:48:08.772 Background saving started by pid 10620 [9820] 04 May 18:48:34.474 # fork operation complete [9820] 04 May 18:48:34.507 Background saving terminated with success [9820] 04 May 18:53:35.001 100 changes in 300 seconds. Saving... [9820] 04 May 18:53:35.048 Background saving started by pid 11060 [9820] 04 May 18:53:35.485 # fork operation complete [9820] 04 May 18:53:35.485 Background saving terminated with success [9820] 04 May 18:58:36.085 100 changes in 300 seconds. Saving... [9820] 04 May 18:58:36.569 * Background saving started by pid 11416 [11416] 04 May 18:58:36.943 #

=== REDIS BUG REPORT START: Cut & paste starting from here === [11416] 04 May 18:58:36.943 # Redis version: 3.0.504 [11416] 04 May 18:58:36.943 # --- EXCEPTION_ACCESS_VIOLATION [11416] 04 May 18:58:36.943 # --- STACK TRACE redis-server.exe!LogStackTrace(e:\svn_root\product_eplat\trunk\p1000_eserver\ese rver_v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:95)(0x000AE5F0, 0x0012FF90, 0x00000001, 0x40124730) redis-server.exe!UnhandledExceptiontHandler(e:\svn_root\product_eplat\trunk\p100 0_eserver\eserver_v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:18 5)(0x00000001, 0x00000000, 0x00000001, 0x00000000) kernel32.dll!UnhandledExceptionFilter(e:\svn_root\product_eplat\trunk\p1000_eser ver\eserver_v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:185)(0x0 00AE5F0, 0x00000006, 0x00000000, 0x00000001) ntdll.dll!EtwEventSetInformation(e:\svn_root\product_eplat\trunk\p1000_eserver\e server_v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:185)(0x000AF2 30, 0x00000000, 0x4012AC28, 0x00000000) ntdll.dll!_C_specific_handler(e:\svn_root\product_eplat\trunk\p1000_eserver\eser ver_v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:185)(0x00130000, 0x0012FF90, 0x0012FF90, 0x7703FA34) ntdll.dll!RtlDecodePointer(e:\svn_root\product_eplat\trunk\p1000_eserver\eserver _v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:185)(0x00130000, 0x 76EEDDA0, 0x00012B1C, 0x00000000) ntdll.dll!RtlUnwindEx(e:\svn_root\product_eplat\trunk\p1000_eserver\eserver_v100 _local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:185)(0x000AF230, 0x000AE D40, 0x00000000, 0x00000000) ntdll.dll!KiUserExceptionDispatcher(e:\svn_root\product_eplat\trunk\p1000_eserve r\eserver_v100_local\redis-3.0\src\win32_interop\win32_stacktrace.cpp:185)(0x6F6 C363E, 0x04000000, 0x443FFF8A, 0x4404376F) redis-server.exe!lzf_compress(e:\svn_root\product_eplat\trunk\p1000_eserver\eser ver_v100_local\redis-3.0\src\lzf_c.c:207)(0x0221B1D0, 0x0221B1D0, 0x00000000, 0x 0012F531) redis-server.exe!rdbSaveLzfStringObject(e:\svn_root\product_eplat\trunk\p1000_es erver\eserver_v100_local\redis-3.0\src\rdb.c:231)(0x0221B1D0, 0x4B400008, 0x0012 F5C3, 0x400B13D7) redis-server.exe!rdbSaveRawString(e:\svn_root\product_eplat\trunk\p1000_eserver\ eserver_v100_local\redis-3.0\src\rdb.c:296)(0x4046E750, 0x0000000F, 0x03C0700F, 0x00000001) redis-server.exe!rdbSaveObject(e:\svn_root\product_eplat\trunk\p1000_eserver\ese rver_v100_local\redis-3.0\src\rdb.c:528)(0x0012F6E0, 0x00000001, 0x4046E750, 0x0 0000001) redis-server.exe!rdbSaveRio(e:\svn_root\product_eplat\trunk\p1000_eserver\eserve r_v100_local\redis-3.0\src\rdb.c:694)(0x40150210, 0x02110000, 0x00000005, 0x0251 2754) redis-server.exe!rdbSave(e:\svn_root\product_eplat\trunk\p1000_eserver\eserver_v 100_local\redis-3.0\src\rdb.c:758)(0x02110000, 0x59036282, 0x02110000, 0x0000000 5) redis-server.exe!QForkChildInit(e:\svn_root\product_eplat\trunk\p1000_eserver\es erver_v100_local\redis-3.0\src\win32_interop\win32_qfork.cpp:337)(0x00000005, 0x 00000000, 0x00211770, 0x00000005) redis-server.exe!QForkStartup(e:\svn_root\product_eplat\trunk\p1000_eserver\eser ver_v100_local\redis-3.0\src\win32_interop\win32_qfork.cpp:515)(0x00000006, 0x00 000000, 0x00000000, 0x0020B050) redis-server.exe!main(e:\svn_root\product_eplat\trunk\p1000_eserver\eserver_v100 _local\redis-3.0\src\win32_interop\win32_qfork.cpp:1240)(0x00000000, 0x00000000, 0x00000000, 0x00000000) redis-server.exe!__tmainCRTStartup(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)( 0x00000000, 0x00000000, 0x00000000, 0x00000000) kernel32.dll!BaseThreadInitThunk(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x 00000000, 0x00000000, 0x00000000, 0x00000000) ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x0000 0000, 0x00000000, 0x00000000, 0x00000000) ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x0000 0000, 0x00000000, 0x00000000, 0x00000000) [11416] 04 May 18:58:36.959 # --- INFO OUTPUT [9820] 04 May 18:58:37.005 # fork operation failed [9820] 04 May 18:58:37.005 # Background saving terminated by signal 1 [9820] 04 May 18:58:42.036 100 changes in 300 seconds. Saving... [9820] 04 May 18:58:42.051 Background saving started by pid 10032 [9820] 04 May 18:58:55.851 # fork operation complete [9820] 04 May 18:58:55.851 Background saving terminated with success [9820] 04 May 19:36:37.046 100 changes in 300 seconds. Saving... [9820] 04 May 19:36:37.077 Background saving started by pid 12012 [9820] 04 May 19:36:37.405 # fork operation complete [9820] 04 May 19:36:37.405 Background saving terminated with success

jianhongwei commented 7 years ago

please help me to solve this problem~!

steffjenl commented 7 years ago

We are getting the same error once a day. What we have tested: • Security rights on directory are NETWORK SERVICES • Security rights on service are NETWORK SERVICES • Redis can write to local files • Upgraded from 3.0.503 to 3.0.504 • Problem exists in 3.0.503 and 30.504 • Sometimes write redis temp*.rdb files in his directory (write permissions) We have three Redis servers with one master and two slaves. We are using a sentinel configuration.

redis.log

[4992] 29 May 13:56:16.882 #

=== REDIS BUG REPORT START: Cut & paste starting from here === [4992] 29 May 13:56:16.883 # Redis version: 3.0.504 [4992] 29 May 13:56:16.883 # --- EXCEPTION_ACCESS_VIOLATION [4992] 29 May 13:56:16.883 # --- STACK TRACE redis-server.exe!LogStackTrace(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:95)(0x000BE600, 0x0013FF90, 0x00000001, 0x40124730) redis-server.exe!UnhandledExceptiontHandler(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x00000000, 0x00000000, 0x00000000) KERNELBASE.dll!UnhandledExceptionFilter(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0xB8401DC0, 0x00000000, 0x0013FF20) ntdll.dll!memset(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x000BF230, 0x00000000, 0x4012AC28, 0x00000000) ntdll.dll!_C_specific_handler(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x000BE770, 0x000BF230, 0x000BF230) ntdll.dll!_chkstk(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000001, 0xBAE20000, 0x00000000, 0xBAF5409C) ntdll.dll!RtlRaiseException(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x00000000, 0x00000000, 0x00000000) ntdll.dll!KiUserExceptionDispatcher(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x55733532, 0x03000000, 0x88FFFF36, 0x88EEBA57) redis-server.exe!lzf_compress(c:\release\redis\src\lzf_c.c:207)(0x2DFE40B0, 0x2DFE40B0, 0x00000001, 0x00000027) redis-server.exe!rdbSaveLzfStringObject(c:\release\redis\src\rdb.c:231)(0x2DFE40B0, 0x400A0EA3, 0x0013F6E8, 0x00000027) redis-server.exe!rdbSaveRawString(c:\release\redis\src\rdb.c:296)(0xAE46FA7D, 0x00000001, 0x02C07040, 0x547D8F12) redis-server.exe!rdbSaveObject(c:\release\redis\src\rdb.c:515)(0x0013F6E0, 0x00000001, 0x2DFE40B0, 0x2DFE40B0) redis-server.exe!rdbSaveRio(c:\release\redis\src\rdb.c:694)(0x40150210, 0x008B0000, 0x00000005, 0x00CB2754) redis-server.exe!rdbSave(c:\release\redis\src\rdb.c:758)(0x008B0000, 0x59243DF0, 0x008B0000, 0x00000005) redis-server.exe!QForkChildInit(c:\release\redis\src\win32_interop\win32_qfork.cpp:337)(0x00000005, 0x00000000, 0x002A6E60, 0x00000005) redis-server.exe!QForkStartup(c:\release\redis\src\win32_interop\win32_qfork.cpp:515)(0x00000006, 0x00000000, 0xFFFF7000, 0x002A7DB0) 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, 0x400442EC, 0x00000000, 0x00000000) KERNEL32.DLL!BaseThreadInitThunk(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0xB86413B0, 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) [4992] 29 May 13:56:16.889 # --- INFO OUTPUT [2976] 29 May 13:56:17.382 # fork operation failed

EventLog

Faulting application name: redis-server.exe, version: 0.0.0.0, time stamp: 0x57767659 Faulting module name: redis-server.exe, version: 0.0.0.0, time stamp: 0x57767659 Exception code: 0xc0000005 Fault offset: 0x00000000000a4393 Faulting process id: 0x2154 Faulting application start time: 0x01d2d849dee71664 Faulting application path: C:\redis\redis-server.exe Faulting module path: C:\redis\redis-server.exe Report Id: 1cab0fd0-443d-11e7-80cf-000af77a1273 Faulting package full name: Faulting package-relative application ID: