[sr-dev] [kamailio/kamailio] async_http_client crash (#2286)

Daniel-Constantin Mierla notifications at github.com
Fri Apr 17 19:19:22 CEST 2020


I think I found something that could have been caused the issue, respectively setting the AVPs lists from transaction in the process context inside the http async callback function. It was done for the case when transaction was suspended and no cleaned up, living further in the context of the process and when the async callback was executed for a non-suspended-transaction case (with faked_msg), then the local avps are cleaned up, but they belonged to a past transaction, already destroyed (along with avps).

So this case could happen when there is a mix usage of http async with suspended=1 as well as with suspended=0. Code was rather old, but maybe nobody used the module mixed suspending modes. 

IMO, there is no need to set avps lists to process local in the process, because it is done by faked_env which is used inside t_continue function before executing the routing block, so the avps are available inside the config block.

I pushed the commit 1bc3bbd -  @grumvalski can you check it and analyze if there are some side effects by removing those lines? I couldn't spot when AVPs would be needed before the use of fake_env() by t_continue(), but I am not that familiar with http async module internals. If some unwanted effects, then the commit can be reverted. Or if all looks ok and tests are fine, then it can be backported.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2286#issuecomment-615366413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200417/751c96a8/attachment-0001.html>


More information about the sr-dev mailing list