public void run(String sessionUuid, String args) { freeswitch.console_log("notice", "INBOUND UUID: " + sessionUuid + " ARGS: " + args + "\n"); JavaSession session = null; try { session = new JavaSession(sessionUuid); if(session == null) { freeswitch.console_log("notice", "ERROR: session is NULL\n"); return; } else { freeswitch.console_log("notice", "SUCCESS creating session\n"); } session.setAutoHangup(false); byte[] dtmf_buf = new byte[20]; byte[] term_buf = new byte[4]; String raw_dnis = session.getVariable("originate_caller_id_number"); String raw_ani = session.getVariable("caller_id_number"); String leading = raw_ani.substring(0, 1); String ani = null; if(leading.startsWith("+")) { // skip first digit ani = raw_ani.substring(1); } else { // capture all digits ani = raw_ani.substring(0); } freeswitch.console_log("notice", "INBOUND ANI: 00" + ani + " DNIS: " + raw_dnis + "\n"); String destNumber = authorize("001" + ani); if(destNumber == null) { // handle as non-widget call // collect DTMF of dial out phone number freeswitch.console_log("notice", "playAndGetDigits called next!!!\n"); int done = 0; do { dtmf_buf = new byte[20]; term_buf = new byte[4]; // dial number collection session.playAndGetDigits(10, 20, 3, 30000, "#", "/usr/local/freeswitch/sounds/DialNumber.wav", "/usr/local/freeswitch/sounds/NotAsDialed.wav", dtmf_buf, ""); On Sun, Apr 6, 2008 at 11:05 PM, Damjan Jovanovic <damjan@ecntelecoms.com> wrote:
X-ECN Telecoms-MailScanner-Information: Contact ECN Telecoms X-ECN Telecoms-MailScanner: Found to be clean X-ECN Telecoms-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-104.399, required 6, autolearn=not spam, ALL_TRUSTED -1.80, BAYES_00 -2.60, USER_IN_WHITELIST -100.00) X-ECN Telecoms-MailScanner-From: damjan@ecntelecoms.com X-Spam-Status: No
Calling the playAndGetDigits() function is a bit obscure in Java, some args are input/output parameters. Post the code so I can see how you're trying to call it.
Bye Damjan
On Sun, 2008-04-06 at 22:46 -0700, jonathan augenstine wrote:
Here is the bt full backtrace:
(gdb) bt full #0 0x0088b402 in __kernel_vsyscall () No symbol table info available. #1 0x00361fa0 in raise () from /lib/libc.so.6 No symbol table info available. #2 0x003638b1 in abort () from /lib/libc.so.6 No symbol table info available. #3 0x00398ebb in __libc_message () from /lib/libc.so.6 No symbol table info available. #4 0x003a0f41 in _int_free () from /lib/libc.so.6 No symbol table info available. #5 0x003a4580 in free () from /lib/libc.so.6 No symbol table info available. #6 0x011e747c in os::free () from /usr/java/jdk1.5.0_12/jre/lib/i386/client/libjvm.so No symbol table info available. #7 0x010fd233 in jni_ReleaseByteArrayElements () from /usr/java/jdk1.5.0_12/jre/lib/i386/client/libjvm.so No symbol table info available. #8 0x009c1f5e in Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1playAndGetDigits (jenv=0xad91cf90, jcls=0x6ce587c, jarg1=2949394128, jarg1_=0x6ce58a8, jarg2=10, jarg3=20, jarg4=3, jarg5=30000, jarg6=0x6ce5894, jarg7=0x6ce5890, jarg8=0x6ce588c, jarg9=0x6ce5888, jarg10=0x6ce5884) at /usr/java/jdk1.5.0_12/include/jni.h:1665 jresult = <value optimized out> arg6 = 0xb291c7a0 "#" arg7 = 0xb292d770 "/usr/local/freeswitch/sounds/DialNumber.wav" arg8 = 0xb292dab8 "/usr/local/freeswitch/sounds/NotAsDialed.wav" arg10 = 0xb2915838 "" result = 1 #9 0x02d562dd in ?? () No symbol table info available. #10 0xad91cf90 in ?? () No symbol table info available. #11 0x06ce587c in ?? () No symbol table info available. #12 0xafcc2ed0 in ?? () No symbol table info available. #13 0x00000000 in ?? () No symbol table info available.
On Fri, Apr 4, 2008 at 9:59 PM, Michael Jerris <mike@jerris.com> wrote: Can you disable crash protection and get a real backtrace of this?
Mike
On Apr 5, 2008, at 12:19 AM, jonathan augenstine wrote:
> Damjan, > > OK, the mod_java initialization problem is resolved in the latest > version of the trunk. I am now back to the initial problem I was > hoping this version would solve. When I call playAndGetDigits() it > crashes Freeswitch. The console dump from the playAndGetDigits call > to the crash is pasted below. What would you suggest is the next > step to diagnose and fix this issue? > > Jonathan > > > Freeswitch console output: > > 2008-04-04 22:39:50 [NOTICE] switch_cpp.cpp:509 console_log() > playAndGetDigits called next!!! > 2008-04-04 22:39:50 [DEBUG] switch_cpp.cpp:154 execute() > CoreSession::execute. app: sleep data:500 > 2008-04-04 22:39:50 [DEBUG] switch_ivr_play_say.c:1225 > switch_play_and_get_digits() switch_play_and_get_digits(session, 10, > 20, 3, 30000, #, /usr/local/freeswitch/sounds/DialNumber.wav, /usr/ > local/freeswitch/sounds/NotAsDialed.wav, digit_buffer, 128, > XXXXXXXXXX) > *** glibc detected *** ./freeswitch: free(): invalid pointer: > 0x08cf29d0 *** > ======= Backtrace: ========= > /lib/libc.so.6[0x3a0f41] > /lib/libc.so.6(cfree+0x90)[0x3a4580] > /lib/libc.so.6[0x3bae6f] > /lib/libc.so.6(tzset+0x3d)[0x3bb77d] > /lib/libc.so.6(strftime_l+0x46)[0x3c0006] > /lib/libc.so.6(strftime+0x3f)[0x3bff5f] > /usr/local/freeswitch/lib/libfreeswitch.so.1(apr_strftime +0x85) > [0x19d395] > /usr/local/freeswitch/lib/libfreeswitch.so.1(switch_strftime +0x39) > [0x13a139] > /usr/local/freeswitch/lib/libfreeswitch.so.1(switch_log_printf+0x126) > [0x17f1f6] > /usr/local/freeswitch/lib/libfreeswitch.so. > 1(switch_play_and_get_digits+0x192)[0x175ad2] > /usr/local/freeswitch/lib/libfreeswitch.so. > 1(_ZN11CoreSession16playAndGetDigitsEiiiiPcS0_S0_S0_S0_ +0xe2) > [0x188242] > /usr/local/freeswitch/mod/ > mod_java > .so >
(Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1playAndGetDigits
> +0x15d)[0xe46f3d]
_______________________________________________ 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
_______________________________________________ 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
_______________________________________________ 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