Summary: | ASTERISK-17788: Memleak with every incoming SUBSCRIBE. | ||
Reporter: | Kristijan Vrban (vrban) | Labels: | |
Date Opened: | 2011-05-03 07:48:38 | Date Closed: | 2011-10-10 09:34:32 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/Subscriptions |
Versions: | 1.4.41 | Frequency of Occurrence | |
Related Issues: | |||
Environment: | Attachments: | ( 0) subscribe_test.pl | |
Description: | The Contact address of every incoming SUBSCRIBE is stored im memory. It happen in when calling "parse_ok_contact" in "handle_request_subscribe" I simply removed the call to parse_ok_contact, because i dont need the contact header in the URI in NOTIFY's because i have a opensips between the phones and asterisk. that's a working workaround for me. To reproduce this issue, do the following: Run the attached perl script, that fire out 1000 SUBSCRIBE's (make sure you have a hint for that extension, and answer to the SUBSCRIBE's is a 200 OK) Then let asterisk do a coredump with kill -6 <asterisk_pid> Then search for the string "memleak" which is part of the contact address in the 1000 SUBSCRIBE's. strings <coredumpfile> |grep memleak the you will see 1000 lines with the same contact address. So when you have 1000 phones, and every phone has some activ SUBSCRIBE, then after a week asterisk use 200MB memory just to store millons lines of contact addresses. I work with 1.4 but probably this issue is in all other asterisk versions | ||
Comments: | By: Kinsey Moore (kmoore) 2011-08-31 15:54:16.447-0500 Since 1.4 and 1.6.x are out of bugfix maintenance, this issue will not be fixed there. I was unable to reproduce this in 1.8 and trunk, but I may not have all the configs necessary to cause the problem. Please ensure that you can reproduce this in at least 1.8 if not trunk. If you can, I will need more information about your configuration. By: Kinsey Moore (kmoore) 2011-10-10 09:34:05.632-0500 Per the Asterisk maintenance timeline page at http://www.asterisk.org/asterisk-versions maintenance (bug) support for the 1.4 and 1.6.x branches has ended. For continued maintenance support please move to the 1.8 branch which is a long term support (LTS) branch. For more information about branch support, please see https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions. After testing with Asterisk 1.8, if you find this problem has not been resolved, please open a new issue against Asterisk 1.8. |