[SR-Users] ndb_redis module fails after a while

Daniel-Constantin Mierla miconda at gmail.com
Fri Feb 17 15:48:17 CET 2012


Hello,

thanks for testing and feedback. Latest patch was just committed on 
master branch.

Cheers,
Daniel

On 2/17/12 3:08 PM, Javier Gallart wrote:
> Thanks Daniel
>
> On Fri, Feb 17, 2012 at 2:30 PM, Daniel-Constantin Mierla 
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     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
>
>
> It works perfectly well now.:
> ERROR: ndb_redis [redis_client.c:246]: error communicating with redis 
> server [redis1] (127.0.0.1:6379/0 <http://127.0.0.1:6379/0>): 
> Connection refused
>
> After recovering the redis server everything works as expected again.
>
> Regards
>
> Javi
>
>
>     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 at 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 at 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 at gmail.com <mailto:miconda at 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 at lists.sip-router.org
>>             <mailto:sr-users at 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 at lists.sip-router.org  <mailto:sr-users at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120217/d048498f/attachment-0001.htm>


More information about the sr-users mailing list