[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