[Freeswitch-dev] mod-java - playAndGetDigits() exception
jonathan augenstine
jaugenstine at gmail.com
Mon Apr 7 12:27:56 EDT 2008
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 at 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 at 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 at 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 at 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 at 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 at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20080407/20c7153a/attachment.html
More information about the Freeswitch-dev
mailing list