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@iptel.org To: "Darren Nay" dnay@libertyisp.com Cc: "Andrei Pelinescu-Onciul" pelinescu-onciul@fokus.fraunhofer.de; serusers@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@fokus.fraunhofer.de To: "Darren Nay" dnay@libertyisp.com Cc: serusers@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@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers