Thanks for doing some of the legwork on this. BTW, this thread is probably a bit too technical for the users list - I recommend sending to the dev list. :)<br><br>-MC<br><br><div class="gmail_quote">On Thu, Apr 2, 2009 at 9:46 AM, Tamas Cseke <span dir="ltr"><<a href="mailto:cstomi.levlist@gmail.com">cstomi.levlist@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello,<br>
<br>
We originate loopback channels and they end up in calling sofia<br>
and transfer the call to a fifo.<br>
<br>
If we have a heavy call volume loopback-b channels don't hangup properly.<br>
They stay in core.db.<br>
Unfortunetly we can't reproduce it on test boxes but happens every day.<br>
On this box we had to turn off debug logging, becase we had I/O problems.<br>
<br>
The only thing I saw in log that switch_core_session_thread don't call<br>
<br>
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Session %"<br>
SWITCH_SIZE_T_FMT " (%s) Ended\n",<br>
session->id,<br>
switch_channel_get_name(session->channel));<br>
<br>
in these cases.<br>
We have local patches (I don't think they are related) and we are<br>
running FS on virtual machine and we had some problem with that before<br>
so I'm not sure, but I guess it is maybe a lock or mutex problem.<br>
<br>
I tried SWITCH_DEBUG_RWLOCKS, but I got build error, and I don't know<br>
what to do with it.<br>
<br>
FS_CFLAGS = -O2 -ffast-math -g -ggdb -DSWITCH_DEBUG_RWLOCKS<br>
export CFLAGS="-O2 -ffast-math -g -ggdb -DSWITCH_DEBUG_RWLOCKS"<br>
export MOD_CFLAGS="-O2 -ffast-math -g -ggdb -DSWITCH_DEBUG_RWLOCKS"<br>
./configure<br>
<br>
gcc -I/DEVEL/freeswitch/src/include<br>
-I/DEVEL/freeswitch/libs/libteletone/src -fPIC -Werror<br>
-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -g<br>
-ggdb -O2 -ffast-math -g -ggdb -DSWITCH_DEBUG_RWLOCKS -Wall -std=c99<br>
-pedantic -o .libs/freeswitch freeswitch-switch.o -lm<br>
./.libs/libfreeswitch.so libs/apr/.libs/libapr-1.a -lrt -ldl -lcrypt<br>
-lpthread libs/libedit/src/.libs/libedit.a -lncurses -Wl,--rpath<br>
-Wl,/opt/freeswitch//lib<br>
./.libs/libfreeswitch.so: undefined reference to<br>
`switch_core_session_read_lock'<br>
./.libs/libfreeswitch.so: undefined reference to<br>
`switch_core_session_locate'<br>
./.libs/libfreeswitch.so: undefined reference to<br>
`switch_core_session_rwunlock'<br>
collect2: ld returned 1 exit status<br>
make[2]: *** [freeswitch] Error 1<br>
<br>
Could you please tell me how could I test mutexes, rwlocks?<br>
<br>
Other option would be to omit loopback channels.<br>
Anthony earlier suggested me to avoid it and call sofia directly<br>
<br>
"you could make the loopback channel execute the eval app and do the<br>
originate to the sofia channel from the dialplan.<br>
<br>
<action application="eval" data="${originate(sofia/foo/<a href="mailto:a@b.com">a@b.com</a> xyz)}"/><br>
or make the loopback chan exec a lua or js and fire an originate command and<br>
exit<br>
<br>
This way you don't have the loopback a and b leg as well as the sofia chan."<br>
<br>
but it doesn't work, because originate api doesn't let us originate inside a session.<br>
So we still using it.<br>
<br>
<br>
Thanks in advance,<br>
Tamas<br>
<br>
_______________________________________________<br>
Freeswitch-users mailing list<br>
<a href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote></div><br>