public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/57074] New: gcc-4.8.0 libgcj regression on 32bit Power architecture
@ 2013-04-25 19:46 rsa at us dot ibm.com
  2013-04-30 20:45 ` [Bug libgcj/57074] " dje at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: rsa at us dot ibm.com @ 2013-04-25 19:46 UTC (permalink / raw)
  To: java-prs


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

             Bug #: 57074
           Summary: gcc-4.8.0 libgcj regression on 32bit Power
                    architecture
    Classification: Unclassified
           Product: gcc
           Version: 4.8.1
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: rsa@us.ibm.com


GCC Revision 186687 has been identified as causing a regression in PowerC
32-bit libgcj:

http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=186687

I've verified that this fails with upstream GCC:

ryanarn@bns:~> /home/bergner/gcc/install/gcc-fsf-4_8-java32/bin//gkeytool
-import -alias `basename 99.pem .pem` -keystore cacerts -storepass '' -file
99.pem
Exception in thread "main" java.lang.NoClassDefFoundError:
gnu.classpath.tools.keytool.Main
   at java.lang.Class.initializeClass(libgcj.so.14)
Caused by: java.lang.IllegalMonitorStateException: current thread not owner
   at java.lang.Object.notifyAll(libgcj.so.14)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at java.lang.Class.initializeClass(libgcj.so.14)

If this wasn't failing it would be reporting:

ryanarn@bns:~> ryanarn@bns:~>
/home/bergner/gcc/install/gcc-fsf-4_8-java/bin/gkeytool -import -alias
`basename 99.pem .pem` -keystore cacerts -storepass '' -file 99.pem
keytool error: java.security.InvalidParameterException: File object [99.pem]
MUST be an existing readable file
/home/bergner/gcc/install/gcc-fsf-4_8-java/bin/gkeytool -import -alias
`basename 99.pem .pem` -keystore cacerts -storepass '' -file 99.pem
keytool error: java.security.InvalidParameterException: File object [99.pem]
MUST be an existing readable file

I'm able to trap on the catch, but trying to capture the throw or identify the
state of the GCJ locking mechanisms when the problem happens has proven
problematic.  Turning on logging and lock debugging might help, but there's a
lot going on in the state initialization.  Here's a back trace:

Breakpoint 8, _Jv_Linker::wait_for_state (klass=klass@entry=0x10020018
<gnu::classpath::tools::keytool::Main::class$>, 
    state=state@entry=9) at ../../../libjava/link.cc:2086
2086        throw exc;
$8 = "In the wait_for_state catch."
klass: 0x10020018
(gdb) bt
#0  _Jv_Linker::wait_for_state (klass=klass@entry=0x10020018
<gnu::classpath::tools::keytool::Main::class$>, state=state@entry=9)
    at ../../../libjava/link.cc:2086
#1  0x0e2c2aec in java::lang::Class::initializeClass (this=0x10020018
<gnu::classpath::tools::keytool::Main::class$>)
    at ../../../libjava/java/lang/natClass.cc:728
#2  0x0e2c39b4 in _Jv_InitClass (klass=<optimized out>) at
../../../libjava/java/lang/Class.h:742
#3  0x0fe3eabc in gnu.classpath.tools.keytool.Main.main(java.lang.String[])void
(args=@f7d4ad50)
    at
../../../../../libjava/classpath/tools/gnu/classpath/tools/keytool/Main.java:137
#4  0x0e2b63c0 in gnu::java::lang::MainThread::call_main
(this=this@entry=0xf7ce7f60)
    at ../../../libjava/gnu/java/lang/natMainThread.cc:54
#5  0x0e33f3dc in gnu.java.lang.MainThread.run()void (this=@f7ce7f60)
    at
/usr/src/debug/gcc-4.8.0-20130412/libjava/gnu/java/lang/MainThread.java:106
#6  0x0e2cce88 in _Jv_ThreadRun (thread=0xf7ce7f60) at
../../../libjava/java/lang/natThread.cc:335
#7  0x0e26e6fc in _Jv_RunMain (vm_args=vm_args@entry=0x0, klass=<optimized
out>, name=name@entry=0x0, argc=<optimized out>, 
    argv=<optimized out>, is_jar=<optimized out>) at
../../../libjava/prims.cc:1790
#8  0x0e26e944 in _Jv_RunMain (klass=<optimized out>, name=name@entry=0x0,
argc=<optimized out>, argv=<optimized out>, 
    is_jar=is_jar@entry=false) at ../../../libjava/prims.cc:1815
#9  0x0e26e9a0 in JvRunMain (klass=<optimized out>, argc=<optimized out>,
argv=<optimized out>) at ../../../libjava/prims.cc:1821
#10 0x0d1c17f4 in generic_start_main (main=0x100004c0 <main>, argc=10,
ubp_av=0xfffef6f4, auxvec=0xfffef774, init=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=<optimized out>, fini=<optimized out>)
at ../csu/libc-start.c:258
#11 0x0d1c1990 in __libc_start_main (argc=<optimized out>, ubp_av=<optimized
out>, ubp_ev=<optimized out>, auxvec=<optimized out>, 
    rtld_fini=<optimized out>, stinfo=<optimized out>,
stack_on_entry=<optimized out>)
    at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:91
#12 0x00000000 in ?? ()


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-05-06 15:21 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-25 19:46 [Bug libgcj/57074] New: gcc-4.8.0 libgcj regression on 32bit Power architecture rsa at us dot ibm.com
2013-04-30 20:45 ` [Bug libgcj/57074] " dje at gcc dot gnu.org
2013-05-02  8:18 ` amodra at gmail dot com
2013-05-02  8:54 ` amodra at gmail dot com
2013-05-02 11:35 ` amodra at gmail dot com
2013-05-02 14:02 ` amodra at gmail dot com
2013-05-02 14:25 ` schwab@linux-m68k.org
2013-05-02 15:17 ` jakub at gcc dot gnu.org
2013-05-02 18:21 ` jakub at gcc dot gnu.org
2013-05-02 23:04 ` amodra at gmail dot com
2013-05-03 10:42 ` amodra at gmail dot com
2013-05-03 15:05 ` jakub at gcc dot gnu.org
2013-05-04  1:21 ` amodra at gmail dot com
2013-05-06 15:21 ` [Bug libgcj/57074] [4.8/4.9 Regression] " jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).