Re: Kannel memory leak?
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
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" >>> >>> >> >>