On Mon, Oct 3, 2022 at 11:41 AM mayamatakeshi <mayamatakeshi@gmail.com> wrote:


On Mon, Sep 26, 2022 at 8:32 PM Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,

as I am not a user of dialog variables, I am turning to community to ask
for help testing the current master branch with configurations that make
use of dialog variables and acc dialog-based cdr generation.

With a few reports of issues related to dialog modules and unexpected
crashes, I looked over the code and noticed that the access of the value
for dialog variables was not protected, making them vulnerable of
invalid memory access in case of the variable was updated by another
process or dialog was terminated.

I introduced a couple of new functions to try to cover different use
cases of getting the dlg variable values, dialog management code was not
affected, but given that these commits need to be backported to stable
branch (5.6), I want to get proper feedback from community that things
work fine.

A previous attempt of a simpler fix was not enough, having side effects
to acc module for dialog-based cdr generation, because it was keeping
referenced to many dlg variables at the same time.

In short, it would be appreciated any feedback on testing dialog and acc
with dialog-based cdr generation using git master branch.


I have started 4 load test environments today with latest commit 6f400a8074fe60916867596431ca26dff00435d1.
I usually leave a commit load test running for 2 months before consider it ready for production release.
I will report any crash/problem.

After a few hours of load test, all 4 load test environments start to log memory allocation problems:

[root@lab002107-flip-server ~]$ grep memory /var/log/kamailio/kamailio.log |head
2022-10-13T01:36:10.429809+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: rtpengine [rtpengine.c:2721]: rtpp_function_call(): out of memory - bencode failed
2022-10-13T01:36:12.923609+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: rtpengine [rtpengine.c:2721]: rtpp_function_call(): out of memory - bencode failed
2022-10-13T01:36:12.961677+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: acc [acc_extra.c:234]: extra2strar(): could not allocate private memory from pkg pool
2022-10-13T01:36:14.983281+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: rtpengine [rtpengine.c:2721]: rtpp_function_call(): out of memory - bencode failed
2022-10-13T01:36:14.983537+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: acc [acc_extra.c:234]: extra2strar(): could not allocate private memory from pkg pool
2022-10-13T01:36:14.983665+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: acc [acc_extra.c:234]: extra2strar(): could not allocate private memory from pkg pool
2022-10-13T01:36:20.861558+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: rtpengine [rtpengine.c:2721]: rtpp_function_call(): out of memory - bencode failed
2022-10-13T01:36:20.864388+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: acc [acc_extra.c:234]: extra2strar(): could not allocate private memory from pkg pool
2022-10-13T01:36:20.878469+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: acc [acc_extra.c:234]: extra2strar(): could not allocate private memory from pkg pool
2022-10-13T01:36:23.174159+09:00 lab002107-flip-server /usr/local/src/git/kamailio-master/src/kamailio[3286370]: ERROR: rtpengine [rtpengine.c:2721]: rtpp_function_call(): out of memory - bencode failed 


I reverted 2 of the load test envs to previous kamailio 5.6 commit 61e86a1f502388ffd4dce6e52811ba640337c813 and restarted the load tests, then again, kamailio master commit 6f400a8074fe60916867596431ca26dff00435d1 started to write the above logs but this doesn't happen with 5.6.