[Bug libgcj/50831] New: [4.7 regression] SIGSEGV in link.cc:1904

jojelino at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Oct 22 15:13:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50831

             Bug #: 50831
           Summary: [4.7 regression] SIGSEGV in link.cc:1904
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jojelino@gmail.com
              Host: i686-pc-cygwin
            Target: i686-pc-mingw32
             Build: i686-pc-cygwin


Running gcj-dbtool or gjar or any executable compiled with GCJ tag sigsegvs

/bin/sh ./libtool --tag=GCJ  --mode=link /tmp/gcc/host-i686-pc-cygwin/gcc/gcj
-B/tmp/gcc/i686-pc-mingw32/libjava/ -B/tmp/gcc/host-i686-pc-cygwin/gcc/
-L/tmp/gcc/i686-pc-mingw32/winsup/mingw
-L/tmp/gcc/i686-pc-mingw32/winsup/w32api/lib -isystem
/tmp/gcc/winsup/mingw/include -isystem /tmp/gcc/winsup/w32api/include
-B/usr/i686-pc-mingw32/bin/ -B/usr/i686-pc-mingw32/lib/ -isystem
/usr/i686-pc-mingw32/include -isystem /usr/i686-pc-mingw32/sys-include
--sysroot=/usr/i686-pc-mingw32/sys-root   -L/tmp/gcc/i686-pc-mingw32/libjava
-ffloat-store -fomit-frame-pointer -Usun -fno-omit-frame-pointer -g -O2  -o
gcj-dbtool.exe --main=gnu.gcj.tools.gcj_dbtool.Main -rpath
/usr/i686-pc-mingw32/lib -shared-libgcc   gnu/gcj/tools/gcj_dbtool/natMain.o
gnu/gcj/tools/gcj_dbtool.lo -L/tmp/gcc/i686-pc-mingw32/libjava/.libs libgcj.la
gdb --args .libs/gcj-dbtool.exe
(gdb) p klass->engine
$14 = (_Jv_ExecutionEngine *) 0x0
(gdb) p *klass
$15 = (java::lang::Class) {
  <java::lang::Object> = {<No data fields>},
  members of java::lang::Class:
  static class$ = {
    <java::lang::Object> = {<No data fields>},
    members of java::lang::Class:
    static class$ = <same as static member of an already seen type>,
    next_or_version = 0x0,
    name = 0x6a04c874,
    accflags = 0x31,
    superclass = 0x69d57180,
    constants = {
      size = 0x25,
      tags = 0x69d57620 "",
      data = 0x69d57580
    },
    {
      methods = 0x69d57660,
      element_type = 0x69d57660
    },
    method_count = 0x52,
    vtable_method_count = 0x41,
    fields = 0x0,
---Type <return> to continue, or q <return> to quit---
    size_in_bytes = 0x90,
    field_count = 0x0,
    static_field_count = 0x0,
    vtable = 0x69d57468,
    otable = 0x0,
    otable_syms = 0x0,
    atable = 0x0,
    atable_syms = 0x0,
    itable = 0x0,
    itable_syms = 0x0,
    catch_classes = 0x69d57cc8,
    interfaces = 0x69d57ce0,
    loader = 0x0,
    interface_count = 0x4,
    state = 0xe,
    thread = 0x1,
    depth = 0x1,
    ancestors = 0xa64ff0,
    {
      idt = 0xa68fc8,
      ioffsets = 0xa68fc8
    },
    arrayclass = 0xa6ced8,
---Type <return> to continue, or q <return> to quit---
    protectionDomain = 0x0,
    assertion_table = 0x0,
    hack_signers = 0x0,
    chain = 0x69e6c120,
    aux_info = 0x0,
    engine = 0x6a3a95c0,
    reflection_data = 0x6a04c8a0 "\001"
  },
  next_or_version = 0x400635d8,
  name = 0x4060bc,
  accflags = 0x21,
  superclass = 0x69d57180,
  constants = {
    size = 0x32,
    tags = 0x405420 "",
    data = 0x4052c0
  },
  {
    methods = 0x405460,
    element_type = 0x405460
  },
  method_count = 0xa,
  vtable_method_count = 0x6,
---Type <return> to continue, or q <return> to quit---
  fields = 0x405528,
  size_in_bytes = 0x4,
  field_count = 0x1,
  static_field_count = 0x1,
  vtable = 0x4051a8,
  otable = 0x0,
  otable_syms = 0x0,
  atable = 0x0,
  atable_syms = 0x0,
  itable = 0x0,
  itable_syms = 0x0,
  catch_classes = 0x405538,
  interfaces = 0x0,
  loader = 0x0,
  interface_count = 0x0,
  state = 0x1,
  thread = 0x0,
  depth = 0x0,
  ancestors = 0x0,
  {
    idt = 0x0,
    ioffsets = 0x0
  },
---Type <return> to continue, or q <return> to quit---
  arrayclass = 0x0,
  protectionDomain = 0x0,
  assertion_table = 0x0,
  hack_signers = 0x0,
  chain = 0x0,
  aux_info = 0x0,
  engine = 0x0,
  reflection_data = 0x4060de ""
}

why do we have two engine field?



More information about the Gcc-bugs mailing list