[OpenSIPS-Users] Parser memory Leak found.

Rodrigo Pimenta Carvalho pimenta at inatel.br
Fri Jun 17 20:09:35 CEST 2016


Hi.


In addiction to my last message, the same problem also exists to the following configuration:


modparam("uri", "use_uri_table", 0)
modparam("uri", "db_url", "sqlite:///usr/local/opensips/db/sisc.sqlite") # CUSTOMIZE ME


If use_uri_table is equal to zero, we must comment the line that declare db_url.


But, what kind of side effect could I get with such decision?



Regards.


RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979


________________________________
De: sisc-request at listas.inatel.br <sisc-request at listas.inatel.br> em nome de Rodrigo Pimenta Carvalho <pimenta at inatel.br>
Enviado: sexta-feira, 17 de junho de 2016 14:57
Para: users at lists.opensips.org
Assunto: [sisc] Parser memory Leak found.


Hi.


Thanks Daniel Fússia, a coworker in my office, now I'm sending more details about the memory leak we saw in OpenSIPS 2.2 (newest commit from today):


The following configuration doesn't causes memory leaks:


modparam("dialog", "db_mode", 1)
modparam("dialog", "db_url",  "sqlite:///usr/local/opensips/db/sisc.sqlite")

But, when db_mode is 0, it causes memory leak. The problem is that when using db_mode = 0 we can't declare db_url. That is, if db_mode is zero, we have to comment the line that declares db_url.

See below the valgrind logs. One for the case without memory leak and another one with the issue.

-----------------------------------------------------------------------------------------------------------------------------

==1792==
==1792== HEAP SUMMARY:
==1792==     in use at exit: 3,142,778 bytes in 2,894 blocks
==1792==   total heap usage: 9,463 allocs, 6,569 frees, 4,960,116 bytes allocated
==1792==
==1792== LEAK SUMMARY:
==1792==    definitely lost: 0 bytes in 0 blocks
==1792==    indirectly lost: 0 bytes in 0 blocks
==1792==      possibly lost: 0 bytes in 0 blocks
==1792==    still reachable: 3,142,778 bytes in 2,894 blocks
==1792==         suppressed: 0 bytes in 0 blocks
==1792== Reachable blocks (those to which a pointer was found) are not shown.
==1792== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==1792==
------------------------------------------------------------------------------------------------------------------------------------

Now with the isse:

---------------------------------------------------------------------------------------------------------------------------------------

Thank you for flying opensips
==1762==
==1762== HEAP SUMMARY:
==1762==     in use at exit: 2,887,898 bytes in 2,193 blocks
==1762==   total heap usage: 7,991 allocs, 5,798 frees, 4,382,036 bytes allocated
==1762==
==1762== 80 bytes in 1 blocks are definitely lost in loss record 31 of 100
==1762==    at 0x4C2745D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1762==    by 0x52D50B9: strdup (strdup.c:42)
==1762==    by 0x4DF87E: set_mod_param_regex (modparam.c:97)
==1762==    by 0x5AD2FB: yyparse (cfg.y:1085)
==1762==    by 0x4177DE: main (main.c:999)
==1762==
==1762== LEAK SUMMARY:
==1762==    definitely lost: 80 bytes in 1 blocks
==1762==    indirectly lost: 0 bytes in 0 blocks
==1762==      possibly lost: 0 bytes in 0 blocks
==1762==    still reachable: 2,887,818 bytes in 2,192 blocks
==1762==         suppressed: 0 bytes in 0 blocks
==1762== Reachable blocks (those to which a pointer was found) are not shown.
==1762== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==1762==
-------------------------------------------------------------------------------------------------------------------------------------------------

The problem rises in the yyparser. The parser causes a memory leak whenever db_mode is zero and we still declare db_url, just in dialog module.

Regards.



RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979


________________________________
De: Daniel Lopes Fússia
Enviado: sexta-feira, 17 de junho de 2016 14:41
Para: Rodrigo Pimenta Carvalho
Assunto: Leak no Parser


Pimenta,



Os logs e as configurações estão em anexo.

Qualquer dúvida me dá um tok.



Att,

Daniel Fussia


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160617/eecbc02b/attachment-0001.htm>


More information about the Users mailing list