#581: make segfaults with PGE.pbc on fedora (r38365)
--------------------+-------------------------------------------------------
Reporter: Lu. | Owner: Infinoid
Type: bug | Status: new
Priority: normal | Milestone:
Component: core | Version:
Severity: medium | Keywords:
Lang: | Patch:
Platform: linux |
--------------------+-------------------------------------------------------
Comment(by Infinoid):
Replying to [comment:9 doughera]:
> Replying to [comment:6 Lu.]:
>
> >Yet I noticed something strange in the Configure output :
> {{{
> > auto::jit - Determine JIT capability...p = 0x86d1000
PAGE_SIZE = 4096 (0x1000)
> > failure: Permission denied
> > .........................yes.
> }}}
>
> This is a bug in the JIT detection. Clearly something is reporting a
failure somewhere, yet it's still reporting 'yes'. I think the short-term
fix would be to alter the jit test so that it detected this situation and
automatically set jitcapable=0.
I've done a little digging on this. I think there's some confusion caused
by the fact that the auto::jit step contains checks for both JIT and other
exec-related things.
The above error message is emitted by
config/auto/jit/test_exec_linux_c.in. Failure of that test means "yes,
this machine has exec protection" and causes PARROT_HAS_EXEC_PROTECT to be
defined.
It is not taken as failure of the JIT engine. In fact, there is no active
runtime testing of whether JIT works at all; there are just some lookup
tables defining which arch/OS are supposed to have working JIT. I'm
working on getting Santtu's test file into this test, or at least the
subset of it which pertains to our current jit implementation. It could
use a portability review though, it quite obviously won't build on win32
and I'm not sure how many unixes it will run on as-is. It will probably
need OS-specific test files, like the exec test has.
Hmm. The current situation of JIT is, it will use mmap() buffers when
PARROT_HAS_EXEC_PROTECT is set, and will use the heap otherwise. To test
whether jit will work, the test needs to know which style to test. Maybe
those two tests should be merged together.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/581#comment:11>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets