Sorry Yes using the latest. Using commit a8ce9ac29f3ba000bf42ab2286be04cc7bf9f509 Author: Anthony Minessale <anthm@freeswitch.org> Date: Thu Aug 30 17:17:15 2012 -0500 Changes made switch_cpp.cpp starting at Line 1000 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Calling CoreSession::destroy\n"); if (session) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "We still have valid session\n"); if (!channel) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Channel is undefined! Trying to get it!\n"); channel = switch_core_session_get_channel(session); } if (channel) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s destroy/unlink session from object\n", switch_channel_get_name(channel)); switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s destroy/unlink uuid\n", switch_channel_get_uuid(channel)); switch_channel_set_private(channel, "CoreSession", NULL); if (switch_channel_up(channel) && switch_test_flag(this, S_HUP) && !switch_channel_test_flag(channel, CF_TRANSFER)) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Channel is undefined! We Failed to get it!\n"); } [CRIT] switch_cpp.cpp:1000 Calling CoreSession::destroy [CRIT] switch_cpp.cpp:1002 We still have valid session [DEBUG] switch_cpp.cpp:1011 sofia/external/12146635351 destroy/unlink session from object [DEBUG] switch_cpp.cpp:1013 83451093-e04f-49c1-9f55-5dd966bc4ba9 destroy/unlink uuid [DEBUG] switch_core_state_machine.c:92 sofia/external/XXXXXXXXXX Standard REPORTING, cause: NORMAL_CLEARING [DEBUG] switch_core_state_machine.c:703 (sofia/external/XXXXXXXXXX ) State REPORTING going to sleep [DEBUG] switch_core_state_machine.c:423 (sofia/external/XXXXXXXXXX ) State Change CS_REPORTING -> CS_DESTROY [DEBUG] switch_core_session.c:1210 Send signal sofia/external/XXXXXXXXXX [BREAK] [DEBUG] switch_core_session.c:1415 Session 2 (sofia/external/XXXXXXXXXX ) Locked, Waiting on external entities channel remains hung P On Aug 31, 2012, at 12:26 PM, Anthony Minessale wrote:
1) You did not answer the question if you are on latest GIT HEAD. If you are on anything else update... 2) Add some debugging to switch_cpp.cpp about line 1000
use lines like this to follow the code paths when you call destroy switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "BLAH\n");
The part I am concerned with is when you call destroy you dont see the log line you should:
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s destroy/unlink session from object\n", switch_channel_get_name(channel));
This makes me wonder if you are some older version...
On Fri, Aug 31, 2012 at 11:57 AM, Phillip Boles <freeswitch-users@vocalspace.com> wrote:
var session = ManagedSession.OriginateHandleHangup(s, dialString, ts, (y) => { try { Log.WriteLine(LogLevel.Info, "Hanging UP: "+ y.GetUuid()); y.SetAutoHangup(true); y.flushDigits(); y.flushEvents(); y.destroy(); y.Dispose(); GC.Collect(); } catch( Exception ) { Log.WriteLine(LogLevel.Critical, "Exception While Trying to handup"); } }); Changes yield no fix. Neither .Dispose() or .destroy() separately or together destroy the channel. I see in the log the hangup 11da29f3-2d9e-4b74-a439-a96ba60f2db1 but this is what I get from show channels. The last log lines of the debug is: 2012-08-31 11:25:52.109393 [DEBUG] switch_core_state_machine.c:407 (sofia/external/XXXXXXXXXX) State Change CS_REPORTING -> CS_DESTROY 2012-08-31 11:25:52.109393 [DEBUG] switch_core_session.c:1224 Send signal sofia/external/XXXXXXXXXX [BREAK] 2012-08-31 11:25:52.109393 [DEBUG] switch_core_session.c:1424 Session 1 (sofia/external/XXXXXXXXXX) Locked, Waiting on external entities
freeswitch@fs03.int.colo> show channels 11da29f3-2d9e-4b74-a439-a96ba60f2db1,outbound,2012-08-31 11:25:24,1346430324,sofia/external/12146635351,CS_SOFT_EXECUTE,Vocalspace,2223334444,,12146635351,,,,default,PCMU,8000,64000,PCMU,8000,64000,,fs03.int.colo,,,ACTIVE,Outbound Call,12146635351,,,,
freeswitch@fs03.int.colo> uuid_kill 11da29f3-2d9e-4b74-a439-a96ba60f2db1
-ERR No Such Channel!
I am calling this from "managed CustomModule.Api"
Calling GC.Collect() later in the execution does not resolve either. //------------------------------------------------------ // Entrypoint for blocking API execution //------------------------------------------------------ public void Execute (ApiContext context) { context.Arguments, context.Event == null ? "<none>" : context.Event.GetEventType ()));
// this contains the above code Run(ParseArguments(context.Arguments)); GC.Collect(); }
Thanks! Suggestions appreciated. On Aug 30, 2012, at 5:22 PM, Dave R. Kompel wrote:
Actually, all the managed objects are derived from IDisposable, so you should use the .Dispose() method, and let the wrapper do it's job.
________________________________ From: Anthony Minessale [mailto:anthony.minessale@gmail.com] To: FreeSWITCH Users Help [mailto:freeswitch-users@lists.freeswitch.org] Sent: Thu, 30 Aug 2012 13:48:07 -0700 Subject: Re: [Freeswitch-users] Problem with originated calls hanging in CS_SOFT_EXEC state
destroy method should have a log line about (destroy/unlink session from object) try calling your garbage collector, this is common issue with scripts and make sure you are on latest GIT build
On Thu, Aug 30, 2012 at 3:24 PM, Phillip Boles <freeswitch-users@vocalspace.com> wrote:
Sorry for the excessive logs. Here is my call to originate.
var session = ManagedSession.OriginateHandleHangup(s, dialString, ts, (y) => { try { Log.WriteLine(LogLevel.Info, "Hanging UP: "+ y.GetUuid()); y.SetAutoHangup(true); y.destroy();
} catch( Exception ) { Log.WriteLine(LogLevel.Critical, "Exception While Trying to handup"); } });
My hangup callback is getting hit and I am destroying the session
2012-08-28 10:49:27.296108 [INFO] switch_cpp.cpp:1227 Handing UP: e315f2e8-1fa8-4fd9-849b-f687dad8aed5
This is the only call on the system as it is a develpment machine and I see the call state being changed.
2012-08-28 10:49:27.296108 [DEBUG] switch_core_state_machine.c:79 sofia/external/XXXXXXXXXXX Standard REPORTING, cause: NORMAL_CLEARING 2012-08-28 10:49:27.296108 [DEBUG] switch_core_state_machine.c:682 (sofia/external/XXXXXXXXXXX) State REPORTING going to sleep 2012-08-28 10:49:27.296108 [DEBUG] switch_core_state_machine.c:407 (sofia/external/XXXXXXXXXXX) State Change CS_REPORTING -> CS_DESTROY
If I call show channels after the above output it show there is a session sitting in CS_SOFT_EXEC corresponding to UUID e315f2e8-1fa8-4fd9-849b-f687dad8aed5. Is there something else I need to do to release the lock on this session to let the resources be reclaimed.
Thanks!
Phillip
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org