Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000317 [Yate - Yet Another Telephony Engine] engine crash always 2012-09-27 15:40 2013-04-19 13:41
Reporter mtelegin View Status public  
Assigned To
Priority normal Resolution open  
Status feedback   Product Version SVN
Summary 0000317: Crash on executing external script
Description Yate chrashes on routing call to external script

regexroute.conf

[default]
^2000$=external/play//path/to/play/tmp/play.sh

play.sh


#!/bin/sh

# Bourne shell test script for the Yate external module interface
# Generates 2 seconds of white noise
# To test add a route to: external/play/noise.sh

read
echo "$REPLY" | sed 's/^[^:]*:\([^:]*\):.*$/%%<message:\1:true:/;'
echo "TEST"

echo "=================== noise ===================" >&2
dd if=/dev/urandom bs=320 count=100 >&4
echo "================= noise done ================" >&2
Additional Information Returned false 'chan.disconnected' delay=0.000144
  thread=0x81af540 'Call Router'
  data=0x81807f0
  retval='(null)'
  param['id'] = 'sip/9'
  param['module'] = 'sip'
  param['status'] = 'routed'
  param['address'] = '192.168.168.209:5065'
  param['billid'] = '1348749408-9'
  param['answered'] = 'false'
  param['direction'] = 'incoming'
  param['callid'] = 'sip/dzvasqvwuuucybz@mtelegin-ubuntu/fhveu/'
  param['error'] = 'noconn'
  param['reason'] = 'Could not connect to target'
  param['reroute'] = 'true'
  param['handlers'] = 'javascript:15'
[Thread 0xb7b4bb70 (LWP 3530) exited]
[Thread 0xb7c0eb70 (LWP 3528) exited]
[Thread 0xb7bcdb70 (LWP 3529) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7c4fb70 (LWP 3451)]
TelEngine::ObjList::length (this=0x81a58d4) at ObjList.cpp:59
59 n = n->next();
(gdb) bt full
#0 TelEngine::ObjList::length (this=0x81a58d4) at ObjList.cpp:59
        c = 9
        n = 0x11
0000001 0x009fbb65 in length (msg=<value optimized out>, par=...) at ../yateclass.h:3698
No locals.
0000002 (anonymous namespace)::dumpParams (msg=<value optimized out>, par=...) at msgsniff.cpp:73
        n = 3083137208
0000003 0x009fc100 in (anonymous namespace)::SniffHandler::received (this=0x80dda28, msg=...) at msgsniff.cpp:126
        par = {<TelEngine::GenObject> = {_vptr.GenObject = 0x234b68}, m_string = 0x0, m_length = 0, m_hash = 4294967295, m_matches = 0x0}
0000004 0x0019e10c in TelEngine::MessageHandler::receivedInternal (this=0x80dda28, msg=...) at Message.cpp:257
        ok = <value optimized out>
0000005 0x0019e334 in TelEngine::MessageDispatcher::dispatch (this=0x804e048, msg=...) at Message.cpp:396
        c = 448
        p = <value optimized out>
        tm = 1348749412902984
        l2 = <value optimized out>
        h = 0x80dda28
        t = 1348749412902983
        retv = false
        l = <value optimized out>
0000006 0x0019e7a7 in TelEngine::MessageDispatcher::dequeueOne (this=0x804e048) at Message.cpp:475
No locals.
0000007 0x0019e7f0 in TelEngine::MessageDispatcher::dequeue (this=0x804e048) at Message.cpp:482
No locals.
0000008 0x001a3fcf in TelEngine::EnginePrivate::run (this=0x80e4520) at Engine.cpp:749
No locals.
0000009 0x0018151e in TelEngine::ThreadPrivate::run (this=0x80e4538) at Thread.cpp:347
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {2322420, 135152952, 4001536, -1211829400, 852155295, -1962670352}, __mask_was_saved = 0}}, __pad = {0xb7c4f444,
            0x0, 0x0, 0x0}}
        not_first_call = <value optimized out>
