[Home]

Summary:ASTERISK-05638: [patch] memory leak in channel.c
Reporter:Dmytro Mishchenko (arkadia)Labels:
Date Opened:2005-11-18 11:09:35.000-0600Date Closed:2008-01-15 16:03:18.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 20051118__always_destroy_sched_context.diff.txt
Description:At ast_channel_alloc() sched_context_create() allocates memory for one of channel fields.
But sched_context_destroy() called from ast_hangup() only,
which is not always being called.

E.g. When using pbx_substitute_variables_helper() with temporary channel for variables substitution.

I expect sched_context_destroy() being called inside ast_channel_free(). If you think its a right decision I'll post a patch.
Comments:By: Tilghman Lesher (tilghman) 2005-11-18 15:09:49.000-0600

Good catch.

By: Dmytro Mishchenko (arkadia) 2005-11-21 07:57:40.000-0600

why do we need this code in ast_hangup():
if (chan->sched)
               sched_context_destroy(chan->sched);

Why not to do the same later at ast_channel_free()?

By: Kevin P. Fleming (kpfleming) 2005-12-01 17:35:23.000-0600

Committed to branch 1.2, will auto-merge to trunk. Thanks!

By: Digium Subversion (svnbot) 2008-01-15 16:03:04.000-0600

Repository: asterisk
Revision: 7268

U   branches/1.2/channel.c

------------------------------------------------------------------------
r7268 | kpfleming | 2008-01-15 16:03:03 -0600 (Tue, 15 Jan 2008) | 2 lines

ensure channel's scheduling context is freed (issue ASTERISK-5638)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=7268

By: Digium Subversion (svnbot) 2008-01-15 16:03:11.000-0600

Repository: asterisk
Revision: 7276

_U  trunk/
U   trunk/Makefile
U   trunk/UPGRADE.txt
U   trunk/apps/app_festival.c
U   trunk/apps/app_page.c
U   trunk/apps/app_voicemail.c
U   trunk/channel.c
U   trunk/channels/chan_agent.c
U   trunk/channels/chan_local.c
U   trunk/channels/chan_sip.c
U   trunk/configs/voicemail.conf.sample
U   trunk/doc/README.misdn
D   trunk/patches/
U   trunk/pbx.c

------------------------------------------------------------------------
r7276 | kpfleming | 2008-01-15 16:03:10 -0600 (Tue, 15 Jan 2008) | 57 lines

Merged revisions 7265-7266,7268-7275 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7265 | oej | 2005-12-01 17:18:14 -0600 (Thu, 01 Dec 2005) | 2 lines

Changing bug report address to the Asterisk issue tracker

........
r7266 | kpfleming | 2005-12-01 17:18:29 -0600 (Thu, 01 Dec 2005) | 3 lines

Makefile 'update' target now supports updating from Subversion repositories (issue ASTERISK-5722)
remove support for 'patches' subdirectory, it's no longer useful

........
r7268 | kpfleming | 2005-12-01 17:34:58 -0600 (Thu, 01 Dec 2005) | 2 lines

ensure channel's scheduling context is freed (issue ASTERISK-5638)

........
r7269 | kpfleming | 2005-12-01 17:49:44 -0600 (Thu, 01 Dec 2005) | 2 lines

don't block waiting for the Festival server forever when it goes away (issue ASTERISK-5729)

........
r7270 | kpfleming | 2005-12-01 18:26:12 -0600 (Thu, 01 Dec 2005) | 2 lines

allow variables to exist on both 'halves' of the Local channel (issue ASTERISK-5659)

........
r7271 | kpfleming | 2005-12-01 18:28:48 -0600 (Thu, 01 Dec 2005) | 2 lines

protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue ASTERISK-5726)

........
r7272 | kpfleming | 2005-12-01 18:39:00 -0600 (Thu, 01 Dec 2005) | 3 lines

properly handle password changes when mailbox is last line of config file and not followed by a newline (issue ASTERISK-5717)
reformat password changing code to conform to coding guidelines (issue ASTERISK-5717)

........
r7273 | kpfleming | 2005-12-01 18:42:40 -0600 (Thu, 01 Dec 2005) | 2 lines

allow previous context-searching behavior to be used if desired (issue ASTERISK-5745)

........
r7274 | kpfleming | 2005-12-01 18:51:15 -0600 (Thu, 01 Dec 2005) | 2 lines

inherit channel variables into channels created by Page() application (issue ASTERISK-5736)

........
r7275 | oej | 2005-12-01 18:52:13 -0600 (Thu, 01 Dec 2005) | 2 lines

