[Bug libgcj/12001] New: _Jv_FindClass dumps core when Oracle's classes12.zip in $CLASSPATH
nbryant at allegientsystems dot com
gcc-bugzilla@gcc.gnu.org
Thu Aug 21 01:24:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12001
Summary: _Jv_FindClass dumps core when Oracle's classes12.zip in
$CLASSPATH
Product: gcc
Version: 3.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: nbryant at allegientsystems dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
Java programs are failing before they enter the Java main(). This happens when
the Oracle JDBC driver classes12.zip from Oracle 8.1.7.4 is on the classpath,
does not happen when it's not on the classpath. This file looks like:
-r--r--r-- 1 nbryant nbryant 1985518 Jul 1 13:23 classes12.zip
[nbryant@lasn-001 oracle]$ md5sum classes12.zip
0a67a7a228606070b582e32604405076 classes12.zip
My machine is:
[nbryant@lasn-001 test]$ rpm -q glibc
glibc-2.2.5-43
[nbryant@lasn-001 test]$ rpm -q binutils
binutils-2.11.93.0.2-12
[nbryant@lasn-001 test]$ gcc -v
Reading specs from /usr/local/gcc33/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/specs
Configured with: /home/nbryant/gcc/gcc-3.3.1/configure --prefix=/usr/local/gcc33
--with-system-zlib --enable-__cxa_atexit
Thread model: posix
(gdb) run
Starting program: /home/nbryant/gcc/test/test
[New Thread 1024 (LWP 5845)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 5845)]
0x403c2d58 in _Jv_FindClass(_Jv_Utf8Const*, java::lang::ClassLoader*)
(name=0x84a5410, loader=0x0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClassLoader.cc:488
488 klass = sys->loadClass (sname, false);
Current language: auto; currently c++
(gdb) list
483 _Jv_RegisterInitiatingLoader (klass, loader);
484 }
485 else
486 {
487 // Load using the bootstrap loader jvmspec 5.3.1.
488 klass = sys->loadClass (sname, false);
489
490 // Register that we're an initiating loader.
491 if (klass)
492 _Jv_RegisterInitiatingLoader (klass, 0);
(gdb) print (char*)&(name->data)
$1 = 0x84a5414 "gnu.java.locale.Calendar_en_US"
(gdb) print sys
$7 = (struct ClassLoader *) 0x0
(gdb) disas
[snip]
0x403c2d58 <_Z13_Jv_FindClassP13_Jv_Utf8ConstPN4java4lang11ClassLoaderE+168>:
mov (%edx),%eax
[snip]
(gdb) i r
eax 0x0 0
ecx 0x400 1024
edx 0x0 0
[snip]
Backtrace follows:
#0 0x403c2d58 in _Jv_FindClass(_Jv_Utf8Const*, java::lang::ClassLoader*)
(name=0x84a5410, loader=0x0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClassLoader.cc:488
#1 0x403bf0dd in java::lang::Class::forName(java::lang::String*, bool,
java::lang::ClassLoader*) (className=0x84bbbc0, initialize=1 '\001', loader=0x0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:78
#2 0x403bf1fa in java::lang::Class::forName(java::lang::String*)
(className=0x0) at /home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:110
#3 0x4042ab0b in java.util.ResourceBundle.tryBundle(java.lang.String,
java.util.Locale, java.lang.ClassLoader, java.util.ResourceBundle,
java.util.HashMap) (
localizedName=0x84bbbc0, locale=0x809ea80, classloader=0x2,
bundle=0x84bbbe0, cache=0x84bbbb0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/ResourceBundle.java:463
#4 0x4042ad3e in java.util.ResourceBundle.tryLocalBundle(java.lang.String,
java.util.Locale, java.lang.ClassLoader, java.util.ResourceBundle,
java.util.HashMap) (baseName=0x0, locale=0x809eb10, classloader=0x0,
bundle=0x84bbbe0, cache=0x848d898) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/ResourceBundle.java:547
#5 0x4042a730 in java.util.ResourceBundle.getBundle(java.lang.String,
java.util.Locale, java.lang.ClassLoader) (baseName=0x845e100, locale=0x809eb10,
classLoader=0x0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/ResourceBundle.java:372
#6 0x4042a4fd in java.util.ResourceBundle.getBundle(java.lang.String,
java.util.Locale) (baseName=0x0, locale=0x0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/ResourceBundle.java:244
#7 0x40410805 in java.util.Calendar.getInstance(java.util.TimeZone,
java.util.Locale) (zone=0x84b05a0, locale=0x809eb10)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/Calendar.java:433
#8 0x40410665 in java.util.Calendar.getInstance() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/Calendar.java:401
#9 0x404d4285 in java.util.zip.ZipEntry.getCalendar() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/zip/ZipEntry.java:218
#10 0x404d3f5b in java.util.zip.ZipEntry.setTime(long) (this=0x8484f00,
time=1020382216) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/zip/ZipEntry.java:167
#11 0x404d4722 in java.util.zip.ZipEntry.setExtra(byte[]) (this=0x8484f00,
extra=0x848d8c0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/zip/ZipEntry.java:344
#12 0x404d5633 in java.util.zip.ZipFile.readEntries() (this=0x80a0ba0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/zip/ZipFile.java:278
#13 0x404d5979 in java.util.zip.ZipFile.getEntries() (this=0x80a0ba0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/zip/ZipFile.java:345
#14 0x404d5a52 in java.util.zip.ZipFile.getEntry(java.lang.String) (this=0x0,
name=0x0) at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/zip/ZipFile.java:362
#15 0x404cffdf in java.util.jar.JarFile.readManifest() (this=0x80a0ba0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/util/jar/JarFile.java:210
#16 0x404cfe70 in java.util.jar.JarFile.JarFile(java.lang.String, boolean)
(this=0x80a0ba0, fileName=0x0, verify=true)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/jar/JarFile.java:114
#17 0x404cfe0b in java.util.jar.JarFile.JarFile(java.lang.String) (this=0x0,
fileName=0x0) at /home/nbryant/gcc/gcc-3.3.1/libjava/java/util/jar/JarFile.java:92
#18 0x4043de50 in gnu.gcj.protocol.jar.Connection.getJarFile() (this=0x84996b0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/gnu/gcj/protocol/jar/Connection.java:66
#19 0x404a7741 in
java.net.URLClassLoader$JarURLLoader.URLClassLoader$JarURLLoader(java.net.URLClassLoader,
java.net.URL) (this=0x809ed08,
classloader=0x80b7fc0, baseURL=0x80a0ba0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/net/URLClassLoader.java:240
#20 0x404a7e62 in java.net.URLClassLoader.addURL(java.net.URL) (this=0x80b7fc0,
newUrl=0x8096d70)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/net/URLClassLoader.java:760
#21 0x404a7edf in java.net.URLClassLoader.addURLs(java.net.URL[])
(this=0x80b7fc0, newUrls=0x8096eb0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/net/URLClassLoader.java:780
#22 0x404a7a67 in java.net.URLClassLoader.URLClassLoader(java.net.URL[])
(this=0x80b7fc0, urls=0x0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/net/URLClassLoader.java:658
#23 0x40440298 in gnu.gcj.runtime.VMClassLoader.VMClassLoader() (this=0x0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/gnu/gcj/runtime/VMClassLoader.java:20
#24 0x404405d7 in gnu.gcj.runtime.VMClassLoader.<clinit>() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/gnu/gcj/runtime/VMClassLoader.java:71
#25 0x403c0849 in java::lang::Class::initializeClass() (this=0x40698280) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:814
#26 0x4056b6dc in _Jv_InitClass (klass=0x0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Class.h:265
#27 0x403d7278 in java.lang.ClassLoader.getSystemClassLoader() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/ClassLoader.java:203
#28 0x403bf255 in java::lang::Class::getClassLoader() (this=0x0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:134
#29 0x403bf1d7 in java::lang::Class::forName(java::lang::String*)
(className=0x0) at /home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:104
#30 0x4038918a in gnu.gcj.convert.UnicodeToBytes.getDefaultEncoder() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/gnu/gcj/convert/UnicodeToBytes.java:49
#31 0x404005dc in java.io.PrintStream.PrintStream(java.io.OutputStream, boolean)
(this=0x80b7fc0, out=0x0)
at /home/nbryant/gcc/gcc-3.3.1/libjava/java/io/PrintStream.java:241
#32 0x403e699e in java.lang.System.<clinit>() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/System.java:135
#33 0x403c0849 in java::lang::Class::initializeClass() (this=0x40679d80) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:814
#34 0x4056b6dc in _Jv_InitClass (klass=0x0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Class.h:265
#35 0x403e6278 in java.lang.System.getProperty(java.lang.String) (key=0x1) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/System.java:393
#36 0x403e9602 in java.lang.Throwable.<clinit>() () at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Throwable.java:403
#37 0x403c0849 in java::lang::Class::initializeClass() (this=0x40679d80) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/natClass.cc:814
#38 0x403c0885 in java::lang::Class::initializeClass() (this=0x40679d80) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Class.h:265
#39 0x403c0885 in java::lang::Class::initializeClass() (this=0x40679d80) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Class.h:265
#40 0x403c0885 in java::lang::Class::initializeClass() (this=0x40679d80) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Class.h:265
#41 0x403a0901 in _Jv_AllocObjectNoFinalizer (klass=0x40679d80, size=20) at
/home/nbryant/gcc/gcc-3.3.1/libjava/java/lang/Class.h:265
#42 0x403a093c in _Jv_AllocObject (klass=0x1, size=0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/prims.cc:415
#43 0x403a17d3 in _Jv_CreateJavaVM(void*) () at
/home/nbryant/gcc/gcc-3.3.1/libjava/prims.cc:921
#44 0x403a19bf in _Jv_RunMain(java::lang::Class*, char const*, int, char
const**, bool) (klass=0x8049a20, name=0x0, argc=1, argv=0xbfffde94, is_jar=false)
at /home/nbryant/gcc/gcc-3.3.1/libjava/prims.cc:973
#45 0x403a1b7d in JvRunMain (klass=0x0, argc=0, argv=0x0) at
/home/nbryant/gcc/gcc-3.3.1/libjava/prims.cc:1011
#46 0x08048894 in main ()
#47 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6
More information about the Gcc-bugs
mailing list