Daniel-Constantin Mierla wrote:
Could you try :
t_release();
Will this release the transcation immediately or is it kept some seconds to absorb retransmissions?
regards klaus
after handle_publish();
Cheers, Daniel
On 04/26/07 17:10, Klaus Darilion wrote:
Hi Daniel!
One more comment:
This leads to memory leak:
if (is_method("PUBLISH")) { if (t_newtran()) { handle_publish(); exit; } else { sl_reply_error(); exit; } }
This works fine:
if (is_method("PUBLISH")) { handle_publish(); exit; }
Thus, it is related to the generated transaction of t_newtran.
regards klaus
Klaus Darilion wrote:
Hi!
I also tried now with QM_JOIN_FREE but the same result: The shared mem (64M) is full after ~8000 PUBLISH (=8000 NOTIFY) and does not get freed:
darilion@ds3000:~/software/openser-svn-1.2/openser$ sudo openserctl fifo get_statistics all core:rcv_requests = 8743 core:rcv_replies = 8198 core:fwd_requests = 0 core:fwd_replies = 0 core:drop_requests = 0 core:drop_replies = 0 core:err_requests = 0 core:err_replies = 0 core:bad_URIs_rcvd = 0 core:unsupported_methods = 0 core:bad_msg_hdr = 0 shmem:total_size = 67108864 shmem:used_size = 65865712 shmem:real_used_size = 67004532 shmem:max_used_size = 67108376 shmem:free_size = 104332 shmem:fragments = 239 sl:1xx_replies = 0 sl:2xx_replies = 8221 sl:3xx_replies = 0 sl:4xx_replies = 196 sl:5xx_replies = 186 sl:6xx_replies = 0 sl:sent_replies = 8603 sl:sent_err_replies = 186 sl:received_ACKs = 0 tm:received_replies = 8198 tm:relayed_replies = 8198 tm:local_replies = 0 tm:UAS_transactions = 8218 tm:UAC_transactions = 8200 tm:2xx_transactions = 8198 tm:3xx_transactions = 0 tm:4xx_transactions = 0 tm:5xx_transactions = 0 tm:6xx_transactions = 0 tm:inuse_transactions = 8217 usrloc:registered_users = 0 usrloc:location-users = 0 usrloc:location-contacts = 0 usrloc:location-expires = 0 registrar:max_expires = 0 registrar:max_contacts = 0 registrar:default_expire = 3600 registrar:accepted_regs = 1 registrar:rejected_regs = 0 darilion@ds3000:~/software/openser-svn-1.2/openser$
regards klaus
Klaus Darilion wrote:
memory logs:
kill -SIGUSR1: http://pernau.at/kd/openser/debug-kill-usr1.txt
openser stop: http://pernau.at/kd/openser/debug-stop3.txt
regards klaus
Klaus Darilion wrote:
Openser runs out of mem: $ sudo openserctl fifo get_statistics all core:rcv_requests = 13893 core:rcv_replies = 18007 core:fwd_requests = 0 core:fwd_replies = 0 core:drop_requests = 0 core:drop_replies = 0 core:err_requests = 0 core:err_replies = 0 core:bad_URIs_rcvd = 0 core:unsupported_methods = 0 core:bad_msg_hdr = 0 shmem:total_size = 67108864 shmem:used_size = 65351684 shmem:real_used_size = 66591880 shmem:max_used_size = 66953980 shmem:free_size = 516984 shmem:fragments = 1052 sl:1xx_replies = 0 sl:2xx_replies = 8878 sl:3xx_replies = 0 sl:4xx_replies = 2322 sl:5xx_replies = 2308 sl:6xx_replies = 0 sl:sent_replies = 13508 sl:sent_err_replies = 2308 sl:received_ACKs = 0 tm:received_replies = 18007 tm:relayed_replies = 17652 tm:local_replies = 1 tm:UAS_transactions = 8861 tm:UAC_transactions = 17653 tm:2xx_transactions = 17652 tm:3xx_transactions = 0 tm:4xx_transactions = 1 tm:5xx_transactions = 0 tm:6xx_transactions = 0 tm:inuse_transactions = 8861 usrloc:registered_users = 2 usrloc:location-users = 2 usrloc:location-contacts = 2 usrloc:location-expires = 0 registrar:max_expires = 0 registrar:max_contacts = 0 registrar:default_expire = 3600 registrar:accepted_regs = 12 registrar:rejected_regs = 0
after 1h of inactivity: $ sudo openserctl fifo get_statistics all Password: core:rcv_requests = 14285 core:rcv_replies = 18007 core:fwd_requests = 0 core:fwd_replies = 0 core:drop_requests = 0 core:drop_replies = 0 core:err_requests = 0 core:err_replies = 0 core:bad_URIs_rcvd = 0 core:unsupported_methods = 0 core:bad_msg_hdr = 0 shmem:total_size = 67108864 shmem:used_size = 65351684 shmem:real_used_size = 66591880 shmem:max_used_size = 66953980 shmem:free_size = 516984 shmem:fragments = 1052 sl:1xx_replies = 0 sl:2xx_replies = 8922 sl:3xx_replies = 0 sl:4xx_replies = 2481 sl:5xx_replies = 2497 sl:6xx_replies = 0 sl:sent_replies = 13900 sl:sent_err_replies = 2497 sl:received_ACKs = 0 tm:received_replies = 18007 tm:relayed_replies = 17652 tm:local_replies = 1 tm:UAS_transactions = 8861 tm:UAC_transactions = 17653 tm:2xx_transactions = 17652 tm:3xx_transactions = 0 tm:4xx_transactions = 1 tm:5xx_transactions = 0 tm:6xx_transactions = 0 tm:inuse_transactions = 8861 usrloc:registered_users = 2 usrloc:location-users = 2 usrloc:location-contacts = 2 usrloc:location-expires = 0 registrar:max_expires = 0 registrar:max_contacts = 0 registrar:default_expire = 3600 registrar:accepted_regs = 51 registrar:rejected_regs = 0
regards klaus
Daniel-Constantin Mierla wrote:
my mistake:
# openserctl fifo get_statistics all
Cheers, Daniel
On 04/26/07 12:36, Klaus Darilion wrote: > # openserctl fifo get_statistics > 400 Too few or too many arguments > > :-( > > I'm using 1.2 > > > regards > klaus > > > > Klaus Darilion wrote: >> >> >> Daniel-Constantin Mierla wrote: >>> Hello Klaus, >>> >>> if that is the full log, seems no mem leak in shm. What is the >>> shm memory size you use? >> >> I don't know - I use the default values. But the size should be >> irrelevant as the "no memory left" is still there after 20 >> minutes of inactivity. >> >>> Once you get out of memory can you issue" openserctl fifo >>> get_statistics" and send output? >> ok >>> >>> I don't think is fragmentation, but you can try to compile with >>> -DQM_JOIN_FREE >>> >> ok >>> Do you do the tests over TLS? >> ok >>> >>> Cheers, >>> Daniel >>> >>> >>> On 04/26/07 10:17, Klaus Darilion wrote: >>>> btw: there is no >>>> "PRESENCE:notify: ERROR in function tmb.t_request_within" >>>> in my log file, thus I guess the problem is somewhere else. >>>> >>>> regards >>>> klaus >>>> >>>> Klaus Darilion wrote: >>>>> Hi Anca! >>>>> >>>>> There is still a leak: >>>>> http://pernau.at/kd/openser/debug-stop2.txt >>>>> >>>>> regards >>>>> klaus >>>>> >>>>> Anca-Maria Vamanu wrote: >>>>>> Hello, >>>>>> >>>>>> I have made a fix. Please test again with sipp and say if it >>>>>> works now. >>>>>> >>>>>> regards, >>>>>> >>>>>> Anca >>>>>> >>>>>> Klaus Darilion wrote: >>>>>> >>>>>>> Hi! >>>>>>> >>>>>>> Openser 1.2 runs out of memory during presence load tests >>>>>>> with sipp. >>>>>>> >>>>>>> Config snippet: >>>>>>> >>>>>>> if (is_method("PUBLISH")) { >>>>>>> xlog("L_INFO","$ci PUBLISH detected ... outside >>>>>>> t_newtran\n"); >>>>>>> if (t_newtran()) { >>>>>>> xlog("L_INFO","$ci PUBLISH detected ... inside >>>>>>> t_newtran\n"); >>>>>>> handle_publish(); >>>>>>> xlog("L_INFO","$ci PUBLISH detected, handle_publish ... >>>>>>> done\n"); >>>>>>> exit; >>>>>>> } else { >>>>>>> sl_reply_error(); >>>>>>> exit; >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> Memory log after openser stop (after 20 minutes of >>>>>>> inactivity): >>>>>>> http://pernau.at/kd/openser/debug-stop.txt >>>>>>> >>>>>>> >>>>>>> regards >>>>>>> klaus Klaus Darilion wrote: >>>>>>> >>>>>>>> Hi Cesc! >>>>>>>> >>>>>>>> Where do you have t_newtran() - in ser or openser? >>>>>>>> >>>>>>>> I have it here in openser just before handle_publish(). It >>>>>>>> works but now openser has run out of mem during my sipp >>>>>>>> performance tests :-( >>>>>>>> >>>>>>>> ...more to come.... >>>>>>>> >>>>>>>> Cesc wrote: >>>>>>>> >>>>>>>>> I think I can answer that one ... stateless? >>>>>>>>> >>>>>>>>> I have a presence openser proxied by a SER, both on same >>>>>>>>> machine ... >>>>>>>>> For easier configuration purposes, openser and ser >>>>>>>>> communicate via >>>>>>>>> 127.0.0.1 ... >>>>>>>>> >>>>>>>>> The result is that OK from the PUAs do not get to openser >>>>>>>>> (i guess SER >>>>>>>>> gets confussed by the vias of openser being 0.0.0.0:5060 >>>>>>>>> and the >>>>>>>>> 127.0.0.1 stuff) ... So, openser gets no OK, but it does >>>>>>>>> not matter >>>>>>>>> ... >>>>>>>>> BTW, i have a t_newtran() in there ... >>>>>>>>> >>>>>>>>> Oh, for sure my configuration is messy and improvable ... >>>>>>>>> but for now >>>>>>>>> it works steady :) But the OKs not going through is >>>>>>>>> worrying me a bit >>>>>>>>> ... and also openser not "timing out" or giving an error. >>>>>>>>> >>>>>>>>> Cesc >>>>>>>>> >>>>>>>>> On 4/25/07, Klaus Darilion klaus.mailinglists@pernau.at >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi! >>>>>>>>>> >>>>>>>>>> Does presence module handles PUBLISH/SUBSCRIBE stateful >>>>>>>>>> or stateless? >>>>>>>>>> >>>>>>>>>> Thus, how should retransmission be handled. Will they be >>>>>>>>>> detected by >>>>>>>>>> presence module or is it possible to wrap the >>>>>>>>>> handle_publish inside >>>>>>>>>> t_newtran()? >>>>>>>>>> >>>>>>>>>> regards >>>>>>>>>> klaus >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Users mailing list >>>>>>>>>> Users@openser.org >>>>>>>>>> http://openser.org/cgi-bin/mailman/listinfo/users >>>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Users mailing list >>>>>>>> Users@openser.org >>>>>>>> http://openser.org/cgi-bin/mailman/listinfo/users >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> Users@openser.org >>>>>>> http://openser.org/cgi-bin/mailman/listinfo/users >>>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users@openser.org >>>>> http://openser.org/cgi-bin/mailman/listinfo/users >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users@openser.org >>>> http://openser.org/cgi-bin/mailman/listinfo/users >>>> >> >> _______________________________________________ >> Users mailing list >> Users@openser.org >> http://openser.org/cgi-bin/mailman/listinfo/users >
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users