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
_________________________________________________________________________ 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
Karol
--
e-mail: Karol.Golab@tls.pl
www: http://www.tls.pl
signature: not found
company: TLS-Technologie Spó³ka z ograniczon± odpowiedzialno¶ci± z siedzib± w Warszawie przy ul. Polnej 50 00-644; KRS 0000073337 (XII Wydzia³ Gospodarczy KRS); NIP 526-25-78-091; VAT ID PL5262578091; REGON 017349442; kap. zak. 50000,00 z³