Giter VIP home page Giter VIP logo

tporadowski / redis Goto Github PK

View Code? Open in Web Editor NEW
8.4K 8.4K 1.1K 189.72 MB

Native port of Redis for Windows. 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, Streams, HyperLogLogs. This repository contains unofficial port of Redis to Windows.

Home Page: http://redis.io

License: Other

Makefile 0.20% C# 0.29% Batchfile 0.03% PowerShell 0.09% Shell 0.32% C 80.32% C++ 4.43% Ruby 0.32% Tcl 13.98% Smarty 0.02%
redis redis-for-windows redis-msi-installer redis-windows redis-windows-installer redis-windows-native redis-windows-service

redis's Introduction

Redis 5.0.14 for Windows

You can find the release of Redis 5.0.14 for Windows on releases page. Please test it and report any issues, thanks in advance!

Redis 4.0.14 for Windows

You can find the release of Redis 4.0.14 for Windows on releases page. Please test it and report any issues, thanks in advance!

DISCLAIMER

At the moment win-4.0.14 branch provides a stable port of Redis 4.0.14 for Windows x64 and win-5.0 branch provides a stable port of Redis 5.0.14 for Windows x64, both merged with archived port of win-3.2.100 version from MS Open Tech team. Since the latter is no longer maintained - the sources were merged by hand, projects updated to Visual Studio 2019 (v16.2.5) and any findings (mostly via unit tests) were fixed.

You can find the original description of what this fork provides, how it evolved, what are its requirements, etc. on Wiki: https://github.com/tporadowski/redis/wiki/Old-MSOpenTech-redis-README.md

Building from source code

In order to build this project from source code you need to have:

  1. Visual Studio 2019 (i.e. Community Edition, version 16.2.5 or newer) with "C/C++ features" enabled,
  2. Windows SDK 10,
  3. Git Bash for Windows or Cygwin with Git - after cloning this repository you need to run src/mkreleasehdr.sh script that creates src/release.h with some information taken from Git; optionally you can create that file by hand.

Dependencies

This project depends on jemalloc memory allocator, which is slightly customized in regard to calls to VirtualAlloc and VirtualFree WinAPI functions. They are being replaced with calls to AllocHeapBlock/PurgePages and FreeHeapBlock from src/Win32_Interop/Win32_QFork.cpp in order to keep track which memory regions are to be made available to child processes (for saving RDB/AOF).

Changes to jemalloc that provide those customizations are being maintained in tporadowski/jemalloc repository and are copied over to deps/jemalloc.

redis's People

Contributors

advance512 avatar antirez avatar anydot avatar badboy avatar catwell avatar charsyam avatar enricogior avatar erikdubbelboer avatar geoffgarside avatar hampus avatar israellot avatar itamarhaber avatar jbergstroem avatar jokea avatar lamby avatar lucsky avatar mariano-perez-rodriguez avatar mattsta avatar melo avatar michael-grunder avatar nanxiao avatar oranagra avatar pietern avatar soveran avatar sunheehnus avatar therealbill avatar tporadowski avatar yamt avatar yoav-steinberg avatar yossigo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redis's Issues

Building 4.0.14 in x64 Release configuration creates an unusable executable?

Hi,
First, @tporadowski - Thanks for your wonderful work!

Trying to build the 4.0.14 in x64 Release configuration, using MSVS 2019 community, with Win 10 SDK and latest WIX. Built all components and created an MSI. Tried to build on both, Win 7 and Win 10 hosts.

When installing the MSI on Win 2016 server (local admin, elevated session), service can't start.

When repeating the same build in Debug configuration - everything works smoothly!

Any idea? I most probably miss something...

Thanks in advance, Assaf

A problem

I would like to ask, I want to use it as the enterprise project to run it now reliable?

Great work

Not an issue, just wanted to say it's a great effort. Congratulations.

Keys * crashes CLI

Hi,

I have a DB size of 24730 hash keys:
Command: Keys * crashes the CLI
Command: Scan 0 returns the first x keys (OK)
Command: Keys A* returns the keys that start with A (OK)

It seems that if the CLI receives a long list of keys it will crash...

release.h

can not find the release.h VS2017 in RedisServer&RedisCli project

Redis 4.0.14 on Windows Server 2008

Hi, I have installed Redis 4.0.14 on Windows Server 2008 when I try to save a json (about 7 MB) in Redis Cache, I have the attached exception "EXCEPTION_INT_DIVIDE_BY_ZERO" and the windows service stop to run. I don't have this problem on Windows 10 with the same data. I have the maximum default size of Redis Memory set to 100MB in the operating systems.

Could you help me , please? Thank you.

========LOG===========
[8688] 28 Nov 09:18:55.510 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[8688] 28 Nov 09:18:55.510 # Redis version=4.0.14, bits=64, commit=ac17be3c, modified=0, pid=8688, just started
[8688] 28 Nov 09:18:55.510 # Configuration loaded
[8688] 28 Nov 09:18:55.510 * Running mode=standalone, port=6379.
[8688] 28 Nov 09:18:55.510 # Server initialized
[8688] 28 Nov 09:18:55.510 * Ready to accept connections
[8344] 28 Nov 09:20:30.981 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[8344] 28 Nov 09:20:30.981 # Redis version=4.0.14, bits=64, commit=ac17be3c, modified=0, pid=8344, just started
[8344] 28 Nov 09:20:30.981 # Configuration loaded
[8344] 28 Nov 09:20:30.997 * Running mode=standalone, port=6379.
[8344] 28 Nov 09:20:30.997 # Server initialized
[8344] 28 Nov 09:20:30.997 * Ready to accept connections
[8344] 28 Nov 10:03:46.700 * 1 changes in 900 seconds. Saving...
[8344] 28 Nov 10:03:46.731 * Background saving started by pid 7468
[8344] 28 Nov 10:03:46.840 # fork operation complete
[8344] 28 Nov 10:03:46.840 * Background saving terminated with success

[8344] 28 Nov 10:18:47.048 * 1 changes in 900 seconds. Saving...

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

[8344] 28 Nov 10:18:47.064 # --- EXCEPTION_INT_DIVIDE_BY_ZERO

[8344] 28 Nov 10:18:47.064 # --- STACK TRACE
redis-server.exe!StackTraceInfo(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:153)(0x1401699D0, 0x013AFF90, 0x00000001, 0x013AE8F0)
redis-server.exe!UnhandledExceptiontHandler(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x00000001, 0x00000000, 0x00000001, 0x013AE900)
kernel32.dll!UnhandledExceptionFilter(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x013AE8F0, 0x00000006, 0x00000000, 0x100000001)
ntdll.dll!longjmp(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x013AF040, 0x013AE9F0, 0x14016FBD0, 0x00000000)
ntdll.dll!_C_specific_handler(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x013B0000, 0x013AFF90, 0x013AFF90, 0x7789892C)
ntdll.dll!_chkstk(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x013B0000, 0x7774DD58, 0x0000DDDC, 0x00000000)
ntdll.dll!RtlInitializeResource(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x013AF530, 0x013AF040, 0x00000000, 0x00000000)
ntdll.dll!KiUserExceptionDispatcher(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x000AB2F0, 0x00000000, 0x7F4F7406050, 0xFFFFFFFFFFFFFFFF)
redis-server.exe!rdbSaveBackground(D:\dev\GitHub\redis\src\rdb.c:1130)(0xFFFFFFFF, 0x1401B1980, 0x00000001, 0x00000384)
redis-server.exe!serverCron(D:\dev\GitHub\redis\src\server.c:1133)(0x00000000, 0x20C49BA5E353F7CF, 0x7F4F7411150, 0x000000D4)
redis-server.exe!aeMain(D:\dev\GitHub\redis\src\ae.c:530)(0x002F4DB0, 0x59863C95C2747, 0x1401A9308, 0x7F4F74FE000)
redis-server.exe!redis_main(D:\dev\GitHub\redis\src\server.c:4013)(0x002FC550, 0x000002B8, 0x00000000, 0x00000002)
redis-server.exe!main(D:\dev\GitHub\redis\src\Win32_Interop\Win32_QFork.cpp:1285)(0x002FA6F0, 0x002FA6F0, 0x00000002, 0x002FC550)
redis-server.exe!ServiceWorkerThread(D:\dev\GitHub\redis\src\Win32_Interop\Win32_service.cpp:484)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
kernel32.dll!BaseThreadInitThunk(D:\dev\GitHub\redis\src\Win32_Interop\Win32_service.cpp:484)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(D:\dev\GitHub\redis\src\Win32_Interop\Win32_service.cpp:484)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(D:\dev\GitHub\redis\src\Win32_Interop\Win32_service.cpp:484)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[8344] 28 Nov 10:18:47.142 # --- INFO OUTPUT

Server

redis_version:4.0.14
redis_git_sha1:ac17be3c
redis_git_dirty:0
redis_build_id:6730cd93e7a0b74b
redis_mode:standalone
os:Windows
arch_bits:64
multiplexing_api:WinSock_IOCP
atomicvar_api:pthread-mutex
process_id:8344
run_id:67269ea068178b7a7852bac04dc13f7e93de8e69
tcp_port:6379
uptime_in_seconds:3497
uptime_in_days:0
hz:10
lru_clock:14651639
executable:C:\Program Files\Redis"c:\program files\redis\redis-server.exe"
config_file:C:\Program Files\Redis\redis.windows-service.conf

Clients

connected_clients:2
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

Memory

used_memory:702448
used_memory_human:685.98K
used_memory_rss:701168
used_memory_rss_human:684.73K
used_memory_peak:17479208
used_memory_peak_human:16.00M
used_memory_peak_perc:4.02%
used_memory_overhead:693988
used_memory_startup:659744
used_memory_dataset:8460
used_memory_dataset_perc:19.81%
total_system_memory:0
total_system_memory_human:0B
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:1.00
mem_allocator:jemalloc-3.6.0
active_defrag_running:0
lazyfree_pending_objects:0

Persistence

loading:0
rdb_changes_since_last_save:3
rdb_bgsave_in_progress:0
rdb_last_save_time:1574931826
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0

Stats

total_connections_received:2
total_commands_processed:57
instantaneous_ops_per_sec:1
total_net_input_bytes:14309696
total_net_output_bytes:28623640
instantaneous_input_kbps:0.04
instantaneous_output_kbps:0.21
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0
keyspace_hits:4
keyspace_misses:4
pubsub_channels:1
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

Replication

role:master
connected_slaves:0
master_replid:faa3ee89c588b3a62bd495bf2d9b3027c3f87c81
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

CPU

used_cpu_sys:0.08
used_cpu_user:0.09
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

Commandstats

cmdstat_unsubscribe:calls=15,usec=0,usec_per_call=0.00
cmdstat_get:calls=8,usec=15600,usec_per_call=1950.00
cmdstat_config:calls=3,usec=0,usec_per_call=0.00
cmdstat_client:calls=2,usec=0,usec_per_call=0.00
cmdstat_cluster:calls=1,usec=0,usec_per_call=0.00
cmdstat_info:calls=17,usec=0,usec_per_call=0.00
cmdstat_del:calls=2,usec=0,usec_per_call=0.00
cmdstat_subscribe:calls=1,usec=0,usec_per_call=0.00
cmdstat_set:calls=2,usec=0,usec_per_call=0.00
cmdstat_ping:calls=2,usec=0,usec_per_call=0.00
cmdstat_echo:calls=2,usec=0,usec_per_call=0.00
cmdstat_auth:calls=2,usec=0,usec_per_call=0.00

Cluster

cluster_enabled:0

Keyspace

[8344] 28 Nov 10:18:47.142 #
=== REDIS BUG REPORT END. Make sure to include from START to END. ===

   Please report this bug by following the instructions at:

 https://github.com/tporadowski/redis/wiki/Submitting-an-Issue

Suspect RAM error? Use redis-server --test-memory to verify it.

[5592] 28 Nov 10:28:57.909 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[5592] 28 Nov 10:28:57.909 # Redis version=4.0.14, bits=64, commit=ac17be3c, modified=0, pid=5592, just started
[5592] 28 Nov 10:28:57.909 # Configuration loaded
[5592] 28 Nov 10:28:57.925 * Running mode=standalone, port=6379.
[5592] 28 Nov 10:28:57.925 # Server initialized
[5592] 28 Nov 10:28:57.940 * DB loaded from disk: 0.016 seconds
[5592] 28 Nov 10:28:57.940 * Ready to accept connections

Lua to Redis decimal numbers changed

Hi, I am using redis 3.2.100 version on windows. The same problem exist in the 4.0.2 (alpha) version.
The values is changing when converting string to number with a lua script. I would like your help.
I share the problem I'm experiencing below.

2

Great project

Awesome project, although I don't know why Microsoft doesn't maintain redis, maybe he tends to .NET CORE, but thank you very much for this project. Like you

callstack print to log file

there is a call stack print to log file, and bgrewriteaof failed:

=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 4.0.2.2
[5032] 18 Jun 11:42:15.018 # ------------------------------------------------
[5032] 18 Jun 11:42:15.018 # Fatal Error: Invalid integer encoding 0xFF #..\src\ziplist.c:320
[5032] 18 Jun 11:42:15.018 # ------------------------------------------------
[5032] 18 Jun 11:42:15.018 # --- EXCEPTION_ACCESS_VIOLATION
[5032] 18 Jun 11:42:15.018 # --- STACK TRACE
redis-server.exe!((null):0)(0x0014E410, 0x0014FF90, 0x00000000, 0x1400ECBE0)
redis-server.exe!((null):0)(0x0014E410, 0x00000000, 0x00000000, 0x7FF815B90000)
KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x140107EEC, 0x7FF82397C15C, 0x00000000, 0x00000000)
ntdll.dll!memset((null):0)(0x0014EB80, 0x0014F070, 0x1400EAD08, 0x0014F070)
ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0014E580, 0x0014EB80, 0x00000000)
ntdll.dll!_chkstk((null):0)(0x0014E580, 0x0014EB80, 0x7FF82295AB10, 0x00000000)
ntdll.dll!RtlWalkFrameChain((null):0)(0x00000002, 0x00000008, 0x14012C728, 0x00000000)
ntdll.dll!KiUserExceptionDispatcher((null):0)(0x14012C728, 0x140115C10, 0x00171200, 0x00008000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x14011F3FC, 0x00000002, 0x14012C728, 0x000000FF)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000002, 0x00000002, 0x00000019, 0x00000000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FCDB9AA9E3A, 0x14000B6EC, 0x00000000, 0x00000019)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x0014F530, 0x00000019, 0x7FFFFFFFFFFFFFFF, 0x0014F5B8)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x02C09070, 0x0000001A, 0x02C09070, 0x7FCDB9AA9E01)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x0014F690, 0x0014F5F9, 0x00000000, 0x00000007)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00582830, 0x00000006, 0x00000007, 0x00582830)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000008, 0x0014F820, 0xFFFFFFFFFFFFFFFE, 0x012A2760)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00EA0000, 0x00000005, 0x00000007, 0x1401AE1E8)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00582B30, 0x1401AE1E8)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00000001, 0x00000001)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x7FF82085A580, 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)
[5032] 18 Jun 11:42:15.019 # --- INFO OUTPUT

I checked the physical memeory:
redis occupy 2.8GB(use "info memory" command in redis-cli.exe)
physical memory remain: 6.5GB

why redis bgrewriteaof failed?

make redis windows. conf work

Your redis installer for windows is so easy to use!
until when I wanna add the authentication ( add password) to the service
I tried
modified redis.windows.conf file ,add requireauth aaa

redis-server --service-install redis.windows.conf --loglevel verbose
It prompted already installed,
even after restart redis service, it won't work
would you write a wiki to show how to do this for people new here?

ZRANK/ZREVRANK test failure

unit/type/zset test for ZRANK/ZREVRANK commands fails. According to documentation it should return (nil) in both cases when key or member are not found, but it was returning "-1" because of PORT_ULONG type (originally in Redis there is long).

Service in Sentinel mode can't be restarted

Hi @tporadowski

We are testing the 4.0.14.1 and believe we found another issue:
The sentinel service cannot be restarted unless we are changing the sentinel.conf file.

We are running Redis in Sentinel mode using the following command:
"E:\redis\redis-server.exe" --service-run --service-name redis-sentinel E:\redis\sentinel.conf --sentinel

We are using the following config file:
port 26379

bind 0.0.0.0
sentinel monitor vmmaster 127.0.0.1 6379 1
sentinel down-after-milliseconds vmmaster 5000
logfile "redis_sentinel_log.txt"

After the service starts, the config file is modified to the following:
port 26379

bind 0.0.0.0
sentinel myid 0347fcf723b8e4c4198ad052d3dcae5449e67d97
sentinel deny-scripts-reconfig yes
logfile "redis_sentinel_log.txt"
# Generated by CONFIG REWRITE
dir "E:\redis"
sentinel monitor vmmaster 127.0.0.1 6379 1
sentinel down-after-milliseconds vmmaster 5000
sentinel config-epoch vmmaster 0
sentinel leader-epoch vmmaster 0
sentinel current-epoch 0

After the service is stopped, it fails to start unless we manually revert the config file to its original form (before it was modified by the service).
The log file "redis_sentinel_log.txt" is not indicating any error.
The windows event log shows the following (the typo sentinal is in source):
syslog-ident = redis
Invalid argument during startup: could not find sentinal subcommand deny-scripts-reconfig

Check why redis-cli is crashing

redis-cli tool from current state of port of Redis 4.0.2 to Windows does not work and crashes suddenly right after starting - investigate and fix.

Crash when persistence-available is set to no

The current version 4.0.12.2 crashes when persistence-available is set to no. I am not sure if this option even does anything when you have commented out all of the save lines and set appendonly to no in the config.

Path to 5.0

I would like to revisit some key points before tackling porting 5.0 code :

  1. Codebase reduction : I believe we should drop support on this repo for windows service, and keep the effort entirely on Redis core executables. Windows service could be a side effort as a contrib project, it's a cross-cutting concern.

  2. Formatting : Porting 5.0 will be a lot easier if somehow we match the formatting back to antirez's repo.

  3. Modules: We could port some key modules and maintain them.

  4. Upstream: Currently our upstream is microsoft's archieve redis. Clearly that won't help, we could consider removing the upstream or forking antirez's.

Feel free to add any other topics we should discuss.

rewrite aof failed

when execute command "bgrewriteaof" in redis-cli.exe, error message print to log file:

[11896] 18 Jun 12:39:28.289 * Background append only file rewriting started by pid 18112
[18112] 18 Jun 12:39:28.407 #
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.

Redis can not continue. Exiting.
[11896] 18 Jun 12:39:28.494 # fork operation failed
[11896] 18 Jun 12:39:28.771 # Background AOF rewrite terminated by signal 1

But i check the memory, system has enough physical memory, show bellow:
1
2

Does anybody have resolve the problem?

the variable is use before init

src\Win32_Interop\Win32_CommandLine.cpp : 662
void ParseCommandLineArguments(int argc, char** argv) {
if (argc < 2) {
return;
}

bool confFile = false;
string confFilePath;
for (int n = (confFile ? 2 : 1); n < argc; n++) {
    if (string(argv[n]).substr(0, 2) == "--") {
        string argument = string(argv[n]).substr(2, argument.length() - 2);

can not bind the address like "localhost"

I want start redis server on "locahost" (may be have ipv6 only host in the network, so do not use "127.0.0.1"), but failed.
I found BindParams::IsIPAddress can not support "localhost", is only support IP address.

Build redis-check-rdb tool

redis-check-rdb tool was not available at the time of win-3.2.100, so it needs to be included in win-4.0.2:

  • add new project in subfolder of "msvs"
  • include in MSI installer
  • check/uncomment call from redis-check-aof tool

config get appendfilename doesn't work

I test-drove this verion because I was having an issue with Redis version 3.2.100 running on Windows 10 64Bit. It seems that V4.0.2 alpha still has this issue:

My .conf file:
# The name of the append only file (default: "appendonly.aof")
appendfilename appendonly.aof

cli command: config get ap*
Returns:
1) "appendfsync"
2) "everysec"
3) "appendonly"
4) "yes"

Appendfilename is not listed. Is this a bug?

Redis version 4.0.2 running on Windows 10 64Bit

Modify redisContextSetTimeout for Windows

See the MS site
https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-setsockopt

The optval is a DWORD (DWORD value is millisecond)
This project needs to be modified for windows

= Proposal code =
#ifdef _WIN32

int redisContextSetTimeout(redisContext c, const unsigned long tv) {
if (setsockopt(c->fd, SOL_SOCKET, SO_RCVTIMEO, (char
)&tv, sizeof(tv)) == -1) {
__redisSetErrorFromErrno(c, REDIS_ERR_IO, "setsockopt(SO_RCVTIMEO)");
return REDIS_ERR;
}
if (setsockopt(c->fd, SOL_SOCKET, SO_SNDTIMEO, (char*)&tv, sizeof(tv)) == -1) {
__redisSetErrorFromErrno(c, REDIS_ERR_IO, "setsockopt(SO_SNDTIMEO)");
return REDIS_ERR;
}
return REDIS_OK;
}
#else
int redisContextSetTimeout(redisContext *c, const struct timeval tv) {
if (setsockopt(c->fd,SOL_SOCKET,SO_RCVTIMEO,&tv,sizeof(tv)) == -1) {
__redisSetErrorFromErrno(c,REDIS_ERR_IO,"setsockopt(SO_RCVTIMEO)");
return REDIS_ERR;
}
if (setsockopt(c->fd,SOL_SOCKET,SO_SNDTIMEO,&tv,sizeof(tv)) == -1) {
__redisSetErrorFromErrno(c,REDIS_ERR_IO,"setsockopt(SO_SNDTIMEO)");
return REDIS_ERR;
}
return REDIS_OK;
}
#endif

how to fix EndForkOperation: 0x00000005 - EndForkOperation: Killing forked process failed.: 拒绝访问

[19184] 09 Apr 09:30:42.060 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[19184] 09 Apr 09:30:42.063 # Redis version=4.0.14.2, bits=64, commit=017dc989, modified=0, pid=19184, just started
[19184] 09 Apr 09:30:42.063 # Configuration loaded
[19184] 09 Apr 09:30:42.066 * Running mode=standalone, port=6379.
[19184] 09 Apr 09:30:42.067 # Server initialized
[19184] 09 Apr 09:30:42.067 * DB loaded from disk: 0.000 seconds
[19184] 09 Apr 09:30:42.068 * Ready to accept connections
[19184] 09 Apr 09:35:43.058 * 10 changes in 300 seconds. Saving...
[19184] 09 Apr 09:35:43.127 * Background saving started by pid 18248
[19184] 09 Apr 09:35:43.328 # fork operation complete
[19184] 09 Apr 09:35:43.329 * Background saving terminated with success
[19184] 09 Apr 10:45:58.489 * 1 changes in 900 seconds. Saving...
[19184] 09 Apr 10:45:58.541 * Background saving started by pid 18924
[19184] 09 Apr 10:45:58.844 # fork operation complete
[19184] 09 Apr 10:46:28.846 # EndForkOperation: 0x00000005 - EndForkOperation: Killing forked process failed.: 拒绝访问。

No binary

Hi,

I'm very happy that someone took the challenge and started this new Redis fork!
I am sorry to call this an issue, but I'm sure many Windows users would like to be able to download an .exe file from somewhere. Maybe someone can provide a link or something like that?

At the moment I am still using the Microsoft fork, but it has some issues, so I would like to test-drive this version to see how it behaves!

Address WSA_IO_PENDING warnings in log files

This is in reference to this issue, which seems to be specific to the Windows port of Redis. We get about 2 of these warnings logged every second for each machine in our cluster. There doesn't appear to be a way to turn them off without turning off all of logging. This is causing an issue both due to hard disk space, as well as costing us money since we're using Splunk to index log files. I'd love to see a way to suppress these warnings, or a work around for the issue.

Bug report

Thank you so much to push redis to 4.x under windows. Here I met a bug when using it. Paste the detail here, hope it helps.

