[Freeswitch-dev] crash running the core twice in one process
Mathieu Rene
mrene_lists at avgs.ca
Thu Jul 2 07:49:36 PDT 2009
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
More information about the Freeswitch-dev
mailing list