help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] JIT crashes due non-executable memory


From: Holger Hans Peter Freyther
Subject: [Help-smalltalk] JIT crashes due non-executable memory
Date: Tue, 22 Jan 2013 18:26:51 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Dear Paolo,

so I wanted to see when the JIT of GST broke but given the changes in
autoconf/libtool/etc. it is quite difficult to compile stable-2.x on
a halfway modern system.

First of all I compiled gst with --enable-jit and then disabled the
generational gc with --disable-generation-gc. This means a SIGSEGV
will always lead to a crash.

Then I started up gdb on .libs/lt-gst (to not use libtool --mode=...),
used "handle SIGSEGV stop" to be able to inspect the process after the
segfault.

Right now I noticed that it is already crashing in the 'trampoline' (
gst_run_native_code) in the first instection and after inspecting the
/proc/PID/maps it is a non-executable segment of the memory.


gdb output:
Program received signal SIGSEGV, Segmentation fault.
0x080755d0 in ?? ()
(gdb) bt
#0  0x080755d0 in ?? ()
(gdb) disassemble 0x080755d0,+1
Dump of assembler code from 0x80755d0 to 0x80755d1:
=> 0x080755d0:  push   %ebp

$ cat /proc/PID/maps
08075000-08092000 rw-p 00000000 00:00 0          [heap]


So long story short? What kind of allocator would you like to use for
the JITed code and does a newer version of lightning already provide
one?

cheers
        holger

PS: I think the first thing I will do is to implement the GDB jit stubs
to help in debugging the jitted code.

PPS: Do you know if the 'address'.. always true warnings are resolved
in lightning?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]