RedisInsight添加数据库失败 Redis服务出现EXCEPTION_ACCESS_VIOLATION异常
问题现象
尝试在RedisInsight中添加Redis数据库时触发报错,更换其他Redis GUI工具连接时,Redis服务端也会抛出完全相同的错误,服务端错误日志如下:
=== REDIS BUG REPORT START === Redis version: 6.2.5 [20948] 13 Sep 13:39:39.307 # --- EXCEPTION_ACCESS_VIOLATION [20948] 13 Sep 13:39:39.309 # --- STACK TRACE redis-server.exe!((null):0)(0x1401B3370, 0x0014FF60, 0x1400FCEF0, 0x0014E3C0) redis-server.exe!((null):0)(0x0014E3C0, 0x1400FCE01, 0x00000000, 0x00000080) KERNELBASE.dll!UnhandledExceptionFilter((null):0)(0x0014E470, 0x7FF89935663C, 0x00000000, 0x0014E408) ntdll.dll!memset((null):0)(0x7FF899382A24, 0x7FF899210000, 0x0014E470, 0x7FF899240E7B) ntdll.dll!_C_specific_handler((null):0)(0x00000000, 0x0014E970, 0x0014F030, 0x00000000) ntdll.dll!_chkstk((null):0)(0x00000000, 0x0014E970, 0x0014F030, 0x00000000) ntdll.dll!RtlRaiseException((null):0)(0x7FE17B555CC0, 0x7FE17B555CC0, 0x7FE193850000, 0x7FE17B555CC0) ntdll.dll!KiUserExceptionDispatcher((null):0)(0x00000000, 0x7FE191000000, 0x00000000, 0x0000000F) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FE193850000, 0x00003A6D, 0x140044FE0, 0x00000002) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00003A6D, 0x1401D9A98, 0x7FE193850000, 0x1400097C5) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FE193850000, 0x00000000, 0x140044E20, 0x140045680) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FE182800580, 0x7FE193850000, 0x7FE1AA414005, 0x00000000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FE193850000, 0x7FE193850000, 0x7FE182800580, 0x7FE193850000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000144, 0x7FE100000000, 0x00000000, 0x7FE193850000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FE182800580, 0x00000001, 0x00000001, 0x00000000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x7FE18D800320, 0x00000000, 0x00000001, 0x7FE1874001E0) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000001, 0xFFFFFFFF00000013, 0x00000000, 0x186A000000000) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x000051D4, 0x1401ACC60, 0x00000005, 0x0014FA88) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00451400, 0x00451400, 0x00466CF0, 0x00451400) redis-server.exe!KiUserExceptionDispatcher((null):0)(0x00000000, 0x00000000, 0x00451400, 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) [20948] 13 Sep 13:39:39.316 # --- INFO OUTPUT
根因说明
这个是Windows平台下Redis 6.2.5非官方原生编译版本的已知缺陷,GUI客户端连接后自动执行INFO、CONFIG等批量查询命令时,会触发服务端内存访问越界异常,直接导致服务进程崩溃。
解决方案
- 优先升级Redis版本:Windows平台建议使用7.0及以上的正式稳定构建版本,或者在WSL2环境中运行原生Linux版Redis,稳定性和兼容性远高于Windows原生编译的旧版本。
- 临时规避方案:如果暂时无法升级版本,可以在redis.conf配置文件中添加以下两行,重启Redis服务后再尝试连接:
连接成功后可以再移除配置恢复命令使用,该方案仅做临时测试用,不建议生产环境长期开启。rename-command INFO "" rename-command CONFIG "" - 调整GUI客户端配置:关闭Redis GUI工具的自动全量键扫描、自动拉取全量配置、实时性能指标自动刷新功能,连接时仅指定需要访问的数据库索引,避免客户端连接后自动执行批量操作触发崩溃。
- 排查自定义模块:如果Redis服务加载了第三方自定义模块,先卸载所有非官方模块后重启服务再尝试连接,排除模块兼容性问题。
内容的提问来源于stack exchange,提问作者Bala
相关产品推荐
相关产品推荐

