Re: Kannel memory leak?
"Nikos Balkanas" <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel,gmane.comp.mobile.kannel.user |
|---|---|
| Message-ID | <000401c95b2e$836976c0$02b2a8c0@tardis> |
Dear Alex, I have also tested it OK. Would you mind giving a bit more info about the leak? Unfortunately I patched the files before examining them. Did it affect fake smsc specifically or was it a more general ppg issue? Thanx, Nikos P.S. Since the original bug was xposted, I only find it fitting that the solution is, too. After all, IMHO, memory issues affect both production and development and people using ppg would be affected. ----- Original Message ----- From: "Alexander Malysh" <[email protected]> To: <[email protected]> Sent: Wednesday, December 10, 2008 7:35 PM Subject: Re: Kannel memory leak? > Hi, > > memory leak fixed in CVS. > > Thanks, > Alex > > P.S. Thanks for the test case :) > > Nikos Balkanas schrieb: >> Sure. Here it goes. If you are trying to recreate the problem please >> change ppg-url. >> >> BR, >> Nikos >> ----- Original Message ----- From: "Alexander Malysh" >> <[email protected]> >> To: <[email protected]> >> Sent: Wednesday, December 03, 2008 10:28 AM >> Subject: Re: Kannel memory leak? >> >> >>> Hi Nikos, >>> >>> could you please also provide si.txt and pap.txt you used for this test. >>> >>> Thanks, >>> Alex >>> >>> P.S. Please don't crospost to @devel and @user. >>> >>> Nikos Balkanas schrieb: >>>> Hi, >>>> During my PPG benchmarks (through fake smsc) with 2 different clients, >>>> bearerbox excibited an increasing memory allocation profile starting >>>> from 9MB till 2.2GB at the end of the test run. Upon finishing the test >>>> and all queue cleared, memory wasn't released. Additionally by running >>>> the same test again, memory kept increasing until bearerbox reached 2.9 >>>> GB at which point it exhausted my server's RAM (4GB) and started using >>>> swap. At this point I interrupted tests worrying about my server. Again >>>> bearerbox didn't release resources. Had to kill it to reclaim RAM. >>>> Fortunately the problem is very reproducible. OS: Intel Solaris 10.5, >>>> 4GB RAM. Steps to reproduce: >>>> Clear logs, stores, etc. Start bearerbox, wapbox, smsbox in daemon >>>> mode (-d -P). Start fakemsmc in interactive mode. Fire test_ppg: >>>> test/test_ppg -v 5 -r 1000000 -t 1000 >>>> http://212.205.200.120:13007/feedme ~/etc/si.txt ~/etc/pap.txt >>>> Open top and watch bearerbox's size grow and grow... >>>> P.S. I have been working on a patch for smsc_fake.c, but these results >>>> are from the cvs version. >>>> Configuration file: >>>> group = core >>>> admin-port = 13001 >>>> wapbox-port = 13002 >>>> smsbox-port = 13003 >>>> admin-password = bar >>>> #status-password = foo >>>> #admin-deny-ip = "" >>>> #admin-allow-ip = "" >>>> wdp-interface-name = "*" >>>> log-file = "/tmp/bearerbox.log" >>>> log-level = 4 >>>> #box-deny-ip = "*.*.*.*" >>>> box-allow-ip = "*.*.*.*" >>>> access-log = "/tmp/access.log" >>>> #access-log-format = "%l [SMSC:%i] [SVC:%n] [ACT:%A] [BINF:%B] >>>> [from:%p] [to:%P] [flags:%m:%c:%M:%C:%d] [msg:%L:%I] [udh:%U:%u]" >>>> access-log-clean = true >>>> access-log-format = "%T %l [msg:%L:%I]" >>>> store-location = "/export/home/nbal/kannel.store" >>>> store-type = file >>>> dlr-storage = internal >>>> #ssl-server-cert-file = "cert.pem" >>>> #ssl-server-key-file = "key.pem" >>>> #ssl-certkey-file = "mycertandprivkeyfile.pem" >>>> group = wapbox >>>> bearerbox-host = 212.205.200.120 >>>> log-file = "/tmp/wapbox.log" >>>> log-level = 4 >>>> syslog-level = none >>>> #access-log = "/tmp/wapaccess.log" >>>> access-log = "/dev/null" >>>> # SMSC CONNECTIONS, for pushing SI, SL, MMS notifications or whatever >>>> over SMS >>>> group = smsc >>>> smsc = http >>>> smsc-id = HTTP >>>> allowed-smsc-id = "HTTP" >>>> port = 13004 >>>> system-type = kannel >>>> connect-allow-ip = "*.*.*.*" >>>> smsc-username = foo >>>> smsc-password = bar >>>> no-sender = true >>>> no-coding = true >>>> send-url = "http://www.kannel.gr:9200/pap.cgi" >>>> group = smsc >>>> smsc = fake >>>> smsc-id = FAKE >>>> denied-smsc-id = "HTTP" >>>> port = 13005 >>>> #dlr-url = >>>> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >>>> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >>>> dlr-url = "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T" >>>> connect-allow-ip = "*.*.*.*" >>>> # SMSBOX SETUP (a kludge!) >>>> group = smsbox >>>> bearerbox-host = 212.205.200.120 >>>> sendsms-port = 13006 >>>> smsbox-id = dlrbox >>>> group = smsbox-route >>>> smsbox-id = dlrbox >>>> smsc-id = "FAKE;HTTP" >>>> group = sendsms-user >>>> username = simple >>>> password = elpmis >>>> default-smsc = FAKE >>>> #dlr-url = >>>> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >>>> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >>>> # SERVICES >>>> group = sms-service >>>> keyword = nop >>>> text = "You asked nothing and I did it!" >>>> # this service is for Kannel www testing >>>> group = sms-service >>>> keyword = www >>>> get-url = >>>> "http://localhost:15130/sms?user=kannel&pass=rL4y&from=%p&to=%P&text=%r >>>> <http://localhost:15130/sms?user=kannel&pass=rL4y&from=%p&to=%P&text=%r>" >>>> #max-messages = 0 >>>> # there should be default always >>>> group = sms-service >>>> keyword = default >>>> catch-all = true >>>> #max-messages = 10 >>>> text = "Thanx for using IAN test bed" >>>> # PPG CORE SETUP, for defining the push request interface >>>> group = ppg >>>> ppg-url = "http://212.205.200.120:13007/feedme" >>>> ppg-port = 13007 >>>> #ppg-ssl-port = 8081 >>>> default-smsc = FAKE >>>> concurrent-pushes = 1000 >>>> trusted-pi = true >>>> users = 1024 >>>> service-name = ppg >>>> ppg-smsbox-id = dlrbox >>>> #default-dlr-url = >>>> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >>>> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >>>> default-dlr-url = "http://www.kannel.gr:9200/dlr.html" >>>> #ppg-deny-ip = "*.*.*.*" >>>> ppg-allow-ip = "*.*.*.*" >>>> #ssl-server-cert-file = "cert.pem" >>>> #ssl-server-key-file = "key.pem" >>>> # PPG USER SETUP, for authorizing a specific push user >>>> group = wap-push-user >>>> wap-push-user = foo >>>> ppg-username = foo >>>> ppg-password = bar >>>> #dlr-url = >>>> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >>>> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >>>> default-smsc = FAKE >>>> #country-prefix = +358 >>>> #allowed-prefix = "40;60;70" >>>> #denied-prefix = 50 >>>> #white-list = http://localhost:8082/whitelist >>>> #black-list = http://localhost:8082/blacklist >>>> #deny-ip = "*.*.*.*" >>>> #allow-ip = "127.0.0.1" >>>> >>>> >>> >>> > >