If you take a gcore it'll generate a core dump. You could then dig into it with gdb to find the thread for that channel and see what lock it's waiting on.
However the gcore will pause the process for a while, so it will impact on any other calls on that box.

Have you tried reproducing it on 1.8?

On Tue, 9 Oct 2018 at 20:36, Markus Bönke <mbodbg@gmx.net> wrote:
Hello All,

we are running freeswitch 1.6.20, calls are controlled via ESL, CDRs are written with mod_xml_cdrl. Sometimes we see „hanging“ channels. In such a case the CDR via mod_xml_cdr is written and the last log entry for such a call is "Locked, Waiting on external entities“.
...
freeswitch.log.2018-10-09-10-19-07.1:db2908e3-c06b-4293-88b1-e18cffb66263 2018-10-09 10:18:15.197345 [DEBUG] switch_core_state_machine.c:610 (sofia/internal/anonymous@anonymous.invalid) State Change CS_REPORTING -> CS_DESTROY
freeswitch.log.2018-10-09-10-19-07.1:db2908e3-c06b-4293-88b1-e18cffb66263 2018-10-09 10:18:15.197345 [DEBUG] switch_core_session.c:1665 Session 166111 (sofia/internal/anonymous@anonymous.invalid) Locked, Waiting on external entities
...
How can I proceed to further analyze the problem ? In the last log line I also see the session number (Session 166111) - is there a way to find out on which external entity it is waiting?

Thanks and regards

Markus 
_________________________________________________________________________
Professional FreeSWITCH Services
sales@freeswitch.com
https://freeswitch.com

Official FreeSWITCH Sites
https://freeswitch.com/oss
https://freeswitch.org/confluence
https://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
https://freeswitch.com