<html><head></head><body>I dont think its related to shared vs static - rather two gc running concurrently. Try commenting out GC_init call in ecl and see what happens.<br>
<br>
Do you need sigchld for anything? Run-program was rewritten and sigchld handling wasnt viable option anymore for it.<br>
<br>
Im on phone, will be avail after the weekend.<br>
<br>
Regards, D.<br><br><div class="gmail_quote">Dnia 1 września 2017 14:47:57 CEST, Dima Pasechnik <dimpase+ecl@gmail.com> napisał(a):<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Hi Daniel,<br />Thanks for the message. The scenario you talk about only happens if GC<br />is a shared library, right?<br /><br />I've rebuilt GC disabling shared libs, and ECL doing static linking to GC.<br />And I still get very similar segfaults:<br /><br />;;; ECL C Backtrace<br />;;; 0 ecl_internal_error (0x87d79b375)<br />;;; 1 init_unixint (0x87d7c17e0)<br />;;; 2 init_unixint (0x87d7c1582)<br />;;; 3 pthread_sigmask (0x80103779d)<br />;;; 4 pthread_getspecific (0x801036d6f)<br />;;; 5 unknown (0x7ffffffff193)<br />;;; 6 GC_push_current_stack (0x87d7ef7c3)<br />;;; 7 GC_with_callee_saves_pushed (0x87d7f7360)<br />;;; 8 GC_push_roots (0x87d7ef9c2)<br />;;; 9 GC_mark_some (0x87d7ec97c)<br />;;; 10 GC_stopped_mark (0x87d7e6b7a)<br />;;; 11 GC_try_to_collect_inner (0x87d7e6a75)<br />;;; 12 GC_init (0x87d7f08ea)<br />;;; 13 init_alloc (0x87d7d5669)<br />;;; 14 cl_boot (0x87d69f66b)<br />...<br /><br />And a very similar picture on the develop branch of ECL - although<br />I had to change our code, as in particular<br />ECL_OPT_TRAP_SIGCHLD is gone...<br /><br />So, what can it be? Some signals issue?<br /><br />Thanks,<br />Dima<br /><br />On Fri, Sep 1, 2017 at 7:38 AM, Daniel Kochmański <daniel@turtleware.eu> wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> Hey Dima,<br /><br /> this looks like the issue with having GC initialized before ECL kicks in.<br /> See <a href="https://gitlab.com/embeddable-common-lisp/ecl/issues/371">https://gitlab.com/embeddable-common-lisp/ecl/issues/371</a> for a<br /> discussion about this problem. Basically some other component already called<br /> GC_init and ECL calls it once more. It's arguably not a bug.<br /><br /> Best regards,<br /><br /> Daniel<br /><br /><br /> On 31.08.2017 15:29, Dima Pasechnik wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"><br /> Dear all,<br /><br /> I'm struggling to understand strange segfaults coming from<br /> ECL(+Maxima) on FreeBSD embedded into Python; they typically look as<br /> follows:<br /><br /> Got signal before environment was installed on our thread<br /> [2: No such file or directory]<br /><br /> ;;; ECL C Backtrace<br /> ;;; 0 ecl_internal_error (0x87d790765)<br /> ;;; 1 init_unixint (0x87d7b6bd0)<br /> ;;; 2 init_unixint (0x87d7b6972)<br /> ;;; 3 pthread_sigmask (0x80103779d)<br /> ;;; 4 pthread_getspecific (0x801036d6f)<br /> ;;; 5 unknown (0x7ffffffff193)<br /> ;;; 6 GC_push_all_stacks (0x87db1ea2c)<br /> ;;; 7 GC_mark_some (0x87db12eec)<br /> ;;; 8 GC_stopped_mark (0x87db09baa)<br /> ;;; 9 GC_try_to_collect_inner (0x87db09a75)<br /> ;;; 10 GC_init (0x87db16f4f)<br /> ;;; 11 init_alloc (0x87d7caa59)<br /> ;;; 12 cl_boot (0x87d694a5b)<br /> ;;; 13 initecl (0x87d218340)<br /> ;;; 14 initecl (0x87d20a43f)<br /> ;;; 15 initecl (0x87d207e28)<br /> ;;; 16 _PyImport_LoadDynamicModule (0x800b3ed1c)<br /> ;;; 17 PyImport_AppendInittab (0x800b3d71f)<br /> ;;; 18 PyImport_AppendInittab (0x800b3d1a8)<br /> ;;; 19 PyImport_ImportModuleLevel (0x800b3c2ce)<br /> ;;; 20 _PyBuiltin_Init (0x800b162d7)<br /> ;;; 21 PyObject_Call (0x800a7d3e3)<br /> ;;; 22 PyEval_EvalFrameEx (0x800b2121c)<br /> ;;; 23 PyEval_EvalCodeEx (0x800b1b5d4)<br /> ;;; 24 PyEval_EvalCode (0x800b1ad96)<br /> ;;; 25 PyImport_ExecCodeModuleEx (0x800b3ad11)<br /> ;;; 26 PyImport_AppendInittab (0x800b3ddb8)<br /> ;;; 27 PyImport_AppendInittab (0x800b3d71f)<br /> ;;; 28 PyImport_AppendInittab (0x800b3d1a8)<br /> ;;; 29 PyImport_ImportModuleLevel (0x800b3c2ce)<br /> ;;; 30 _PyBuiltin_Init (0x800b162d7)<br /> ;;; 31 PyEval_EvalFrameEx (0x800b22dd1)<br /> Segmentation fault (core dumped)<br /><br /> It looks as if ECL (version 16.1.2) is being called before an<br /> initialisation is complete, but it it possible to say more without a<br /> debugger?<br /><br /> More details: is is on FreeBSD 11.0, clang 3.8.0, GC version 7.6.0<br /> with libatomic_ops version 7.4.6.<br /> And only reproducible on FreeBSD.<br /><br /> ECL is built with --disable-threads; GC is built with or without<br /> threads---result is still the same.<br /> (so it's unclear to me where pthread_* calls in the trace<br /> come from).<br /><br /> Thanks,<br /> Dima<br /><br /> PS. the segfault is at the bottom of<br /> <a href="https://trac.sagemath.org/ticket/22679#comment:87">https://trac.sagemath.org/ticket/22679#comment:87</a></blockquote><br /><br /></blockquote></pre></blockquote></div><br>
-- Wysłane za pomocą K-9 Mail.</body></html>