0000010 0x0018158c in TelEngine::ThreadPrivate::startFunc (arg=0x80e4538) at Thread.cpp:550
No locals.
0000011 0x00134cc9 in start_thread (arg=0xb7c4fb70) at pthread_create.c:304
        __res = <value optimized out>
        __ignore1 = <value optimized out>
        __ignore2 = <value optimized out>
        pd = 0xb7c4fb70
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1335284, 0, 4001536, -1211829112, 852212639, -1649030928}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000012 0x0045d5be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
(gdb)
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0000475)
mtelegin (reporter)
2012-09-27 18:04

Another backtrace:


Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb7a88b70 (LWP 12851)]
0x0012e416 in __kernel_vsyscall ()
(gdb) bt full
#0 0x0012e416 in __kernel_vsyscall ()
No symbol table info available.
0000001 0x003bb941 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        pid = 5152756
        selftid = 12851
0000002 0x003bee42 in abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0x12d4e4 <_rtld_global+1220>, sa_sigaction = 0x12d4e4 <_rtld_global+1220>}, sa_mask = {__val = {786432, 4255408, 3792720,
              3081270952, 23137, 3081270920, 3755472, 37, 10, 3081270764, 4559740, 9, 2, 3081270848, 5152756, 22, 3081272308, 3081270968, 4681892, 10, 3081270848, 9, 0, 3081270944,
              3081270956, 7, 5013540, 5013536, 5009057, 5009083, 94, 3081270848}}, sa_flags = -1213696376, sa_restorer = 0x4c93d8}
        sigs = {__val = {32, 0 <repeats 31 times>}}