=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 4.0.2
[6012] 17 Nov 22:21:25.869 # ------------------------------------------------
[6012] 17 Nov 22:21:25.869 # Fatal Error: decrRefCount against refcount <= 0 #..\src\object.c:328
[6012] 17 Nov 22:21:25.869 # ------------------------------------------------
[6012] 17 Nov 22:21:25.869 # --- EXCEPTION_ACCESS_VIOLATION
[6012] 17 Nov 22:21:25.869 # --- STACK TRACE
redis-server.exe!StackTraceInfo(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:153)(0x140163EF0, 0x0014FF90, 0x00000006, 0x0014E9C0)
redis-server.exe!UnhandledExceptiontHandler(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x14002A690, 0x14002A690, 0x00000006, 0x00000006)
KERNELBASE.dll!UnhandledExceptionFilter(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x140179EA8, 0x7FFF48BFAE2C, 0x00000000, 0x140046B9D)
ntdll.dll!memset(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x0014F630, 0x0014EA20, 0x14016A7C0, 0x7FFF47032774)
ntdll.dll!_C_specific_handler(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x00000000, 0x0014EB30, 0x00000000, 0x00000000)
ntdll.dll!_chkstk(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x00000000, 0x00000000, 0x0014EF00, 0x00000031)
ntdll.dll!RtlLookupFunctionEntry(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x7FEC0080C150, 0x140167068, 0x14019CA80, 0x7FFF48AF0F20)
ntdll.dll!KiUserExceptionDispatcher(c:\users\jerry\desktop\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x7FEC00400000, 0x140197CC0, 0x00021260, 0x00008000)
redis-server.exe!_serverPanic(c:\users\jerry\desktop\redis\src\debug.c:661)(0xFFFFFFFFFFFFFFFE, 0x140075011, 0x14019CA80, 0x00000004)
redis-server.exe!decrRefCount(c:\users\jerry\desktop\redis\src\object.c:328)(0x0014FAC8, 0x1401D5ED0, 0xFFFFFFFFFFFFFFFE, 0x04BC0710)
redis-server.exe!sendReplyListDone(c:\users\jerry\desktop\redis\src\networking.c:944)(0x04BC1730, 0x00000000, 0x00000000, 0x00000000)
redis-server.exe!aeApiPoll(c:\users\jerry\desktop\redis\src\ae_wsiocp.c:271)(0x00000001, 0x7FEC00000004, 0x20C49BA500000000, 0x20C49BA500000000)
redis-server.exe!aeMain(c:\users\jerry\desktop\redis\src\ae.c:490)(0x02E79300, 0x55E2E729FB4CC, 0x0014FBB9, 0x7FEC008F8000)
redis-server.exe!redis_main(c:\users\jerry\desktop\redis\src\server.c:3966)(0x005651B0, 0x005651B0, 0x00000001, 0x00000000)
redis-server.exe!main(c:\users\jerry\desktop\redis\src\win32_interop\win32_qfork.cpp:1245)(0x00000000, 0x00000000, 0x1401B3C18, 0x00000000)
redis-server.exe!__scrt_common_main_seh(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
KERNEL32.DLL!BaseThreadInitThunk(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[6012] 17 Nov 22:21:25.916 # --- INFO OUTPUT

Server

redis_version:4.0.2
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:26c41a2a7714af16
redis_mode:standalone
os:Windows
arch_bits:64
multiplexing_api:WinSock_IOCP
atomicvar_api:pthread-mutex
process_id:6012
run_id:fddf6edb09fb1f458b8497234aa96992ec2191cb
tcp_port:6379
uptime_in_seconds:17
uptime_in_days:0
hz:10
lru_clock:979045
executable:C:\Users\Jerry\Desktop\redis\msvs\x64\Release\redis-server.exe
config_file:

Clients

connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

Memory

used_memory:691504
used_memory_human:675.30K
used_memory_rss:690488
used_memory_rss_human:674.30K
used_memory_peak:692536
used_memory_peak_human:676.30K
used_memory_peak_perc:99.85%
used_memory_overhead:683626
used_memory_startup:633752
used_memory_dataset:7878
used_memory_dataset_perc:13.64%
total_system_memory:0
total_system_memory_human:0B
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:1.00
mem_allocator:jemalloc-3.6.0
active_defrag_running:0
lazyfree_pending_objects:0

Persistence

loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1510928468
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0

Stats

total_connections_received:4
total_commands_processed:1007
instantaneous_ops_per_sec:388
total_net_input_bytes:14143
total_net_output_bytes:17612
instantaneous_input_kbps:5.31
instantaneous_output_kbps:5.87
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

Replication

role:master
connected_slaves:0
master_replid:cc1a72c19cf01bc57d95c46338a9c34c076d73eb
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

CPU

used_cpu_sys:0.03
used_cpu_user:0.31
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

Commandstats

cmdstat_pubsub:calls=1,usec=4,usec_per_call=4.00
cmdstat_info:calls=4,usec=863,usec_per_call=215.75
cmdstat_publish:calls=1,usec=7,usec_per_call=7.00
cmdstat_ping:calls=1001,usec=332,usec_per_call=0.33

Cluster

cluster_enabled:0

Keyspace

[6012] 17 Nov 22:21:25.916 #
=== REDIS BUG REPORT END. Make sure to include from START to END. ===

Redis server crash when adding lots of hash keys

My Redis server is crashing at seemingly random points. Mostly when I'm setting a lot of Hash keys, but it could be something else. So far the server has crashed 5 times. Below is the report I copied from the server console:
[14676] 21 Mar 14:21:37.249 # fork operation complete
[14676] 21 Mar 14:21:37.250 * Background saving terminated with success
[14676] 21 Mar 14:21:51.051 * Starting automatic rewriting of AOF on 100% growth

[14676] 21 Mar 14:21:51.052 * Background append only file rewriting started by p
id 13768

=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 4.0.2.1
[13768] 21 Mar 14:21:51.130 # --- EXCEPTION_ACCESS_VIOLATION
[13768] 21 Mar 14:21:51.131 # --- STACK TRACE
redis-server.exe!UnhandledExceptiontHandler(d:\dev\github\redis\src\win32_intero
p\win32_stacktrace.cpp:185)(0x00000001, 0x00000000, 0x00000001, 0x1400497A2)
kernel32.dll!UnhandledExceptionFilter(d:\dev\github\redis\src\win32_interop\win3
2_stacktrace.cpp:185)(0x0012E530, 0x00000006, 0x00000000, 0x100000001)
ntdll.dll!EtwEventSetInformation(d:\dev\github\redis\src\win32_interop\win32_sta
cktrace.cpp:185)(0x0012F170, 0x0334D8F8, 0x140170830, 0x00000000)
ntdll.dll!C_specific_handler(d:\dev\github\redis\src\win32_interop\win32_stackt
race.cpp:185)(0x00130000, 0x0012FF90, 0x0012FF90, 0x778EF818)
ntdll.dll!RtlDecodePointer(d:\dev\github\redis\src\win32_interop\win32_stacktrac
e.cpp:185)(0x00130000, 0x7779DD88, 0x000127EC, 0x001C0080)
ntdll.dll!RtlUnwindEx(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp
:185)(0x0012F170, 0x0012EC80, 0x00000000, 0x00000000)
ntdll.dll!KiUserExceptionDispatcher(d:\dev\github\redis\src\win32_interop\win32

stacktrace.cpp:185)(0x14019AEA4, 0x1400DA5E7, 0x14019AEA4, 0x00000002)
redis-server.exe!rioWriteBulkObject(d:\dev\github\redis\src\aof.c:796)(0x0000000
0, 0x0000000E, 0x00000002, 0x14007DB77)
redis-server.exe!rioWriteHashIteratorCursor(d:\dev\github\redis\src\aof.c:979)(0
x0012F56E, 0x0012F520, 0x00000002, 0x0012F5D0)
redis-server.exe!rewriteHashObject(d:\dev\github\redis\src\aof.c:998)(0x0012F5D0
, 0x0012F5C8, 0x14019AEA6, 0x7E112AE6CC0)
redis-server.exe!rewriteAppendOnlyFile(d:\dev\github\redis\src\aof.c:1100)(0x025
70000, 0x02570000, 0x00000000, 0x02570000)
redis-server.exe!QForkChildInit(d:\dev\github\redis\src\win32_interop\win32_qfor
k.cpp:350)(0x0039B1E0, 0x00000178, 0x003A78E0, 0x1401B8D18)
redis-server.exe!QForkStartup(d:\dev\github\redis\src\win32_interop\win32_qfork.
cpp:525)(0x0039B1E0, 0x00000000, 0x00000005, 0x00000006)
redis-server.exe!main(d:\dev\github\redis\src\win32_interop\win32_qfork.cpp:1284
)(0x00000000, 0x00000000, 0x1401BAD98, 0x00000000)
redis-server.exe!__scrt_common_main_seh(f:\dd\vctools\crt\vcstartup\src\startup
exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
kernel32.dll!BaseThreadInitThunk(f:\dd\vctools\crt\vcstartup\src\startup\exe_com
mon.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.
inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.
inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[13768] 21 Mar 14:21:51.153 # --- INFO OUTPUT
[14676] 21 Mar 14:22:04.652 # fork operation failed
[14676] 21 Mar 14:22:04.658 # Background AOF rewrite terminated by signal 1
[14676] 21 Mar 14:22:04.759 * Starting automatic rewriting of AOF on 110% growth

[14676] 21 Mar 14:22:04.759 * Background append only file rewriting started by p
id 14272

=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 4.0.2.1
[14272] 21 Mar 14:22:04.798 # --- EXCEPTION_ACCESS_VIOLATION
[14272] 21 Mar 14:22:04.798 # --- STACK TRACE
redis-server.exe!UnhandledExceptiontHandler(d:\dev\github\redis\src\win32_intero
p\win32_stacktrace.cpp:185)(0x00000001, 0x00000000, 0x00000001, 0x1400497A2)
kernel32.dll!UnhandledExceptionFilter(d:\dev\github\redis\src\win32_interop\win3

This repeats until I close the server

New version release date

Thanks for all the hard work you guys put in for this. Do you know what the approximate date would be for the next version (with module support)?

rdb file wrong,cause program interupt and exit

[1624] 11 Apr 17:16:20.480 # WSA_IO_PENDING writing to socket fd 186
[1624] 11 Apr 17:16:20.496 # WSA_IO_PENDING writing to socket fd 182
[1624] 11 Apr 17:16:20.527 # clusterWriteDone written 2568 fd 186
[1624] 11 Apr 17:16:20.558 # clusterWriteDone written 2568 fd 182
[1624] 11 Apr 17:16:23.371 # Short read or OOM loading DB. Unrecoverable error,
aborting now.
[1624] 11 Apr 17:16:23.402 # Internal error in RDB reading function at rdb.c:16
7 -> Unexpected EOF reading RDB file
[offset 0] Checking RDB file dump.rdb
[offset 28] AUX FIELD redis-ver = '4.0.2.2'
[offset 42] AUX FIELD redis-bits = '64'
[offset 54] AUX FIELD ctime = '1523437583'
[offset 66] AUX FIELD used-mem = '0'
[offset 84] AUX FIELD repl-stream-db = '0'
[offset 134] AUX FIELD repl-id = '6df0b53efe93c65443a5a1491f12281b9f75541f'
[offset 152] AUX FIELD repl-offset = '570220748'
[offset 168] AUX FIELD aof-preamble = '0'
[offset 170] Selecting DB ID 0

Win32_Portability.h and sds.h

You should fix this line on line 68 and on 130 (sds.h)

remove #define inline __inline
otherwise, the compiler will smoke and forbid because or warning C4005 "The C++ Standard Library forbids macroizing keywords."

:)

Redis 4.0.2.3 can not auto start on reboot

after install redis-service, i found it does not auto start on reboot.
but in services.msc , it shows redis service's start-type is "auto".

every time i have to start it manually.

Fix fork() exception

fork() operation that spawns a copy of redis-server.exe to persist changes to disk fails.

[56648] 27 Oct 12:29:39.037 * 10000 changes in 60 seconds. Saving...
[56648] 27 Oct 12:29:39.042 * Background saving started by pid 46052


=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 4.0.2
[46052] 27 Oct 12:29:39.152 # --- EXCEPTION_ACCESS_VIOLATION
[46052] 27 Oct 12:29:39.154 # --- STACK TRACE
redis-server.exe!StackTraceInfo(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:153)(0x140163EF0, 0x0014FF90, 0x00000001, 0x0014E9D0)
redis-server.exe!UnhandledExceptiontHandler(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x00000000, 0x00000000, 0x00000000, 0x00000001)
KERNELBASE.dll!UnhandledExceptionFilter(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x140179EA8, 0x7FFEA1282A30, 0x00000000, 0x140046B7D)
ntdll.dll!memset(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x0014F630, 0x00170000, 0x7FFE9EB18364, 0x0014FF20)
ntdll.dll!_C_specific_handler(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x00000000, 0x0014EB40, 0x0014F140, 0x00000000)
ntdll.dll!_chkstk(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x7FFE9EBB44B0, 0x0014F140, 0x00000000, 0x7FFEA1187A88)
ntdll.dll!RtlImageNtHeaderEx(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x00000000, 0x00000000, 0x020F0000, 0x7FFE9E570000)
ntdll.dll!KiUserExceptionDispatcher(d:\dev\github\redis\src\win32_interop\win32_stacktrace.cpp:186)(0x020F0000, 0x00000000, 0x000001C4, 0x0000000B)
redis-server.exe!QForkChildInit(d:\dev\github\redis\src\win32_interop\win32_qfork.cpp:331)(0x00000008, 0x000001A0, 0x000001A0, 0x00000006)
redis-server.exe!main(d:\dev\github\redis\src\win32_interop\win32_qfork.cpp:1239)(0x00000000, 0x00000000, 0x1401B3C18, 0x00000000)
redis-server.exe!__scrt_common_main_seh(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
KERNEL32.DLL!BaseThreadInitThunk(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[46052] 27 Oct 12:29:39.165 # --- INFO OUTPUT
[56648] 27 Oct 12:29:40.446 # fork operation failed
[56648] 27 Oct 12:29:40.447 # Background saving terminated by signal 1

Enable loading of modules

At the moment modules are turned off as their initialization was causing some problems. Goal of this task:

  • Enable loading of modules (though they'd have to be ported to Windows, too)
  • mention usage of dlfcn-win32 project; convert it to a separate library in deps? Make it a Git submodule?

AV when background saving

Hi,

We are constantly facing these AV errors (event logs filled most of the times) ...happening since 3.2.100 and even with this fork, Might you please be able to help out ?

=== REDIS BUG REPORT START: Cut & paste starting from here ===
Redis version: 4.0.2.3
[2088] 28 Sep 09:49:34.120 # --- EXCEPTION_ACCESS_VIOLATION
[2088] 28 Sep 09:49:34.120 # --- STACK TRACE
redis-server.exe!((null):0)(0x00000000, 0x00000000, 0x00000001, 0x00000000)
KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x00000000, 0x7FFFAE0B1DC0, 0x00000000, 0x0013FF20)
ntdll.dll!memset((null):0)(0x0013EEB0, 0x0013E9C0, 0x1401707B0, 0x00000000)
ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0013E3F0, 0x0013EEB0, 0x0013EEB0)
ntdll.dll!_chkstk((null):0)(0x00000001, 0x7FFFB0C90000, 0x00000000, 0x7FFFB0DC409C)
ntdll.dll!RtlRaiseException((null):0)(0x002325E0, 0x00000000, 0x0013F240, 0x00000000)
ntdll.dll!KiUserExceptionDispatcher((null):0)(0x02407040, 0x00000000, 0x00004065, 0x00000000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x0013F240, 0x00000000, 0x00000000, 0x65400000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00270CB0, 0x00760000, 0x00B62760, 0x00000828)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x0000000A, 0x00760000, 0x00760000, 0x000000F8)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00237880, 0x00236750, 0x1401B4350)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00237880, 0x00000000, 0x00000005, 0x00000006)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x140045D00, 0x00000000, 0x1401B8F80, 0x7FF5FFFFA000)
redis-server.exe!KiUserExceptionDispatcher((null):0)(0x140045D18, 0x7FF5FFFFA000, 0x00000000, 0x00000000)
KERNEL32.DLL!BaseThreadInitThunk((null):0)(0x7FFFAE5213B0, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
ntdll.dll!RtlUserThreadStart((null):0)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
[2088] 28 Sep 09:49:34.120 # --- INFO OUTPUT
[2876] 28 Sep 09:49:34.479 # fork operation failed
[2876] 28 Sep 09:49:34.495 # Background saving terminated by signal 1

integer is returning although the value is decimal

My decimal.lua file

local incomingVal = ARGV[1]

redis.call('hset', 'incomingVal:', 'strVal', incomingVal)
redis.call('hset', 'incomingVal:', 'numVal', tonumber(incomingVal))

local a = redis.call('hget', 'incomingVal:', 'strVal')
local b = redis.call('hget', 'incomingVal:', 'numVal')

return {a, b, tonumber(b)}

then redis command line
$ redis-cli --eval decimal.lua 0 , 0.005

and returns value ;

1) "0.005"
2) "0.0050000000000000001"
3) (integer) 0

why my decimal variable is an integer. I guess there is an error. what do you think?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.