you're probably right but I wonder what you are doing that is binding and unbinding so much?
The bind and unbind was designed to be called once when the module is loaded and called again when it exits.

My fear is you are using the embedded scripting event handers in some quick repeating fashion.

I did a commit to flip that case around but I don't encourage you to use embedded scripts for heavy event traffic, that's what event socket is for and if you have the C skills to debug this, you might want to try a C app ;)


2011/11/28 Brian West <brian@freeswitch.org>
Please post it to jira.freeswitch.org

/b

On Nov 28, 2011, at 2:31 AM, Karol Golab wrote:


  Hi!

  I've noticed some strange code in src/switch_event.c - could someone 
smarter (& knowing the mentioned code) please take a look?

  The problem is in the order of calls to locks BLOCK & RWLOCK - it 
differs between functions:

switch_event_bind_removable
        switch_mutex_lock(BLOCK);
        switch_thread_rwlock_wrlock(RWLOCK);

switch_event_unbind_callback
    switch_thread_rwlock_wrlock(RWLOCK);
    switch_mutex_lock(BLOCK);

switch_event_unbind
    switch_thread_rwlock_wrlock(RWLOCK);
    switch_mutex_lock(BLOCK);

  As I understand this may lead to an outright deadlock between bind 
and unbind.

  I stumbled upon this code while debugging what seems like deadlocks 
in our test FS installation put under some heavy load. The load is about 
25 new event subscribers per second (destroyed few seconds later) and 
about 700 events per second.

  Regards,
  Karol


_________________________________________________________________________
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-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
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