0000003 0x003f2ec5 in __libc_message (do_abort=2, fmt=0x4cb260 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
        ap = <value optimized out>
        fd = -1213696016
        on_2 = <value optimized out>
        list = <value optimized out>
        nlist = <value optimized out>
        cp = <value optimized out>
        written = false
0000004 0x003fd0c1 in malloc_printerr (action=<value optimized out>, str=0x6 <Address 0x6 out of bounds>, ptr=0xb7800b40) at malloc.c:6283
        buf = "b7800b40"
        cp = <value optimized out>
0000005 0x00400239 in _int_malloc (av=<value optimized out>, bytes=<value optimized out>) at malloc.c:4308
        p = 0x0
        nb = 16
        idx = <value optimized out>
        bin = <value optimized out>
        victim = <value optimized out>
        size = <value optimized out>
        victim_index = <value optimized out>
        remainder = <value optimized out>
        remainder_size = <value optimized out>
        block = <value optimized out>
        bit = <value optimized out>
        map = <value optimized out>
        fwd = <value optimized out>
        bck = <value optimized out>
        errstr = 0x6 <Address 0x6 out of bounds>
        __func__ = "_int_malloc"
0000006 0x00401af3 in __libc_malloc (bytes=6) at malloc.c:3660
        ar_ptr = 0xb7800010
        victim = <value optimized out>
        __func__ = "__libc_malloc"
0000007 0x0018a098 in TelEngine::String::assign (this=0xb7800f14, value=0x9e5b60 "runid", len=-1) at String.cpp:308
No locals.
0000008 0x0018a592 in TelEngine::String::String (this=0xb7800f14, value=0x9e5b60 "runid", len=-1) at String.cpp:201
No locals.
0000009 0x0018aaac in TelEngine::NamedString::NamedString (this=0xb7800f00, name=0x9e5b60 "runid", value=0x80e6328 "1348758133") at String.cpp:1458
No locals.
0000010 0x0018f7d3 in TelEngine::NamedList::addParam (this=0xb7803300, name=0x9e5b60 "runid", value=0x80e6328 "1348758133", emptyOK=true) at NamedList.cpp:82
No locals.
0000011 0x009e10e1 in (anonymous namespace)::CdrBuilder::emit (this=<value optimized out>, operation=<value optimized out>) at cdrbuild.cpp:369
        t_hangup = 1348758142914594
        t_ringing = <value optimized out>
        buf = "1348758142.891\000\000a\310\027\000\020\000\200\267\070H\200\267\006\000\000\000\364\237N\000\020\000\200\267\001\000\000\000\330\177\250\267\363\032@\000D5\200\267\000\r\200\267\030\200\250\267"
        tmp = {<TelEngine::GenObject> = {_vptr.GenObject = 0x23aff4}, m_string = 0xb7803544 "h\213#", m_length = 1558625, m_hash = 3078637624, m_matches = 0x0}
        t_call = 4179076718411059234
---Type <return> to continue, or q <return> to quit---
        t_answer = <value optimized out>
        n = <value optimized out>
0000012 0x009e55ea in (anonymous namespace)::CdrBuilder::~CdrBuilder (this=0xb78038c0, __in_chrg=<value optimized out>) at cdrbuild.cpp:324
No locals.
0000013 0x0017b195 in TelEngine::GenObject::destruct (this=0x0) at TelEngine.cpp:677
No locals.
0000014 0x0017db44 in TelEngine::ObjList::remove (this=0x9e81cc, delobj=true) at ObjList.cpp:236
        tmp = 0x0
0000015 0x0017e087 in TelEngine::ObjList::remove (this=0x9e81cc, obj=0xb78038c0, delobj=true) at ObjList.cpp:245
        n = 0x6
0000016 0x009e3e9c in update (this=0x80e6678, msg=...) at cdrbuild.cpp:510
        n = 10
0000017 (anonymous namespace)::CdrHandler::received (this=0x80e6678, msg=...) at cdrbuild.cpp:593
        type = 7
        id = {<TelEngine::GenObject> = {_vptr.GenObject = 0x238b68}, m_string = 0xb7804828 "sip/18", m_length = 6, m_hash = 1144250172, m_matches = 0x0}
        rval = false
        level = <value optimized out>
        b = 0xb78038c0
0000018 0x0019f91c in TelEngine::MessageHandler::receivedInternal (this=0x80e6678, msg=...) at Message.cpp:257
        ok = <value optimized out>
#19 0x0019fb77 in TelEngine::MessageDispatcher::dispatch (this=0x804e040, msg=...) at Message.cpp:396
        c = 485
        p = <value optimized out>
        tm = 1348758142922231
        l2 = <value optimized out>
        h = 0x80e6678
        debug = {m_name = 0x0, m_level = 10}
        t = 1348758142922151
        retv = false
        l = <value optimized out>
0000020 0x0019ffe7 in TelEngine::MessageDispatcher::dequeueOne (this=0x804e040) at Message.cpp:475
No locals.
0000021 0x001a0030 in TelEngine::MessageDispatcher::dequeue (this=0x804e040) at Message.cpp:482
No locals.
0000022 0x001a58ef in TelEngine::EnginePrivate::run (this=0x80f16e0) at Engine.cpp:749
No locals.
0000023 0x001819fe in TelEngine::ThreadPrivate::run (this=0x80f0518) at Thread.cpp:347
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {2338804, 135202072, 4001536, -1213693080, 439560744, 2064103239}, __mask_was_saved = 0}}, __pad = {0xb7a88444, 0x0,
            0x0, 0x0}}
        not_first_call = <value optimized out>
0000024 0x00181a6c in TelEngine::ThreadPrivate::startFunc (arg=0x80f0518) at Thread.cpp:550
No locals.
0000025 0x00134cc9 in start_thread (arg=0xb7a88b70) at pthread_create.c:304
        __res = <value optimized out>
        __ignore1 = <value optimized out>
        __ignore2 = <value optimized out>
        pd = 0xb7a88b70
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1335284, 0, 4001536, -1213692792, 439503400, 1840003399}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#26 0x004615be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
(gdb)
(0000523)
paulc (administrator)
2013-04-19 13:41

Please try SVN Rev. >= 5458 (2013-04-12) which fixed a number of race conditions in engine and extmodule.

- Issue History
Date Modified Username Field Change
2012-09-27 15:40 mtelegin New Issue
2012-09-27 18:04 mtelegin Note Added: 0000475
2013-04-19 13:41 paulc Note Added: 0000523
2013-04-19 13:41 paulc Status new => feedback


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker