Hi,

I call record_route_present() directly from the script:

--- snip ---
#----------------------------------------------------------------
# record route section
#----------------------------------------------------------------
if( method == "INVITE" && client_nat_test( "3" ) ) {
xlog( "L_INFO", "$Tf: <$fu>;tag=$ft : record_route_preset( \"217.160.188.74:5060;nat=yes\" )\n" );
    record_route_preset( "217.160.188.74:5060;nat=yes" );
} else if( method != "REGISTER" ) {
    xlog( "L_INFO", "$Tf: <$fu>;tag=$ft : record_route()\n" );
    record_route();
}
--- snap ---

I don't see what's going wrong.

Regards
        Bastian

Bogdan-Andrei Iancu schrieb:
Hi Bastian,

I made a fast overview/testing and I found no problem with record_route_preset() function. Are you calling it directly from script or from another module....the bogus length may by due an invalid param.

regards,
bogdan


Bastian Schern wrote:

Hi Bogdan,

I compiled OpenSER with memory debugging and all other settings you recommend to me. After that I got the following debug output:

--- snip ---
[...]
 0(31223) xl_printf: final buffer length 125
0(31223) Wed Feb 1 00:31:43 2006: <sip:[EMAIL PROTECTED]>;tag=77lh74wsus : record_route_preset( "217.160.188.74:5060;nat=yes" ) 0(31223) qm_malloc(0x8114d40, 32) called from data_lump.c: anchor_lump(351) 0(31223) qm_malloc(0x8114d40, 32) returns address 0x815a390 frag. 0x815a378 (size=32) on 1 -th hit 0(31223) qm_malloc(0x8114d40, 1074638763) called from record.c: record_route_preset(373)
 0(31223) record_route_preset(): No memory left
 0(31223) parse_headers: flags=200
[...]
--- snip ---

It looks like qm_malloc tries to allocate 1074638763 Bytes (1024 MB).
I think this is really strange!

In the memory dump I don't see something strange.

Regards
    Bastian


Bogdan-Andrei Iancu schrieb:

Hi,

look like something is not right - please compile the memory debug support (in Makefile.defs set DBG_QM_MALLOC define and remove F_MALLOC - Note: you need to recompile everything).

run in no fork mode with debug=9 and wait for the error to appear.
first, see how much memory the malloc tries to grab.
second, hit the process with SIGUSR1 to force memory dump - see if there is something strange there.

regards,
bogdan

Bastian Schern wrote:

Bogdan-Andrei Iancu schrieb:

Hi Bastian,

looks like you openser runs out of private memory (pkg memory) - this may happen either because of insufficient mem, either due a mem leak.

Does is happens after running for a long time? or quite soon after start?


It will occur quite soon after starting OpenSER.


first try to increase the pkg memory - see config.h file, the PKG_MEM_POOL_SIZE define. By default, the size is of 1 M. If the problem persists, please report back.


I changed PKG_MEM_POOL_SIZE to 2*1024*1024 but it is still the same. Is it still to low?

Regards
    Bastian


regards,
bogdan

Bastian Schern wrote:

Hello to all,

I'm using the latest CVS 1_0_0 and I got the following message in the log after a "record_route_preset( "213.191.xxx.xxx:5060;nat=yes" )":

record_route_preset(): No memory left

Why this comes?

Regards
    Bastian



____________
Virus checked by G DATA AntiVirusKit
Version: AVK 16.5183 from 30.01.2006
Virus news: www.antiviruslab.com



_______________________________________________
Users mailing list
Users@openser.org
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to