[OpenBSD] staticperl dying unexpectedly with Coro/jit...
Marc Lehmann
schmorp at schmorp.de
Fri Oct 21 10:24:12 CEST 2016
Hi!
On Thu, Oct 20, 2016 at 10:18:03PM +0200, nomad at null.net wrote:
> The exit code reported by bash is 141. /usr/include/sysexit.h has:
>
> And 141-64 = 77:
>
> #define EX_NOPERM 77 /* permission denied */
>
> [I'm not entirely sure I've got that reasoning right though]
These EX_ codes really are the exit codes, so EX_NOPERM would be exit code
77. 141 probably means "killed by signal 141 - 128 = 13" ... I assume
signal 13 is ABRT because of this:
> staticperl perl -MCoro -E 'warn Coro->VERSION'
> Abort trap (core dumped) # but it is version 6.511
What's the significance of your comment "but it is version 6.511", simply
that it is the latest?
> Any ideas on how I can debug this further?
Yes, make sure everything is compiled with debug info (it might already be),
then create a coredump and make a backtrace. Alternatively, run it under a
debugger (e.g. gdb) and see till it crashes and make a backtrace, or even set
a breakpoint in the abort function and see if it is reached. I assume you
already know how to do this, if not, I will happily explain in more detail :)
If the abort happens in Coro then it is probably part of an assert -
seeing which assert fails would be useful (a shame that openbsd apparently
doesn't print this info on it's own as other systems do).
Furthermore, you write you think it might have sth. to do with the jit
compiler - have you verified this by disabling and and seeing if it goes
away?
If it is indeed the jit compiler, and an assert triggers it, then this is
likely an openbsd bug (probably in a misguided attempt to make the system
more secure by now allowing dynamic code generation) - nasmely if it
triggers an assert in jit_init.
If that is the case, you either have to look into somehow allowing jit code
generation ih openbsd, or simply use Coro without jit, which should work
fine.
In any case, it would crash with or without staticperl then - if your OS
has a coro package, maybe you need to look into that to see if any local
patches are applied (e.g. to disable the jit).
And lastly, it could be any other of other things, but this is the most
likely candidate, and further research will be needed.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the anyevent
mailing list