"Got signal before environment was installed on our thread"
Daniel KochmaĆski
daniel at turtleware.eu
Fri Sep 1 06:38:05 UTC 2017
Hey Dima,
this looks like the issue with having GC initialized before ECL kicks
in. See https://gitlab.com/embeddable-common-lisp/ecl/issues/371 for a
discussion about this problem. Basically some other component already
called GC_init and ECL calls it once more. It's arguably not a bug.
Best regards,
Daniel
On 31.08.2017 15:29, Dima Pasechnik wrote:
> Dear all,
>
> I'm struggling to understand strange segfaults coming from
> ECL(+Maxima) on FreeBSD embedded into Python; they typically look as
> follows:
>
> Got signal before environment was installed on our thread
> [2: No such file or directory]
>
> ;;; ECL C Backtrace
> ;;; 0 ecl_internal_error (0x87d790765)
> ;;; 1 init_unixint (0x87d7b6bd0)
> ;;; 2 init_unixint (0x87d7b6972)
> ;;; 3 pthread_sigmask (0x80103779d)
> ;;; 4 pthread_getspecific (0x801036d6f)
> ;;; 5 unknown (0x7ffffffff193)
> ;;; 6 GC_push_all_stacks (0x87db1ea2c)
> ;;; 7 GC_mark_some (0x87db12eec)
> ;;; 8 GC_stopped_mark (0x87db09baa)
> ;;; 9 GC_try_to_collect_inner (0x87db09a75)
> ;;; 10 GC_init (0x87db16f4f)
> ;;; 11 init_alloc (0x87d7caa59)
> ;;; 12 cl_boot (0x87d694a5b)
> ;;; 13 initecl (0x87d218340)
> ;;; 14 initecl (0x87d20a43f)
> ;;; 15 initecl (0x87d207e28)
> ;;; 16 _PyImport_LoadDynamicModule (0x800b3ed1c)
> ;;; 17 PyImport_AppendInittab (0x800b3d71f)
> ;;; 18 PyImport_AppendInittab (0x800b3d1a8)
> ;;; 19 PyImport_ImportModuleLevel (0x800b3c2ce)
> ;;; 20 _PyBuiltin_Init (0x800b162d7)
> ;;; 21 PyObject_Call (0x800a7d3e3)
> ;;; 22 PyEval_EvalFrameEx (0x800b2121c)
> ;;; 23 PyEval_EvalCodeEx (0x800b1b5d4)
> ;;; 24 PyEval_EvalCode (0x800b1ad96)
> ;;; 25 PyImport_ExecCodeModuleEx (0x800b3ad11)
> ;;; 26 PyImport_AppendInittab (0x800b3ddb8)
> ;;; 27 PyImport_AppendInittab (0x800b3d71f)
> ;;; 28 PyImport_AppendInittab (0x800b3d1a8)
> ;;; 29 PyImport_ImportModuleLevel (0x800b3c2ce)
> ;;; 30 _PyBuiltin_Init (0x800b162d7)
> ;;; 31 PyEval_EvalFrameEx (0x800b22dd1)
> Segmentation fault (core dumped)
>
> It looks as if ECL (version 16.1.2) is being called before an
> initialisation is complete, but it it possible to say more without a
> debugger?
>
> More details: is is on FreeBSD 11.0, clang 3.8.0, GC version 7.6.0
> with libatomic_ops version 7.4.6.
> And only reproducible on FreeBSD.
>
> ECL is built with --disable-threads; GC is built with or without
> threads---result is still the same.
> (so it's unclear to me where pthread_* calls in the trace
> come from).
>
> Thanks,
> Dima
>
> PS. the segfault is at the bottom of
> https://trac.sagemath.org/ticket/22679#comment:87
>
More information about the ecl-devel
mailing list