[Ecls-list] cl_boot() segfaults when called not in the main thread

Kamil Shakirov kamils80 at gmail.com
Tue Jul 14 09:33:18 UTC 2009


Hi,

Is that possible to boot/use embedded ECL not in the main thread? My
application uses plugins (shared libraries) that are loaded on demand.
Each plugin starts its own thread to serve requests from the main
application. cl_boot() segfaults when called from the created plugin's
thread (there is only one plugin that uses ECL).

Tested with CVS HEAD (built with --enable-threads). Here is the
backtrace:

#0  GC_push_all_eager (bottom=0xb6a0a0b4 "�W����E/������p\226׿\003",
top=0xbfd79670 "\005") at /home/kamil/temp/ecl/src/gc/mark.c:1492
#1  0xb7b8b044 in GC_push_all_stack (bottom=0xb6a0a0b4 "�W����E/������p
\226׿\003", top=0xbfd79670 "\005")
at /home/kamil/temp/ecl/src/gc/mark.c:1542
#2  0xb7b92f45 in GC_push_all_stacks ()
at /home/kamil/temp/ecl/src/gc/pthread_stop_world.c:301
#3  0xb7b8f4a7 in GC_default_push_other_roots ()
at /home/kamil/temp/ecl/src/gc/os_dep.c:2258
#4  0xb7b8cdb1 in GC_push_roots (all=1, cold_gc_frame=0xb6a0a194 "")
at /home/kamil/temp/ecl/src/gc/mark_rts.c:615
#5  0xb7b8c69c in GC_mark_some (cold_gc_frame=0xb6a0a194 "")
at /home/kamil/temp/ecl/src/gc/mark.c:349
#6  0xb7b85e9d in GC_stopped_mark (stop_func=0xb7b85240
<GC_never_stop_func>) at /home/kamil/temp/ecl/src/gc/alloc.c:504
#7  0xb7b86119 in GC_try_to_collect_inner (stop_func=0xb7b85240
<GC_never_stop_func>) at /home/kamil/temp/ecl/src/gc/alloc.c:362
#8  0xb7b8e3d9 in GC_init_inner ()
at /home/kamil/temp/ecl/src/gc/misc.c:735
#9  0xb7b8e507 in GC_init () at /home/kamil/temp/ecl/src/gc/misc.c:412
#10 0xb7b6a4cb in init_alloc ()
at /home/kamil/temp/ecl/src/c/alloc_2.d:348
#11 0xb7a643cd in cl_boot (argc=1, argv=0xb6a0a300)
at /home/kamil/temp/ecl/src/c/main.d:385
#12 0xb7e3c931 in g_ecl_init (script_path=0x8b7d8f0 "../data/scripts/")
at /home/kamil/temp/IVRENG/src/module/eng_ecl/eng_resource.c:300
#13 0xb7e3c062 in g_task_on_pre_run (task=0x8b7d848)
at /home/kamil/temp/IVRENG/src/module/eng_ecl/eng_resource.c:37
#14 0xb7eab76e in g_task_run (thread_handle=0x8b7d908, data=0x8b7d848)
at /home/kamil/temp/IVRENG/src/apk/apk_task.c:407

-- 
--wbr.





More information about the ecl-devel mailing list