[Serusers] Memory errors

Greg Fausak lgfausak at august.net
Tue Nov 25 14:52:07 CET 2003


Darren,

Did you ever get this figured out?
I am running in to this problem when I enable
domain.so processing.  It is curious, because when
I first tried it I got this error:

         if (!mf_process_maxfwd_header("10")) {
		sl_send_reply("483", "too many hops");
	};

when I take this test out I get the memory overflow.
when I leave it in I get a 483 at the UA when registering.

This started happening with domain processing.
ngrep only shows one packet, but if I put an xlog() trace at the
top of the route {}; logic I see recursion.  Somehow the route
loop is being entered over and over again.

If I comment out the 'loadmodule domain.so', and remove the
#modparam("domain", "db_mode", 1)
#modparam("domain", "domain_table", "domain")
#modparam("domain", "domain_col", "did")
#modparam("domain","db_url", "X");
#modparam("usrloc|group", "use_domain", 1)
lines, modify the www_challenge and www_authorize accordingly, and
change
         if (!uri==myself) {
#       if(!is_from_local()) {
then everything works.  Were you trying to use the domain stuff?

---greg

Darren Nay wrote:

> Thanks for your followup Jan.
> 
> I did a SIGUSR1 and here were the results.  The first time it output the mem
> statistics.  Then I did another SIGUSR1 again and it output them and then
> the SER server died.. Here was the output
> 
> 
> First SIGUSR1
> ----------------
>  0(5066) Memory status (pkg):
>  0(5066) fm_status (8e8f0):
>  0(5066)  heap size= 1047440
>  0(5066) dumping free list:
>  0(5066) hash =   1 fragments no.:     4,
>                  bucket size:         8 -         8 (first         8)
>  0(5066) hash =   2 fragments no.:     1,
>                  bucket size:        16 -        16 (first        16)
>  0(5066) hash =   6 fragments no.:     1,
>                  bucket size:        48 -        48 (first        48)
>  0(5066) hash =  20 fragments no.:     1,
>                  bucket size:       160 -       160 (first       160)
>  0(5066) hash = 265 fragments no.:     1,
>                  bucket size:    524288 -   1048576 (first   1042112)
>  0(5066) TOTAL:      8 free fragments = 1042368 free bytes
>  0(5066) -----------------------------
>  0(5066) Memory status (shm):
>  0(5066) fm_status (ef000000):
>  0(5066)  heap size= 268434320
>  0(5066) dumping free list:
>  0(5066) hash = 273 fragments no.:     1,
>                  bucket size: 134217728 - 268435456 (first 266841440)
>  0(5066) TOTAL:      1 free fragments = 266841440 free bytes
>  0(5066) -----------------------------
>  0(5066) ERROR: udp_rcv_loop:recvfrom:[4] Interrupted system call
> 
> 
> Second SIGUSR1
> -------------------
>  2(5068) ERROR: fifo_server fgets failed: Error 0
>  2(5068) INFO: signal 15 received
>  2(5068) Memory status (pkg):
>  2(5068) fm_status (8e8f0):
>  2(5068)  heap size= 1047440
>  2(5068) dumping free list:
>  2(5068) hash =   1 fragments no.:     4,
>                  bucket size:         8 -         8 (first         8)
>  2(5068) hash =   2 fragments no.:     1,
>                  bucket size:        16 -        16 (first        16)
>  2(5068) hash =   4 fragments no.:     1,
>                  bucket size:        32 -        32 (first        32)
>  2(5068) hash =   6 fragments no.:     1,
>                  bucket size:        48 -        48 (first        48)
>  2(5068) hash =  20 fragments no.:     1,
>                  bucket size:       160 -       160 (first       160)
>  2(5068) hash = 265 fragments no.:     1,
>                  bucket size:    524288 -   1048576 (first   1042112)
>  2(5068) TOTAL:      9 free fragments = 1042400 free bytes
>  2(5068) -----------------------------
>  1(5067) INFO: signal 15 received
>  1(5067) Memory status (pkg):
>  1(5067) fm_status (8e8f0):
>  1(5067)  heap size= 1047440
>  1(5067) dumping free list:
>  1(5067) hash =   1 fragments no.:     4,
>                  bucket size:         8 -         8 (first         8)
>  1(5067) hash =   2 fragments no.:     1,
>                  bucket size:        16 -        16 (first        16)
>  1(5067) hash =   4 fragments no.:     1,
>                  bucket size:        32 -        32 (first        32)
>  1(5067) hash =   6 fragments no.:     1,
>                  bucket size:        48 -        48 (first        48)
>  1(5067) hash =  20 fragments no.:     1,
>                  bucket size:       160 -       160 (first       160)
>  1(5067) hash = 265 fragments no.:     1,
>                  bucket size:    524288 -   1048576 (first   1042112)
>  1(5067) User Signal 1
> TOTAL:      9 free fragments = 1042400 free bytes
>  1(5067) -----------------------------
> root:/usr/local/sbin #
> root:/usr/local/sbin #
> 
> 
> ----- Original Message -----
> From: "Jan Janak" <jan at iptel.org>
> To: "Darren Nay" <dnay at libertyisp.com>
> Cc: "Andrei Pelinescu-Onciul" <pelinescu-onciul at fokus.fraunhofer.de>;
> <serusers at lists.iptel.org>
> Sent: Thursday, November 20, 2003 1:06 PM
> Subject: Re: [Serusers] Memory errors
> 
> 
> 
>>I think it is not shared memory, but private memory what is exhausted
>>because the logs you provided shows functions that do not use shared
>>memory.
>>
>>When this happen, can you send SIGUSR1 to the first ser process ? It
>>should print some memory statistics. Can you then send them to us ?
>>
>>To me it looks like a memory leak. How quickly is the memory exhausted ?
>>Immediately after you start the server or after some time ? Can you
>>reproduce it ?
>>
>>  Jan.
>>
>>On 20-11 12:54, Darren Nay wrote:
>>
>>>Hmm.. That's peculiar. :)  We only have one user on the server right now
> 
> and
> 
>>>we are only trying with one single phone (one call at a time).
>>>
>>>Maybe we have a loop somewhere sucking up the memory? :(
>>>
>>>Oh, another note.  Prior to installing mysql and configuring SER to use
>>>mysql for authentication the SIP phone registered with SER without any
>>>problems.  After the mysql config it's getting this error.  Does
>>>implementing MySQL take extra memory?  If so, how much extra? and how
> 
> will
> 
>>>it affect the perfomance of the SER server?
>>>
>>>Thanks for your help!  That does help me, I will continue to play with
> 
> it
> 
>>>and see if I can figure it out as well.
>>>
>>>Thanks again!
>>>Darren Nay
>>>
>>>----- Original Message -----
>>>From: "Andrei Pelinescu-Onciul" <pelinescu-onciul at fokus.fraunhofer.de>
>>>To: "Darren Nay" <dnay at libertyisp.com>
>>>Cc: <serusers at lists.iptel.org>
>>>Sent: Thursday, November 20, 2003 12:42 PM
>>>Subject: Re: [Serusers] Memory errors
>>>
>>>
>>>
>>>>This happens when ser runs out of shared memory :-) Are you making
> 
> lots
> 
>>>>of calls simultaneoulsy? Do you have a lot of users?
>>>>
>>>>By default ser will use only 32Mb of shared memory which should be
>>>>enough for most test/small scenarios. To  make it use more start it
> 
> with
> 
>>>>-m size_in_M  (e.g ser -m 256 -f ser.cfg ...).
>>>>
>>>>Andrei
>>>>
>>>
>>>
>>>_______________________________________________
>>>Serusers mailing list
>>>serusers at lists.iptel.org
>>>http://lists.iptel.org/mailman/listinfo/serusers
>>
> 
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
> 
> 





More information about the sr-users mailing list