Hello,
right, very dummy paste position for resetting the redis context, use
the attached patch or exchange lines 228 and 229. in redis_client.c
Thanks,
Daniel
On 2/17/12 1:13 PM, Javier Gallart wrote:
Hi Daniel, Andrew
I've just tested the patch and kamailio crashes when the redis server
is stopped. This is what I could get:
-From the logs:
Feb 17 06:33:32 r-gate-test ./kamailio[23812]: ALERT: <core>
[main.c:751]: child process 23819 exited by a signal 11
Feb 17 06:33:32 r-gate-test ./kamailio[23812]: ALERT: <core>
[main.c:754]: core was generated
Feb 17 06:33:32 r-gate-test ./kamailio[23812]: INFO: <core>
[main.c:766]: INFO: terminating due to SIGCHLD
-An the backtrace:
(...)
Core was generated by `./kamailio -f ../etc/kamailio/kamailio.cfg'.
Program terminated with signal 11, Segmentation fault.
#0 redisFree (c=0x0) at hiredis.c:817
817 if (c->fd > 0)
(gdb) bt
#0 redisFree (c=0x0) at hiredis.c:817
#1 0x00007f726f035461 in redisc_reconnect_server
(rsrv=0x7f7271c93ac0) at redis_client.c:229
#2 0x00007f726f037240 in redisc_exec (srv=<value optimized out>,
cmd=0x7fffe98c6090, argv1=<value optimized out>, argv2=<value
optimized out>, argv3=<value optimized out>,
res=<value optimized out>) at redis_client.c:298
#3 0x00007f726f034f7d in w_redis_cmd3 (msg=0x7f7271d7b018,
ssrv=<value optimized out>, scmd=<value optimized out>,
sres=0x7f7271d74b58 "h\341\313qr\177") at ndb_redis_mod.c:156
#4 0x0000000000417025 in do_action (h=0x7fffe98c6570,
a=0x7f7271cc5248, msg=<value optimized out>) at action.c:1134
#5 0x000000000041e58b in run_actions (h=<value optimized out>,
a=<value optimized out>, msg=<value optimized out>) at action.c:1610
#6 0x000000000041e8d4 in run_actions_safe (h=0x7fffe98c7610,
a=0x7f7271c93781, msg=0x7f7271c93780) at action.c:1662
#7 0x00000000004b731d in rval_get_int (h=0x7fffe98c7610, msg=0x0,
i=0x7fffe98c6bd8, rv=0x3, cache=0x4) at rvalue.c:920
#8 0x00000000004bb87c in rval_expr_eval_int (h=0x7fffe98c7610,
msg=0x7f7271d7b018, res=0x7fffe98c6bd8, rve=0x7f7271cc6768) at
rvalue.c:1914
#9 0x0000000000417c7c in do_action (h=0x7fffe98c7610,
a=0x7f7271ccb9d0, msg=<value optimized out>) at action.c:1092
#10 0x000000000041e58b in run_actions (h=<value optimized out>,
a=<value optimized out>, msg=<value optimized out>) at action.c:1610
#11 0x0000000000417cd7 in do_action (h=0x7fffe98c7610,
a=0x7f7271ccbb10, msg=<value optimized out>) at action.c:1111
#12 0x000000000041e58b in run_actions (h=<value optimized out>,
a=<value optimized out>, msg=<value optimized out>) at action.c:1610
#13 0x000000000041795e in do_action (h=0x7fffe98c7610, a=<value
optimized out>, msg=<value optimized out>) at action.c:732
#14 0x000000000041e58b in run_actions (h=<value optimized out>,
a=<value optimized out>, msg=<value optimized out>) at action.c:1610
#15 0x000000000041e862 in run_top_route (a=0x7f7271c94888,
msg=0x7f7271d7b018, c=<value optimized out>) at action.c:1683
#16 0x0000000000498f36 in receive_msg (
buf=0x8bb100 "INVITE sip:34661574758@79.170.68.215:5060
<http://sip:34661574758@79.170.68.215:5060> SIP/2.0\r\nVia:
SIP/2.0/UDP 79.170.68.214:5060;branch=z9hG4bK-9451-1-0\r\nFrom:
34661574758 <sip:34661574758@79.170.68.214:5060
<http://sip:34661574758@79.170.68.214:5060>>;tag=9451SIPpTag001\r\nTo:
sut <sip:"..., len=<value optimized out>, rcv_info=0x7fffe98c7910) at
receive.c:207
#17 0x0000000000525987 in udp_rcv_loop () at udp_server.c:544
#18 0x00000000004635f4 in main_loop () at main.c:1585
#19 0x0000000000465e62 in main (argc=3, argv=0x7fffe98c7c08) at
main.c:2475
Regards
Javi
On Fri, Feb 17, 2012 at 11:39 AM, Daniel-Constantin Mierla
<miconda(a)gmail.com <mailto:miconda@gmail.com>> wrote:
Hello,
thanks for testing, indeed it was an extra declaration left over.
Can you try with the new patch attached?
Cheers,
Daniel
On 2/17/12 11:10 AM, Andrew Pogrebennyk wrote:
Hi Daniel,
On 02/17/2012 10:47 AM, Daniel-Constantin Mierla wrote:
I made a patch for server reconnect -- I had no access to
a computer
with redis lib installed for the moment, hopefully it
compiles. If you
can try and tell the result, it would be great, I can
commit then.
I may be able to test this patch as well. Currently
compilations bails
out on attempt to redeclare redisc_reconnect_server function
parameter:
CC (gcc) [M ndb_redis.so] ndb_redis_mod.o
CC (gcc) [M ndb_redis.so] redis_client.o
redis_client.c: In function 'redisc_reconnect_server':
redis_client.c:206:19: error: 'rsrv' redeclared as different
kind of symbol
redis_client.c:202:46: note: previous definition of 'rsrv' was
here
make[1]: *** [redis_client.o] Error 1
make: *** [modules] Error 1
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
sr-users(a)lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla --
http://www.asipto.com
http://linkedin.com/in/miconda --
http://twitter.com/miconda
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users