On Fri, Jul 27, 2018 at 8:54 AM, mayamatakeshi <mayamatakeshi@gmail.com> wrote:
Hi,
I am seeing this issue with some of our FS deployments.
We use Debian 8 
with FS commit 5a4d2496f1b9256fe19cd90cc99ad8780c7998bc.

However, this doesn't happen with an older FS machine using the same OS and FS commit.

Checking for differences between them, we ended up finding that
  ldd freeswitch
reports they differ here:

OK:
  libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 

NG:
  libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 


I was wondering if this might be the cause of the issue and would like to test by forcing use of libcurl-gnutls on the NG machines but I am not sure if I can force FS build to use one instead of the other.

I can see both OK and NG machines have both 
  libcurl-gnutls.so.4 
and
  libcurl.so.4
so I am not sure why they ended up with FS linked differently.

I searched the FS source code and eventually found that there is this flag HAVE_GNUTLS.

However, it seems this is not set as the code that would set it seems to be disabled (line commented with "#" in libs/iskemel/configure.ac):

[root@lab002141 freeswitch]$ find . -type f|xargs grep -i HAVE_GNUTLS 2> /dev/null
./libs/win32/iksemel/config.h://#define HAVE_GNUTLS 
./libs/iksemel/configure.ac:#AX_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls"))
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:} // HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/src/stream.c:#ifdef HAVE_GNUTLS
./libs/iksemel/configure:#AX_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls"))
./libs/iksemel/tools/iksroster.c:#ifndef HAVE_GNUTLS

So I am not sure why the build decided to link against libcurl-gnutls.so.4 on the OK machine.


Does anyone have some idea?


I just had to do this before building FS:
  apt-get remove -y libcurl4-openssl-dev
  apt-get install -y libcurl4-gnutls-dev
  ldconfig

After that FS linked with libcurl4-gnutls

However, after updating the production FS server, memory behavior didn't change. So the issue is not related to libcurl.