Bug ASTERISK-5753. Improve SIP INFO DTMF debugging output. (1.2 & Trunk)

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=7276

By: Digium Subversion (svnbot) 2008-01-15 16:03:18.000-0600

Repository: asterisk
Revision: 7284

_U  team/kpfleming/test-for-merging/
U   team/kpfleming/test-for-merging/Makefile
U   team/kpfleming/test-for-merging/UPGRADE.txt
U   team/kpfleming/test-for-merging/apps/app_festival.c
U   team/kpfleming/test-for-merging/apps/app_page.c
U   team/kpfleming/test-for-merging/apps/app_voicemail.c
U   team/kpfleming/test-for-merging/build_tools/make_svn_branch_name
U   team/kpfleming/test-for-merging/channel.c
U   team/kpfleming/test-for-merging/channels/chan_agent.c
U   team/kpfleming/test-for-merging/channels/chan_local.c
U   team/kpfleming/test-for-merging/channels/chan_sip.c
U   team/kpfleming/test-for-merging/configs/voicemail.conf.sample
U   team/kpfleming/test-for-merging/doc/README.jitterbuffer
U   team/kpfleming/test-for-merging/doc/README.misdn
U   team/kpfleming/test-for-merging/doc/README.realtime
D   team/kpfleming/test-for-merging/patches/
U   team/kpfleming/test-for-merging/pbx.c

------------------------------------------------------------------------
r7284 | kpfleming | 2008-01-15 16:03:17 -0600 (Tue, 15 Jan 2008) | 72 lines

Merged revisions 7257,7261,7263,7265-7266,7268-7275 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7257 | kpfleming | 2005-12-01 13:25:06 -0600 (Thu, 01 Dec 2005) | 2 lines

ensure that 'svn info' output is in the expected language for the script to parse (issue ASTERISK-5727)

........
r7261 | oej | 2005-12-01 15:38:38 -0600 (Thu, 01 Dec 2005) | 2 lines

Fixing some spelling errors, as well as changing "cvs" to "subversion" in misdn documentation.

........
r7263 | oej | 2005-12-01 16:21:13 -0600 (Thu, 01 Dec 2005) | 2 lines

Removing references to 1.1dev, replacing with 1.2, in documentation files.

........
r7265 | oej | 2005-12-01 17:18:14 -0600 (Thu, 01 Dec 2005) | 2 lines

Changing bug report address to the Asterisk issue tracker

........
r7266 | kpfleming | 2005-12-01 17:18:29 -0600 (Thu, 01 Dec 2005) | 3 lines

Makefile 'update' target now supports updating from Subversion repositories (issue ASTERISK-5722)
remove support for 'patches' subdirectory, it's no longer useful

........
r7268 | kpfleming | 2005-12-01 17:34:58 -0600 (Thu, 01 Dec 2005) | 2 lines

ensure channel's scheduling context is freed (issue ASTERISK-5638)

........
r7269 | kpfleming | 2005-12-01 17:49:44 -0600 (Thu, 01 Dec 2005) | 2 lines

don't block waiting for the Festival server forever when it goes away (issue ASTERISK-5729)

........
r7270 | kpfleming | 2005-12-01 18:26:12 -0600 (Thu, 01 Dec 2005) | 2 lines

allow variables to exist on both 'halves' of the Local channel (issue ASTERISK-5659)

........
r7271 | kpfleming | 2005-12-01 18:28:48 -0600 (Thu, 01 Dec 2005) | 2 lines

protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue ASTERISK-5726)

........
r7272 | kpfleming | 2005-12-01 18:39:00 -0600 (Thu, 01 Dec 2005) | 3 lines

properly handle password changes when mailbox is last line of config file and not followed by a newline (issue ASTERISK-5717)
reformat password changing code to conform to coding guidelines (issue ASTERISK-5717)

........
r7273 | kpfleming | 2005-12-01 18:42:40 -0600 (Thu, 01 Dec 2005) | 2 lines

allow previous context-searching behavior to be used if desired (issue ASTERISK-5745)

........
r7274 | kpfleming | 2005-12-01 18:51:15 -0600 (Thu, 01 Dec 2005) | 2 lines

inherit channel variables into channels created by Page() application (issue ASTERISK-5736)

........
r7275 | oej | 2005-12-01 18:52:13 -0600 (Thu, 01 Dec 2005) | 2 lines

Bug ASTERISK-5753. Improve SIP INFO DTMF debugging output. (1.2 & Trunk)

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=7284