This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Freeze in GC_suspend_handler


Hi,

I finally managed to compile libgcj without optimization (I thought setting CFLAGS, CXXFLAGS and BOOT_CFLAGS in the environment would do, but I had to modify a Makefile.in, is this normal? Maybe this should be documented. Or is it?).

Here is the debugging info:

Boehm, Hans wrote:


What's field -> u.addr or *field when the dereference segfaults?  Can you get gdb to print that?

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 18689)]
0x404056ba in _Jv_MarkObj (addr=0x86c1310, msp=0x827d3a8, msl=0x8285000)
   at ../../../gcc/libjava/boehm.cc:193
193                       jobject val = *(jobject*) field->u.addr;
Current language:  auto; currently c++
(gdb) info locals
val = (class Object *) 0x82206f0
field = (_Jv_Field *) 0x880df10
i = 1
c = (class Class *) 0x86c1310
mark_stack_ptr = (GC_ms_entry *) 0x827d3a8
mark_stack_limit = (GC_ms_entry *) 0x8285000
obj = (Object *) 0x86c1310
dt = (_Jv_VTable *) 0x404ff408
klass = (Class *) 0x8269ee0
p = 0x0

(gdb) print *field
$1 = {name = 0x8294e40, type = 0x826a640, flags = 8, bsize = 0, u = {
   boffset = 0, addr = 0x0}}




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]