[Freeswitch-users] Problem with originated calls hanging in CS_SOFT_EXEC state

Anthony Minessale anthony.minessale at gmail.com
Tue Sep 4 22:37:54 MSD 2012


now that you have a jira do not continue this thread it doubles the
work effort, see comments there

On Tue, Sep 4, 2012 at 1:00 PM, Phillip Boles
<freeswitch-users at vocalspace.com> wrote:
> I have tried to get the Current HEAD to run mod_managed with this to the top of switch_core.h
> #define SWITCH_DEBUG_RWLOCKS 1
>
> I am getting this error now.
>
> 2012-09-04 12:57:38.318859 [CRIT] switch_loadable_module.c:1310 Error Loading module /usr/local/freeswitch/mod/mod_managed.so
> **/usr/local/freeswitch/mod/mod_managed.so: undefined symbol: switch_core_session_read_lock**
>
> Thoughts?
>
> Thanks!
> On Aug 31, 2012, at 5:20 PM, Anthony Minessale wrote:
>
>> add this to the top of switch_core.h
>> #define SWITCH_DEBUG_RWLOCKS 1
>>
>> rebuild and get a full log of the call
>> look for sign of unhandled rwlock
>>
>> and put this on jira why I am i helping you over ml .... >=0
>>
>>
>> On Fri, Aug 31, 2012 at 4:16 PM, Phillip Boles
>> <freeswitch-users at vocalspace.com> wrote:
>>> Sorry Yes using the latest.
>>>
>>> Using commit a8ce9ac29f3ba000bf42ab2286be04cc7bf9f509
>>> Author: Anthony Minessale <anthm at 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 at 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 at 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 at 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 at gmail.com]
>>>>> To: FreeSWITCH Users Help [mailto:freeswitch-users at 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 at 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 at freeswitch.org
>>>>>> http://www.freeswitchsolutions.com
>>>>>>
>>>>>> 
>>>>>> 
>>>>>>
>>>>>> Official FreeSWITCH Sites
>>>>>> http://www.freeswitch.org
>>>>>> http://wiki.freeswitch.org
>>>>>> http://www.cluecon.com
>>>>>>
>>>>>> FreeSWITCH-users mailing list
>>>>>> FreeSWITCH-users at 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 at hotmail.com
>>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>>> IRC: irc.freenode.net #freeswitch
>>>>>
>>>>> FreeSWITCH Developer Conference
>>>>> sip:888 at conference.freeswitch.org
>>>>> googletalk:conf+888 at conference.freeswitch.org
>>>>> pstn:+19193869900
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:
>>>>> consulting at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>> 
>>>>> 
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> FreeSWITCH-users mailing list
>>>>> FreeSWITCH-users at 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 at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>> 
>>>>> 
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> FreeSWITCH-users mailing list
>>>>> FreeSWITCH-users at 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 at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>> 
>>>>> 
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> FreeSWITCH-users mailing list
>>>>> FreeSWITCH-users at 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 at hotmail.com
>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>> IRC: irc.freenode.net #freeswitch
>>>>
>>>> FreeSWITCH Developer Conference
>>>> sip:888 at conference.freeswitch.org
>>>> googletalk:conf+888 at conference.freeswitch.org
>>>> pstn:+19193869900
>>>>
>>>> _________________________________________________________________________
>>>> Professional FreeSWITCH Consulting Services:
>>>> consulting at freeswitch.org
>>>> http://www.freeswitchsolutions.com
>>>>
>>>> 
>>>> 
>>>>
>>>> Official FreeSWITCH Sites
>>>> http://www.freeswitch.org
>>>> http://wiki.freeswitch.org
>>>> http://www.cluecon.com
>>>>
>>>> FreeSWITCH-users mailing list
>>>> FreeSWITCH-users at 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 at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>> 
>>> 
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at 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 at hotmail.com
>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888 at conference.freeswitch.org
>> googletalk:conf+888 at conference.freeswitch.org
>> pstn:+19193869900
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> 
>> 
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at 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 at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at 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 at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900



Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list