Adding a subnet to ice_ignore_list caused a dramatic memory leak

Recently we changed our config from ice_ignore_list = "vmnet" to ice_ignore_list = "vmnet,172." and faced a dramatic memory leak.
Does anybody know how can I check what’s leaking? From the code (didn’t yet dived deep) it’s not so straightforward (I have no idea why two elements in list handled so differently comparing to a single element).


On the graph we can see that right after that change the server started leaking fast and we have to restart is periodically (which isn’t nice).

Hope someone can help at least with the direction of the search.

Probably the issue was an outdated libnice (0.1.17), compiled latest (ac4bb22ebbfce712729aec277259c5ea9254189a) - looks promising. Will monitor it a bit under a load and confirm if it helped.

After a couple days can confirm that with fresh libnice works fine (without that nasty memory leak)

A small update on libnice:
versions >= 0.1.20 work slow (>3 second delay added comparing to previous)
versions < 0.1.19 leaking

So, currently we use 0.1.19 because it’s not leaking and works fast.

@lorenzo, fyi

What do you mean with “>3 seconds delay” ?

In general we recommend sticking to the latest available libnice from sources.

I made a couple of tests with libnice 0.1.17 and master, ignoring “172.” (in my case a docker interface) and using a default janus.jcfg.
I was unable to detect any leak with ASan and Valgrind.