[ nice-Bugs-1118782 ] java.lang.InternalError with -Xdebug (SourceDebugExtension)
"SourceForge.net" <[email protected]> Sat, 19 Feb 2005 07:18:21 -0800
| Newsgroups | gmane.comp.lang.nice.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #1118782, was opened at 2005-02-08 18:38
Message generated for change (Comment added) made by bonniot
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112788&aid=1118782&group_id=12788
Category: None
Group: None
>Status: Closed
Resolution: Fixed
Priority: 4
Submitted By: Artem Gr Kozarezov (artemgr)
Assigned to: Daniel Bonniot (bonniot)
Summary: java.lang.InternalError with -Xdebug (SourceDebugExtension)
Initial Comment:
JDK 1.4.2 throws java.lang.InternalError when using
both the Nice compiler and the JDK's -Xdebug option.
----------------------------------------------------------------------
>Comment By: Daniel Bonniot (bonniot)
Date: 2005-02-19 16:18
Message:
Logged In: YES
user_id=88952
Arjan and I found ways to make the SourceDebugExtension
attribute much smaller (more than 50% all together). This
means we are now at about 30K for bossa.syntax, and this bug
should not happen anymore, without loosing source line
information. I leave the truncation code in place for bigger
packages. And hopefully Sun will fix the bug for the long term.
----------------------------------------------------------------------
Comment By: Daniel Bonniot (bonniot)
Date: 2005-02-12 15:21
Message:
Logged In: YES
user_id=88952
There is no public report ID at the moment, because there is
first internal processing by Sun. They claim the response
time is about 3 weeks.
Even if we had an option to disable generating
SourceDebugExtension, we would still need the truncating,
because programs generated with it on will mysterisouly fail
otherwise. Since that's the simplest, I just implemented the
truncation in CVS.
----------------------------------------------------------------------
Comment By: Artem Gr Kozarezov (artemgr)
Date: 2005-02-12 08:39
Message:
Logged In: YES
user_id=289741
What is the bug report's ID?
> What about truncating the attribute below 64K?
For me - a simpler option to omit SourceDebugExtension will
suffice.. (As long as I can rebuild Nice with that option
turned on).
----------------------------------------------------------------------
Comment By: Daniel Bonniot (bonniot)
Date: 2005-02-11 15:24
Message:
Logged In: YES
user_id=88952
I submitted a bug report to Sun about this.
We will surely still need a workaround. What about
truncating the attribute below 64K?
----------------------------------------------------------------------
Comment By: Artem Gr Kozarezov (artemgr)
Date: 2005-02-08 18:43
Message:
Logged In: YES
user_id=289741
Obtained /tmp/INTERNAL_ERROR size is 81 596.
Contents obtained at the beginning of the file:
SMAP
bossa.syntax.fun
Default
*S Default
*F
1 userOperator.nice
2 symbol.nice
3 userOperator.nice
4 symbol.nice
5 userOperator.nice
6 symbol.nice
7 userOperator.nice
8 symbol.nice
9 userOperator.nice
10 symbol.nice
11 typedef.nice
12 typedef.nice
13 typedef.nice
14 typedef.nice
15 typedef.nice
At the end of the file:
43#2364,1:20661
75#2365,616:20662
38#2366,60:21278
43#2367,1:21338
102#2368,10:21339
164#2369,1:21349
163#2370,1:21350
45#2371,5:21351
43#2372,1:21356
52#2373,1:21357
43#2374,1:21358
32#2375,4:21359
43#2376,1:21363
38#2377,3:21364
*E
----------------------------------------------------------------------
Comment By: Artem Gr Kozarezov (artemgr)
Date: 2005-02-08 18:42
Message:
Logged In: YES
user_id=289741
A patch used to debug the error:
---
/home/artem/delme/hotspot/src/share/vm/oops/symbolKlass.cpp
Thu Sep 11 05:41:42 2003
+++
/usr/ports/java/jdk14/work/hotspot/src/share/vm/oops/symbolKlass.cpp
Tue Feb 8 18:25:55 2005
@@ -8,10 +8,14 @@
# include "incls/_precompiled.incl"
# include "incls/_symbolKlass.cpp.incl"
+#include <cstdio>
symbolOop symbolKlass::allocate_symbol(u1* name, int len,
TRAPS) {
// Don't allow symbol oops to be created which cannot fit
in a symbolOop.
if (len > symbolOopDesc::max_length()) {
+ std::FILE* file = std::fopen( "/tmp/INTERNAL_ERROR", "w" );
+ std::fwrite( name, len, 1, file );
+ std::fclose( file );
THROW_MSG_0(vmSymbols::java_lang_InternalError(),
"name is too long to represent");
}
----------------------------------------------------------------------
Comment By: Artem Gr Kozarezov (artemgr)
Date: 2005-02-08 18:41
Message:
Logged In: YES
user_id=289741
The code failing:
hotspot/src/share/vm/oops/symbolKlass.cpp
symbolOop symbolKlass::allocate_symbol(u1* name, int len,
TRAPS) {
// Don't allow symbol oops to be created which cannot fit
in a symbolOop.
if (len > symbolOopDesc::max_length()) {
THROW_MSG_0(vmSymbols::java_lang_InternalError(),
"name is too long to represent");
}
...
----------------------------------------------------------------------
Comment By: Artem Gr Kozarezov (artemgr)
Date: 2005-02-08 18:39
Message:
Logged In: YES
user_id=289741
The stack trace:
An exception has occured in the compiler
Please fill-in a bug report at the following webpage:
http://sourceforge.net/tracker/?func=add&group_id=12788&atid=112788
Stack trace:
Exception in thread "PoolThread-3" java.lang.InternalError:
name is too long to represent
at java.lang.ClassLoader.defineClass0(ClassLoader.java)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at
java.security.AccessController.doPrivileged(AccessController.java)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at bossa.syntax.dispatch.resetAlternatives(dispatch.nice)
at bossa.modules.Package.startNewCompilation(Package.java:290)
at bossa.modules.fun.setMainPackage(Compilation.nice:78)
at bossa.modules.Compilation.setMainPackage(Compilation.nice)
at nice.tools.compiler.fun.compile(interface.nice:37)
at bossa.modules.Compilation.compile(Compilation.nice)
at ru.glim.nicetee.fun.compile(tee.nice:290)
at ru.glim.nicetee.Compiler.compile(tee.nice)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112788&aid=1118782&group_id=12788
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click