[Freeswitch-dev] crash running the core twice in one process

Tamas jalsot at gmail.com
Thu Jul 2 08:05:33 PDT 2009


I'm working on an application which starts FS core in a new thread (upon 
request) and there is a need to change some configuration options 
runtime runtime (core settings) for which I have to restart the core, I 
believe. My idea was to issue shutdown command to the core (which I do), 
tear down the whole thread in which FS was started and start a new 
thread, etc. For this scenario I was playing with fshost example.

Regards,
    Tamas

ps: I'm playing with the 2nd issue, FS teardown and crash due to 
mod_portaudio.


Mathieu Rene írta:
> Why exactly do you want to restart the whole core? FS is modular  
> enough so you can restart it per module.
>
> Math
>
> On 2-Jul-09, at 10:47 AM, Tamas wrote:
>
>   
>> Hi,
>>
>> I started with switch.c and saw execv lines. This works for sure.  
>> What I
>> don't know is that why the way I'm doing does not work, what have I  
>> missed.
>> My original problem is that when I tear down FS core started in a
>> thread, there is no issue, however when I tear down the thread FS core
>> was running in, I'm getting segfault which is similar to what I was  
>> able
>> to reproduce with this fshost example (when I don't have FS  
>> initiated in
>> that thread, thread tearing works fine).
>>
>> ...
>> 2009-07-02 16:41:08.777480 [CONSOLE] switch_core_sqldb.c:593 Waiting  
>> for
>> unfinished SQL transactions
>> 2009-07-02 16:41:08.777576 [NOTICE] switch_core_sqldb.c:199 SQL thread
>> ending
>> 2009-07-02 16:41:08.787766 [CONSOLE] switch_scheduler.c:305 Stopping
>> Task Thread
>> 2009-07-02 16:41:09.190129 [DEBUG] switch_scheduler.c:138 Deleting  
>> task
>> 1 heartbeat (core)
>> 2009-07-02 16:41:09.253047 [NOTICE] switch_scheduler.c:176 Task thread
>> ending
>> 2009-07-02 16:41:09.288623 [CONSOLE] switch_core.c:1656 Closing Event
>> Engine.
>> 2009-07-02 16:41:09.288746 [CONSOLE] switch_event.c:468 Stopping event
>> queue 0
>> 2009-07-02 16:41:09.288801 [CONSOLE] switch_event.c:468 Stopping event
>> queue 1
>> 2009-07-02 16:41:09.288844 [CONSOLE] switch_event.c:468 Stopping event
>> queue 2
>> 2009-07-02 16:41:09.288888 [CONSOLE] switch_event.c:325 Event Thread 1
>> Ended.
>> 2009-07-02 16:41:09.288884 [CONSOLE] switch_event.c:474 Stopping
>> dispatch queue 0
>> 2009-07-02 16:41:09.289079 [CONSOLE] switch_event.c:263 Dispatch  
>> Thread
>> 0 Ended.
>> 2009-07-02 16:41:09.289312 [CONSOLE] switch_event.c:325 Event Thread 2
>> Ended.
>> 2009-07-02 16:41:09.290423 [CONSOLE] switch_event.c:492 Stopping
>> dispatch thread 0
>> 2009-07-02 16:41:09.290471 [CONSOLE] switch_event.c:506 Stopping queue
>> thread 0
>> 2009-07-02 16:41:09.288922 [CONSOLE] switch_event.c:325 Event Thread 0
>> Ended.
>> 2009-07-02 16:41:09.345453 [CONSOLE] switch_event.c:506 Stopping queue
>> thread 1
>> 2009-07-02 16:41:09.345510 [CONSOLE] switch_event.c:506 Stopping queue
>> thread 2
>> 2009-07-02 16:41:09.345561 [CONSOLE] switch_core.c:1659 Finalizing  
>> Shutdown.
>> 2009-07-02 16:41:09.345697 [CONSOLE] switch_log.c:255 Logger Ended.
>> 2009-07-02 16:41:09.347192 [CONSOLE] switch_core_memory.c:567 Stopping
>> memory pool queue.
>> Initializing globals...
>> Initializing core...
>> 2009-07-02 16:41:09.448524 [INFO] switch_event.c:565 Activate Eventing
>> Engine.
>> Szegmens hiba (core dumped)
>>
>> Core was generated by `./fshost'.
>> Program terminated with signal 11, Segmentation fault.
>> #0  0x00007fce6f8fca7f in apr_queue_trypush (queue=0x7fce6d54c5a8,
>> data=0x17cf600) at misc/apr_queue.c:215
>> 215        if (queue->terminated) {
>> (gdb) bt
>> #0  0x00007fce6f8fca7f in apr_queue_trypush (queue=0x7fce6d54c5a8,
>> data=0x17cf600) at misc/apr_queue.c:215
>> #1  0x00007fce6f86c64a in switch_queue_trypush (queue=0x7fce6d54c5a8,
>> data=0x17cf600) at src/switch_apr.c:931
>> #2  0x00007fce6f8a3ab8 in switch_event_thread (thread=0x1bd5028,
>> obj=0x17bdb38) at src/switch_event.c:305
>> #3  0x00007fce6f910c01 in dummy_worker (opaque=0x1bd5028) at
>> threadproc/unix/thread.c:138
>> #4  0x00007fce6ec5d3ba in start_thread () from /lib/libpthread.so.0
>> #5  0x00007fce6f59bfcd in clone () from /lib/libc.so.6
>> #6  0x0000000000000000 in ?? ()
>> (gdb) bt full
>> #0  0x00007fce6f8fca7f in apr_queue_trypush (queue=0x7fce6d54c5a8,
>> data=0x17cf600) at misc/apr_queue.c:215
>>        rv = 0
>> #1  0x00007fce6f86c64a in switch_queue_trypush (queue=0x7fce6d54c5a8,
>> data=0x17cf600) at src/switch_apr.c:931
>>        s = 0
>> #2  0x00007fce6f8a3ab8 in switch_event_thread (thread=0x1bd5028,
>> obj=0x17bdb38) at src/switch_event.c:305
>>        pop = 0x17cf600
>>        event = 0x17cf600
>>        queue = 0x17bdb38
>>        index = 0
>>        my_id = 0
>>        __func__ = "switch_event_thread"
>> #3  0x00007fce6f910c01 in dummy_worker (opaque=0x1bd5028) at
>> threadproc/unix/thread.c:138
>>        thread = 0x1bd5028
>> #4  0x00007fce6ec5d3ba in start_thread () from /lib/libpthread.so.0
>> No symbol table info available.
>> #5  0x00007fce6f59bfcd in clone () from /lib/libc.so.6
>> No symbol table info available.
>> #6  0x0000000000000000 in ?? ()
>> No symbol table info available.
>> (gdb)
>>
>>
>> New info: for the shutdown issue (a different one) I've found that  
>> when
>> I don't load mod_portaudio, there is no segfault on shutdown, it tears
>> down everything cleanly. For the fshost issue the same did not have  
>> any
>> effect.
>> Is there any know practice how to debug such thing?
>>
>> I'll keep working on these issues...
>>
>> Regards,
>>    Tamas
>>
>>
>> Anthony Minessale írta:
>>     
>>> look in switch.c
>>>
>>> we do it when you say "fsctl shutdown restart" and it works fine over
>>> and over.
>>>
>>>
>>>
>>> On Wed, Jul 1, 2009 at 5:52 PM, Tamas <jalsot at gmail.com
>>> <mailto:jalsot at gmail.com>> wrote:
>>>
>>>    Hello,
>>>
>>>    I'm trying to embed FS in a C application where I should have to
>>>    restart
>>>    the whole stuff (core) in one process/thread, however it  
>>> crashes. I
>>>    assume, something is not freed up before the new startup. I've  
>>> used
>>>    mrene's fshost example to reproduce the issue:
>>>
>>>    Index: contrib/mrene/fshost/main.c
>>>     
>>> ===================================================================
>>>    --- contrib/mrene/fshost/main.c    (revision 14092)
>>>    +++ contrib/mrene/fshost/main.c    (working copy)
>>>     -82,7 +82,34 @@
>>>
>>>            ret = system(buf);
>>>        }
>>>    +
>>>    +
>>>    +    /* Here I start my 2nd start */
>>>    +
>>>    +    /* Initialize libs & globals */
>>>    +    printf("Initializing globals...\n");
>>>    +    switch_core_setrlimits();
>>>    +    switch_core_set_globals();
>>>
>>>    +    /* If you need to override configuration directories, you  
>>> need to
>>>    change them in the SWITCH_GLOBAL_dirs global structure */
>>>    +    printf("Initializing core...\n");
>>>    +    /* Initialize the core and load modules, that will startup FS
>>>    completely */
>>>    +    if (switch_core_init_and_modload(flags, console, &err) !=
>>>    SWITCH_STATUS_SUCCESS) {
>>>    +        fprintf(stderr, "Failed to initialize FreeSWITCH's core:
>>>    %s\n",
>>>    err);
>>>    +        return 1;
>>>    +    }
>>>    +
>>>    +    printf("Everything OK, Entering runtime loop.\n");
>>>    +
>>>    +    fflush(stdout);
>>>    +
>>>    +    /* Go into the runtime loop. If the argument is true, this
>>>    basically sets runtime.running = 1 and loops while that is set
>>>    +     * If its false, it initializes the libedit for the  
>>> console, then
>>>    does the same thing
>>>    +     */
>>>    +    switch_core_runtime_loop(!console);
>>>    +
>>>    +    /* When the runtime loop exits, its time to shutdown */
>>>    +    destroy_status = switch_core_destroy();
>>>        return ret;
>>>     }
>>>
>>>     -95,4 +122,4 @@
>>>     * End:
>>>     * For VIM:
>>>     * vim:set softtabstop=4 shiftwidth=4 tabstop=4:
>>>    - */
>>>    \ No newline at end of file
>>>    + */
>>>
>>>
>>>    Here are some gdb backtraces:
>>>
>>>    (gdb) bt
>>>    #0  0x00007fb418c94a7f in apr_queue_trypush (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at misc/apr_queue.c:215
>>>    #1  0x00007fb418c0464a in switch_queue_trypush  
>>> (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at src/switch_apr.c:931
>>>    #2  0x00007fb418c3bab8 in switch_event_thread (thread=0x1663a98,
>>>    obj=0x12b8398) at src/switch_event.c:305
>>>    #3  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663a98) at
>>>    threadproc/unix/thread.c:138
>>>    #4  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    #5  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    #6  0x0000000000000000 in ?? ()
>>>    (gdb) bt full
>>>    #0  0x00007fb418c94a7f in apr_queue_trypush (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at misc/apr_queue.c:215
>>>           rv = 0
>>>    #1  0x00007fb418c0464a in switch_queue_trypush  
>>> (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at src/switch_apr.c:931
>>>           s = 0
>>>    #2  0x00007fb418c3bab8 in switch_event_thread (thread=0x1663a98,
>>>    obj=0x12b8398) at src/switch_event.c:305
>>>           pop = 0x12b4b60
>>>           event = 0x12b4b60
>>>           queue = 0x12b8398
>>>           index = 0
>>>           my_id = 0
>>>           __func__ = "switch_event_thread"
>>>    #3  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663a98) at
>>>    threadproc/unix/thread.c:138
>>>           thread = 0x1663a98
>>>    #4  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    No symbol table info available.
>>>    #5  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    No symbol table info available.
>>>    #6  0x0000000000000000 in ?? ()
>>>    No symbol table info available.
>>>
>>>
>>>    (gdb) thread apply all bt
>>>
>>>    Thread 5 (Thread 31286):
>>>    #0  0x00007fb41892c742 in select () from /lib/libc.so.6
>>>    #1  0x00007fb418caab2a in apr_sleep (t=100000) at time/unix/ 
>>> time.c:246
>>>    #2  0x00007fb418c7aba5 in do_sleep (t=100000) at src/ 
>>> switch_time.c:109
>>>    #3  0x00007fb418c7ad95 in switch_sleep (t=100000) at
>>>    src/switch_time.c:178
>>>    #4  0x00007fb418c16b75 in pool_thread (thread=0x1417ff8,  
>>> obj=0x0) at
>>>    src/switch_core_memory.c:531
>>>    #5  0x00007fb418ca8c01 in dummy_worker (opaque=0x1417ff8) at
>>>    threadproc/unix/thread.c:138
>>>    #6  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    #7  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    #8  0x0000000000000000 in ?? ()
>>>
>>>    Thread 4 (Thread 31264):
>>>    #0  0x00007fb417ffbbc5 in __lll_unlock_wake () from
>>>    /lib/libpthread.so.0
>>>    #1  0x00007fb417ff85c9 in _L_unlock_56 () from /lib/ 
>>> libpthread.so.0
>>>    #2  0x00007fb417ff8206 in __pthread_mutex_unlock_usercnt () from
>>>    /lib/libpthread.so.0
>>>    #3  0x00007fb418ca12de in apr_thread_mutex_unlock  
>>> (mutex=0x12b83d8) at
>>>    locks/unix/thread_mutex.c:121
>>>    #4  0x00007fb418c94b78 in apr_queue_trypush (queue=0x12b8398,
>>>    data=0x12b4b60) at misc/apr_queue.c:242
>>>    #5  0x00007fb418c0464a in switch_queue_trypush (queue=0x12b8398,
>>>    data=0x12b4b60) at src/switch_apr.c:931
>>>    #6  0x00007fb418c3dfe8 in switch_event_fire_detailed
>>>    (file=0x7fb418d55ce0 "src/switch_xml.c", func=0x7fb418d562f0
>>>    "switch_xml_open_root", line=1918, event=0x7fff211d0a58,
>>>    user_data=0x0)
>>>       at src/switch_event.c:1128
>>>    #7  0x00007fb418c76a66 in switch_xml_open_root (reload=0 '\0',
>>>    err=0x7fff211d1110) at src/switch_xml.c:1918
>>>    #8  0x00007fb418c76b5e in switch_xml_init (pool=0x126aff8,
>>>    err=0x7fff211d1110) at src/switch_xml.c:1945
>>>    #9  0x00007fb418c2d78f in switch_core_init (flags=1,
>>>    console=SWITCH_TRUE, err=0x7fff211d1110) at src/switch_core.c:1231
>>>    #10 0x00007fb418c2e02b in switch_core_init_and_modload (flags=1,
>>>    console=SWITCH_TRUE, err=0x7fff211d1110) at src/switch_core.c:1422
>>>    #11 0x0000000000400ed7 in main (argc=1, argv=0x7fff211d1628) at
>>>    main.c:97
>>>
>>>    Thread 3 (Thread 31288):
>>>    #0  0x00007fb417ff92e9 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>>    /lib/libpthread.so.0
>>>    #1  0x00007fb418ca13ef in apr_thread_cond_wait (cond=0x14dbb08,
>>>    mutex=0x14dbab8) at locks/unix/thread_cond.c:68
>>>    #2  0x00007fb418c94c1f in apr_queue_pop (queue=0x14dba78,
>>>    data=0x7fb41676c0b8) at misc/apr_queue.c:276
>>>    #3  0x00007fb418c045ca in switch_queue_pop (queue=0x14dba78,
>>>    data=0x7fb41676c0b8) at src/switch_apr.c:902
>>>    #4  0x00007fb418c3ba5e in switch_event_thread (thread=0x1663ac8,
>>>    obj=0x14dba78) at src/switch_event.c:289
>>>    #5  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663ac8) at
>>>    threadproc/unix/thread.c:138
>>>    #6  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    #7  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    #8  0x0000000000000000 in ?? ()
>>>
>>>    Thread 2 (Thread 31289):
>>>    #0  0x00007fb417ff92e9 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>>    /lib/libpthread.so.0
>>>    #1  0x00007fb418ca13ef in apr_thread_cond_wait (cond=0x159fb18,
>>>    mutex=0x159fac8) at locks/unix/thread_cond.c:68
>>>    #2  0x00007fb418c94c1f in apr_queue_pop (queue=0x159fa88,
>>>    data=0x7fb4167a80b8) at misc/apr_queue.c:276
>>>    #3  0x00007fb418c045ca in switch_queue_pop (queue=0x159fa88,
>>>    data=0x7fb4167a80b8) at src/switch_apr.c:902
>>>    #4  0x00007fb418c3ba5e in switch_event_thread (thread=0x1663af8,
>>>    obj=0x159fa88) at src/switch_event.c:289
>>>    #5  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663af8) at
>>>    threadproc/unix/thread.c:138
>>>    #6  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    #7  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    #8  0x0000000000000000 in ?? ()
>>>
>>>    Thread 1 (Thread 31287):
>>>    #0  0x00007fb418c94a7f in apr_queue_trypush (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at misc/apr_queue.c:215
>>>    #1  0x00007fb418c0464a in switch_queue_trypush  
>>> (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at src/switch_apr.c:931
>>>    #2  0x00007fb418c3bab8 in switch_event_thread (thread=0x1663a98,
>>>    obj=0x12b8398) at src/switch_event.c:305
>>>    #3  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663a98) at
>>>    threadproc/unix/thread.c:138
>>>    #4  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    #5  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    #6  0x0000000000000000 in ?? ()
>>>
>>>    (gdb) thread apply all bt full
>>>
>>>    Thread 5 (Thread 31286):
>>>    #0  0x00007fb41892c742 in select () from /lib/libc.so.6
>>>    No symbol table info available.
>>>    #1  0x00007fb418caab2a in apr_sleep (t=100000) at time/unix/ 
>>> time.c:246
>>>           tv = {tv_sec = 0, tv_usec = 88462}
>>>    #2  0x00007fb418c7aba5 in do_sleep (t=100000) at src/ 
>>> switch_time.c:109
>>>    No locals.
>>>    #3  0x00007fb418c7ad95 in switch_sleep (t=100000) at
>>>    src/switch_time.c:178
>>>    No locals.
>>>    #4  0x00007fb418c16b75 in pool_thread (thread=0x1417ff8,  
>>> obj=0x0) at
>>>    src/switch_core_memory.c:531
>>>           len = 0
>>>    #5  0x00007fb418ca8c01 in dummy_worker (opaque=0x1417ff8) at
>>>    threadproc/unix/thread.c:138
>>>           thread = 0x1417ff8
>>>    #6  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    No symbol table info available.
>>>    #7  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    No symbol table info available.
>>>    #8  0x0000000000000000 in ?? ()
>>>    No symbol table info available.
>>>
>>>    Thread 4 (Thread 31264):
>>>    #0  0x00007fb417ffbbc5 in __lll_unlock_wake () from
>>>    /lib/libpthread.so.0
>>>    No symbol table info available.
>>>    #1  0x00007fb417ff85c9 in _L_unlock_56 () from /lib/ 
>>> libpthread.so.0
>>>    No symbol table info available.
>>>    #2  0x00007fb417ff8206 in __pthread_mutex_unlock_usercnt () from
>>>    /lib/libpthread.so.0
>>>    No symbol table info available.
>>>    #3  0x00007fb418ca12de in apr_thread_mutex_unlock  
>>> (mutex=0x12b83d8) at
>>>    locks/unix/thread_mutex.c:121
>>>           status = 0
>>>    #4  0x00007fb418c94b78 in apr_queue_trypush (queue=0x12b8398,
>>>    data=0x12b4b60) at misc/apr_queue.c:242
>>>           rv = 0
>>>    #5  0x00007fb418c0464a in switch_queue_trypush (queue=0x12b8398,
>>>    data=0x12b4b60) at src/switch_apr.c:931
>>>           s = 0
>>>    #6  0x00007fb418c3dfe8 in switch_event_fire_detailed
>>>    (file=0x7fb418d55ce0 "src/switch_xml.c", func=0x7fb418d562f0
>>>    "switch_xml_open_root", line=1918, event=0x7fff211d0a58,
>>>    user_data=0x0)
>>>       at src/switch_event.c:1128
>>>           was = 0
>>>           index = 0
>>>           __PRETTY_FUNCTION__ = "switch_event_fire_detailed"
>>>           __func__ = "switch_event_fire_detailed"
>>>    #7  0x00007fb418c76a66 in switch_xml_open_root (reload=0 '\0',
>>>    err=0x7fff211d1110) at src/switch_xml.c:1918
>>>           event = 0x12b4b60
>>>           path_buf =
>>>    "/opt/freeswitch/conf/freeswitch.xml 
>>> \0\0\0\0\0\340\33\"\1\0\0\0\0\0\320\34\31\264\177\0\0)'\214\30\264\177\0\0\6\0\0\0\b\0\0\1\200\247\273\30\264\177\0\0\0\0\0\0\0\0\0\0\340\33\"\1\0\0\0\0O\0\0\0\0\0\0\0\271\24\214\0\0\4\0\0`\6\35!\377\177\0\0@\16\35!\377\177\0\0\340\33\"\1\0\0\0\0\0\272\273\30\264\177\0\0p\r\35!\377\177\0\0`\v@\0\0\0\0\0
>>>    \26\35!\377\177", '\0' <repeats 18 times>,
>>>    "v\202\214\30\264\177\0\0\71\0\0\0\0\0\0\0\224\t 
>>> \307 
>>> \30 
>>> \264 
>>> \177 
>>> \0 
>>> \0 
>>> \65 
>>> \2 
>>> \0 
>>> \0 
>>> \60 
>>> \0 
>>> \0 
>>> \0 
>>> \200 
>>> \0 
>>> \0 
>>> \0\377\177\0\0\6\0\325\30\264\177\0\0\263\352\16\0\377\177\0\0\320\v 
>>> \35!\377"...
>>>           hasmain = 0 '\0'
>>>           errcnt = 0 '\0'
>>>           new_main = 0x1221ca0
>>>           r = 0x0
>>>           __func__ = "switch_xml_open_root"
>>>    #8  0x00007fb418c76b5e in switch_xml_init (pool=0x126aff8,
>>>    err=0x7fff211d1110) at src/switch_xml.c:1945
>>>           xml = 0x12b8338
>>>           __PRETTY_FUNCTION__ = "switch_xml_init"
>>>    ---Type <return> to continue, or q <return> to quit---
>>>    #9  0x00007fb418c2d78f in switch_core_init (flags=1,
>>>    console=SWITCH_TRUE, err=0x7fff211d1110) at src/switch_core.c:1231
>>>           uuid = {data = "\0\0\0\0\0\0\0\0\200\247\273\30\264\177\0"}
>>>           guess_ip = "::1\0\61\66\70.69.69", '\0' <repeats 187
>>>    times>"\331,
>>>    _ 
>>> \222 
>>> \30 
>>> \264 
>>> \177 
>>> \0\0\0\0\0\0\0\0\0\0\25\0\0\0\0\0\0\0\0\320\34\31\264\177\0\0\25",
>>>    '\0' <repeats 15 times>, "J\30\214\30\264\177\0"
>>>           dir_path = 0x0
>>>           mask = 16777215
>>>           in = {s_addr = 16777215}
>>>           __PRETTY_FUNCTION__ = "switch_core_init"
>>>    #10 0x00007fb418c2e02b in switch_core_init_and_modload (flags=1,
>>>    console=SWITCH_TRUE, err=0x7fff211d1110) at src/switch_core.c:1422
>>>           event = 0x400b60
>>>           __func__ = "switch_core_init_and_modload"
>>>    #11 0x0000000000400ed7 in main (argc=1, argv=0x7fff211d1628) at
>>>    main.c:97
>>>           flags = 1
>>>           err = 0x7fb418d56314 "Success"
>>>           console = SWITCH_TRUE
>>>           destroy_status = SWITCH_STATUS_SUCCESS
>>>           ret = 0
>>>           __PRETTY_FUNCTION__ = "main"
>>>
>>>    Thread 3 (Thread 31288):
>>>    #0  0x00007fb417ff92e9 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>>    /lib/libpthread.so.0
>>>    No symbol table info available.
>>>    #1  0x00007fb418ca13ef in apr_thread_cond_wait (cond=0x14dbb08,
>>>    mutex=0x14dbab8) at locks/unix/thread_cond.c:68
>>>           rv = 0
>>>    #2  0x00007fb418c94c1f in apr_queue_pop (queue=0x14dba78,
>>>    data=0x7fb41676c0b8) at misc/apr_queue.c:276
>>>           rv = 0
>>>    #3  0x00007fb418c045ca in switch_queue_pop (queue=0x14dba78,
>>>    data=0x7fb41676c0b8) at src/switch_apr.c:902
>>>    No locals.
>>>    #4  0x00007fb418c3ba5e in switch_event_thread (thread=0x1663ac8,
>>>    obj=0x14dba78) at src/switch_event.c:289
>>>           pop = 0x0
>>>           event = 0x0
>>>           queue = 0x14dba78
>>>           index = 0
>>>           my_id = 1
>>>           __func__ = "switch_event_thread"
>>>    #5  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663ac8) at
>>>    threadproc/unix/thread.c:138
>>>           thread = 0x1663ac8
>>>    #6  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    No symbol table info available.
>>>    #7  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    No symbol table info available.
>>>    #8  0x0000000000000000 in ?? ()
>>>    No symbol table info available.
>>>
>>>    Thread 2 (Thread 31289):
>>>    #0  0x00007fb417ff92e9 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>>    /lib/libpthread.so.0
>>>    No symbol table info available.
>>>    #1  0x00007fb418ca13ef in apr_thread_cond_wait (cond=0x159fb18,
>>>    mutex=0x159fac8) at locks/unix/thread_cond.c:68
>>>           rv = 0
>>>    #2  0x00007fb418c94c1f in apr_queue_pop (queue=0x159fa88,
>>>    data=0x7fb4167a80b8) at misc/apr_queue.c:276
>>>           rv = 0
>>>    #3  0x00007fb418c045ca in switch_queue_pop (queue=0x159fa88,
>>>    data=0x7fb4167a80b8) at src/switch_apr.c:902
>>>    No locals.
>>>    #4  0x00007fb418c3ba5e in switch_event_thread (thread=0x1663af8,
>>>    obj=0x159fa88) at src/switch_event.c:289
>>>    ---Type <return> to continue, or q <return> to quit---
>>>           pop = 0x0
>>>           event = 0x0
>>>           queue = 0x159fa88
>>>           index = 0
>>>           my_id = 2
>>>           __func__ = "switch_event_thread"
>>>    #5  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663af8) at
>>>    threadproc/unix/thread.c:138
>>>           thread = 0x1663af8
>>>    #6  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    No symbol table info available.
>>>    #7  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    No symbol table info available.
>>>    #8  0x0000000000000000 in ?? ()
>>>    No symbol table info available.
>>>
>>>    Thread 1 (Thread 31287):
>>>    #0  0x00007fb418c94a7f in apr_queue_trypush (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at misc/apr_queue.c:215
>>>           rv = 0
>>>    #1  0x00007fb418c0464a in switch_queue_trypush  
>>> (queue=0x7fb4168e45a8,
>>>    data=0x12b4b60) at src/switch_apr.c:931
>>>           s = 0
>>>    #2  0x00007fb418c3bab8 in switch_event_thread (thread=0x1663a98,
>>>    obj=0x12b8398) at src/switch_event.c:305
>>>           pop = 0x12b4b60
>>>           event = 0x12b4b60
>>>           queue = 0x12b8398
>>>           index = 0
>>>           my_id = 0
>>>           __func__ = "switch_event_thread"
>>>    #3  0x00007fb418ca8c01 in dummy_worker (opaque=0x1663a98) at
>>>    threadproc/unix/thread.c:138
>>>           thread = 0x1663a98
>>>    #4  0x00007fb417ff53ba in start_thread () from /lib/ 
>>> libpthread.so.0
>>>    No symbol table info available.
>>>    #5  0x00007fb418933fcd in clone () from /lib/libc.so.6
>>>    No symbol table info available.
>>>    #6  0x0000000000000000 in ?? ()
>>>    No symbol table info available.
>>>
>>>
>>>    FS svn r14092, gcc-4.3.3, x86_64
>>>
>>>    Any idea what should I add to free up everything after shutdown
>>>    and lets
>>>    start with "blank list"?
>>>
>>>    Thanks in advance,
>>>       Tamas
>>>
>>>
>>>    _______________________________________________
>>>    Freeswitch-dev mailing list
>>>    Freeswitch-dev at lists.freeswitch.org
>>>    <mailto: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
>>>
>>>
>>>
>>>
>>> -- 
>>> Anthony Minessale II
>>>
>>> FreeSWITCH http://www.freeswitch.org/
>>> ClueCon http://www.cluecon.com/
>>>
>>> AIM: anthm
>>> MSN:anthony_minessale at hotmail.com
>>> <mailto:MSN%3Aanthony_minessale at hotmail.com>
>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>> <mailto:PAYPAL%3Aanthony.minessale at gmail.com>
>>> IRC: irc.freenode.net <http://irc.freenode.net> #freeswitch
>>>
>>> FreeSWITCH Developer Conference
>>> sip:888 at conference.freeswitch.org
>>> <mailto:sip%3A888 at conference.freeswitch.org>
>>> iax:guest at conference.freeswitch.org/888
>>> <http://iax:guest@conference.freeswitch.org/888>
>>> googletalk:conf+888 at conference.freeswitch.org
>>> <mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org>
>>> pstn:213-799-1400
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> 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
>   




More information about the Freeswitch-dev mailing list