This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug java/41375] New: Compiling native executable without -findirect-dispatch causes random SEGVs


I have a simple Java class that doesn't directly depend on anything except for
java.lang.String, java.lang.reflect.Class and java.lang.reflect.Method.

It loads other classes (from jars in my case) by name and invoked them through
Class.forName()/Method.invoke() mechanism.

But it only works when -findirect-dispatch is specified. Without
-findirect-dispatch it crashes shortly into the run with the stack below.

-findirect-dispatch should only impact the way how currently compiled unit
links to other units. In case of the programs like mine (not dependent on
anything else directly) -findirect-dispatch should have no impact at all. It
should resolve classes and run them the same way, since in this scenario it's
clear what should be done to load other classes.

--- stack (debug info is not everywhere) ---
0x35ec31a7 in __error () from /lib/libthr.so.3
#1  0x35ec2d88 in __error () from /lib/libthr.so.3
#2  0x36005860 in ?? ()
#3  0x00000008 in ?? ()
#4  0x00000001 in ?? ()
#5  0x36005840 in ?? ()
#6  0x00000000 in ?? ()
#7  0x00000001 in ?? ()
#8  0x33c718d4 in ?? () from /libexec/ld-elf.so.1
#9  0x35ec16df in pthread_setcancelstate () from /lib/libthr.so.3
#10 0x35ec0f7d in pthread_cond_signal () from /lib/libthr.so.3
#11 0x347e57e8 in _Jv_CondWait (cv=0x35e5b78c, mu=0x35e5b780, millis=0,
nanos=0) at ../../../gcc-4.4.1/libjava/posix-threads.cc:212
#12 0x8c347cb0 in ?? ()
#13 0x35e5b78c in _ZL5mutex () from /usr/local/gcc/4.4.1-java/lib/libgcj.so.10
#14 0x35e5b780 in E () from /usr/local/gcc/4.4.1-java/lib/libgcj.so.10
#15 0x00000000 in ?? ()
#16 0x00000000 in ?? ()
#17 0x00000000 in ?? ()
#18 0x00000001 in ?? ()
#19 0x33c4e998 in dladdr () from /libexec/ld-elf.so.1


-- 
           Summary: Compiling native executable without -findirect-dispatch
                    causes random SEGVs
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: yuri at tsoft dot com


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


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