Closed adriangraham closed 11 years ago
When I checkout the previous revision (34bb0b8090f3b7b1eaa67e5e5463eca7b5db6b30), I don't get this segfault. I wish I understood the code better so I could offer a fix, but at least there's a workaround and some indication of where the issue lives: https://github.com/nicolasff/webdis/commit/f616c2992a70926b9e3448562dff4addb3961985 Again, I never saw this on Centos, just OSX.
Thanks for making such a great piece of software -- I'm looking forward to using it.
Hi Adrian,
Many thanks for reporting this issue. I only have rare access to an OSX machine but will try my best to reproduce and solve the issue this week. In the meantime, could you please try out the latest webdis master
? I pushed an attempted fix.
Thanks for looking into this. I just tried it and am seeing the same issue. I tried to poke around a bit more, and found that cmd->argv[0] seems to have a non-null invalid address:
Breakpoint 1, cmd_is_subscribe (cmd=0x7fa1b2415d60) at cmd.c:374
374 (strncasecmp(cmd->argv[0], "SUBSCRIBE", cmd->argv_len[0]) == 0 ||
(gdb) p cmd->argv[0]
$2 = 0x3000000000000000 <Address 0x3000000000000000 out of bounds>
(gdb) c
Continuing.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x0000000000000000
0x00007fff83cc3c6f in strncasecmp_l ()
Adrian,
The bug should be fixed now, it was indeed introduced in a recent change. Thanks again for reporting it!
Thanks so much for fixing this! I just recompiled and tested with no issues.
I'm trying to get webdis running on OSX 10.8.3 and am seeing a segfault anytime a request is made. I must be missing something obvious, but haven't been able to figure it out. For instance:
curl http://127.0.0.1:1979/SET/hello/world
Here's the backtrace: