[sr-dev] possible bug on kemi dlg_ontimeout
Daniel-Constantin Mierla
miconda at gmail.com
Mon Apr 6 13:22:32 CEST 2020
Hello,
apparently it was not backported to 5.3, somehow I forgot about it. I
just did it a few minutes ago.
Cheers,
Daniel
On 06.04.20 10:49, David Escartin wrote:
> Dear Daniel
>
> hope everything is ok.
> Sorry if i missed something, but has been this patch already
> backported from master to 5.3 yet?
>
> thanks alot and regards
> david
>
> El jue., 13 feb. 2020 a las 18:12, David Escartin (<descartin at sonoc.io
> <mailto:descartin at sonoc.io>>) escribió:
>
> hello Daniel
>
> i have tried it and seems fine.
>
> thanks a lot and regards
> david
>
> El jue., 13 feb. 2020 a las 17:13, Daniel-Constantin Mierla
> (<miconda at gmail.com <mailto:miconda at gmail.com>>) escribió:
>
> Hello,
>
> indeed keeping route block index in unsigned it can create
> problems. I pushed a patch for it:
>
> -
> https://github.com/kamailio/kamailio/commit/6c557efc1b9cb8c880a05235c94780bbaf305073
>
> Can you try and see if now works ok? If yes, it will be
> backported.
>
> Cheers,
> Daniel
>
>
> On 13.02.20 13:27, David Escartin wrote:
>> Hello all
>>
>> Testing dialog timeout event callback for kemi lua setup
>> on kamailio 5.4.0-dev3 (x86_64/linux) d74157-dirty, i had
>> some problems to perform the dlg timeroute behaviour the same
>> as we could on native version.
>> If i used KSR.dialog.var_sets to set $dlg_ctx(timeout_route),
>> I saw that on a dialog timeout, the dlg_ontimeout event route
>> was not triggered, and only the dialog callback was executed
>> with evname dialog:end. (only executing event_route -1 on
>> state 5)
>> So i'm guessing that the kemi dialog var_sets is for $dlg_var
>> only (¿?)
>> Anycase, If i used KSR.pv.sets, i saw the kamailio was crashing
>> .....
>> 16(5579) DEBUG: dialog [dlg_hash.c:1013]: dlg_ref_helper():
>> ref dlg 0x7f9a961f5f90 with 1 -> 3
>> 16(5579) DEBUG: dialog [dlg_handlers.c:1589]:
>> dlg_ontimeout(): executing route -1 on timeout
>> 22(5645) CRITICAL: <core> [core/pass_fd.c:277]: receive_fd():
>> EOF on 8
>> 22(5645) DEBUG: <core> [core/tcp_main.c:3762]:
>> handle_ser_child(): dead child 16, pid 5579 (shutting down?)
>> ....
>> Adding some debug, i could see that the call was not
>> attempting the kemi function of line 1598 of dlg_handlers.c,
>> and was trying the code i think was for native on line 1593.
>> We think the issue is that the toroute is defined as unsigned
>> dlg_hash.h: unsigned int toroute; /*!< index of route
>> that is executed on timeout */
>> but after that when setting $dlg_ctx(timeout_route) with pv
>> module, it tries to compare an integer being unsigned, so
>> it's always true and never uses kemi
>> with this change we made it work
>> + if ((int)(dlg->toroute) > 0) {
>> + /*if(dlg->toroute>0) {*/
>> but i don't know maybe there is a better way to do it.
>>
>> best regards
>> david
>>
>> _______________________________________________
>> Kamailio (SER) - Development Mailing List
>> sr-dev at lists.kamailio.org <mailto:sr-dev at lists.kamailio.org>
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
> --
> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com <http://www.asipto.com>
> Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com <http://www.kamailioworld.com>
>
--
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200406/a056f358/attachment.html>
More information about the sr-dev
mailing list