> I looked at truss output but I don't see anything obvious except at the
> very end:
>
> 1367: sysconfig(_CONFIG_NPROC_CONF) = 1
> 1367: sysconfig(_CONFIG_NPROC_ONLN) = 1
> 1367: sysconfig(_CONFIG_PHYS_PAGES) = 65536
> 1367: open("/dev/zero", O_RDWR) Err#2 ENOENT
When you try to run something in ChRoot jail, you should provide it with the expected
environment. "/dev/zero", "/dev/null" and many others may be needed by your process
and may cause them to crash if they are not there.
> 1367: write(1, " #\n", 2) = 2
> 1367: write(1, " # H o t S p o t V i".., 48) = 48
> 1367: write(1, " # P l e a s e r e p".., 30) = 30
> 1367: write(1, " # h t t p : / / j a v".., 44) = 44
> 1367: write(1, " #\n", 2) = 2
> 1367: write(1, " # J a v a V M : J".., 61) = 61
> 1367: write(1, " #\n", 2) = 2
So far, nothing too obvious...
> 1367: Incurred fault #6, FLTBOUNDS %pc = 0xFE237F3C
> 1367: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000078
> 1367: Received signal #11, SIGSEGV [default]
> 1367: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000078
> 1367: *** process killed ***
>
> It looks like it's trying to convert a floating point exception into a
> segfault.
What makes you say that?
Make /dev/zero available, first.
Nix.