[OpenSER-Users] sip_msg_cloner: cannot allocate memory

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Aug 28 16:20:40 CEST 2007


Try to see the section for debugging a mem leak (same page).

Regards,
Bogdan

Aki Rehn wrote:
> Hi,
>
> On Tue, Aug 28, 2007 at 04:20:10PM +0300, Bogdan-Andrei Iancu wrote:
>   
>> Hi Laurent,
>>
>> It might be a shm memory leak - please refer at:
>>    http://openser.org/dokuwiki/doku.php/troubleshooting:memory
>>
>>     
>
> The "usual" fix at config.h doesnt help?
>
> ie.
>
> /*used only if PKG_MALLOC is defined*/
> #define PKG_MEM_POOL_SIZE 4096*1024
>
> /*used if SH_MEM is defined*/ 
> #define SHM_MEM_SIZE 64
>
>
>   
>> Regards,
>> bogdan
>>
>>     
>
>
> Br,
> Aki
>
>   
>> laurent schweizer wrote:
>>     
>>> Hello,
>>>
>>> I have 2 openser working on 2 diffrents server.
>>> The first is doing the full job, Registration, authentifications ....
>>> And the second is only used for SEMS so a very simple config file.
>>>
>>> the first is working perfectly but the second create me this night a
>>> memory error.
>>>
>>> He was working correcly more that 1 month and I don't think that the
>>> problem is a overload usage because during the night I have low
>>> traffic.
>>>
>>>
>>> ./openser[5429]: ERROR: t_newtran: new_t failed
>>> ./openser[5435]: ERROR: sip_msg_cloner: cannot allocate memory
>>> ./openser[5435]: ERROR: new_t: out of mem:
>>>
>>> mpath="/usr/local/lib/openser/modules"
>>>
>>>   loadmodule "sl.so"
>>>   loadmodule "tm.so"
>>>   loadmodule "rr.so"
>>>   loadmodule "maxfwd.so"
>>>   loadmodule "xlog.so"
>>>
>>> loadmodule "avpops.so"
>>>
>>> modparam("tm", "fr_inv_timer", 15000)
>>> modparam("tm", "pass_provisional_replies", 1)
>>>
>>> modparam("rr", "enable_full_lr", 1)
>>>
>>> children=60
>>>
>>> disable_tcp=yes
>>> disable_dns_blacklist=yes
>>> disable_dns_failover=yes
>>>
>>>
>>> disable_dns_blacklist=true
>>>
>>> # modparam( "tm", "tw_append",
>>> "info_append:hdr[Content-Length];hdr[Content-Type];msg[body]")
>>> #modparam( "tm", "tw_append",
>>> "info_append:Content-Length=$avp(i:70);Content-Type=$avp(i:71);body=$avp(i:72)")
>>>
>>> modparam("tm", "tw_append",
>>> "billing:billingid=$avp(i:67);accountid=$avp(i:68);Remote-Party-ID=$avp(i:69);Pays=$avp(i:70)")
>>>
>>> avp_aliases="bid=i:67;acid=i:68;rp=i:69;pays=i:70"
>>>   # -------------------------  request routing logic -------------------
>>>
>>>   route{
>>> #         xlog("L_ERR","BEGIN: call [$rm] ru[$ru] fu[$fu] tu[$tu]
>>> si[$si] ct[$ct]\n");
>>>
>>>         if (!mf_process_maxfwd_header("5")) {
>>>                 sl_send_reply("483","Too Many Hops");
>>>                 return;
>>>         };
>>>         if (msg:len >= max_len ) {
>>>                 sl_send_reply("513", "Message too big");
>>>                 return;
>>>         };
>>>
>>>         sl_send_reply("100","---- trining");
>>>
>>>
>>>         record_route();
>>>
>>> #        if (loose_route()) {
>>> #                xlog("L_ERR","LOOSE_ROUTE: [$rm] ru[$ru] fu[$fu]
>>> tu[$tu] si[$si] ct[$ct]\n");
>>> #        }
>>>
>>>         if (!t_newtran()){
>>>                 sl_send_reply("500","could not create transaction");
>>>                 return;
>>>         };
>>>         if (method=="INVITE"){
>>>
>>>                $avp(i:67) = $hdr(x-billingId);
>>>                $avp(i:68) = $hdr(x-accountcode);
>>>                $avp(i:69) = $hdr(Remote-Party-ID);
>>>                $avp(i:70) = $hdr(Pays);
>>>
>>>          if (uri =~ "sip:.*@") {
>>>                if (!t_write_unix("/tmp/sems_sock","billing/billing")){
>>>                        log("could not contact media server\n");
>>>                        t_reply("500","could not contact media server");
>>>                        return;
>>>                }
>>>               return;
>>>        }
>>>
>>>
>>> #        if (method=="INFO") {
>>>
>>> #               $avp(i:70) = $cT;
>>> #                $avp(i:71) = $cl;
>>> #                $avp(i:72) = $rb;
>>> #
>>> #                if(!t_write_unix("/tmp/sems_sock","sems/info_append")){
>>> #                        log("could not contact sems\n");
>>> #                        t_reply("500","could not contact media server");
>>> #                }
>>> #        }
>>>
>>>
>>>         }
>>>         if (method=="BYE" || method=="CANCEL"){
>>>                 if(!t_write_unix("/tmp/sems_sock","bye"))
>>>                          t_reply("500","error contacting bye");
>>>         }
>>>
>>>         return;
>>> }
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>  
>>>       
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
>>     
>
>   





More information about the Users mailing list