| Summary: | Diablo jvm bytecode issue | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Victor Igumnov <victori> |
| Component: | java | Assignee: | freebsd-java (Nobody) <java> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
I actually get a completely different reaction, not a ParseException:
/usr/ports/java/jdk15/work/control/build/bsd-i586/bin/java Test
Exception in thread "main" java.lang.NoClassDefFoundError: UnhappyClass
at Test.main(Test.java:5)
To make matters weirder, if I call my file on FreeBSD Test.java, the same
thing happens.
But if I call my file test.java (all lowercase), which produces a class
called test.class it works.
If I call my test file FooBar.java, or TesT.java that is fine as well. It
looks like "Test" with no package name is a name you cannot use with
diablo JDK. That's a different bug entirely.
Incidentally, if I call the class "FooBar" and compile on Windows and run
it on FreeBSD, that also works fine. It prints $1.99, just as it should.
The same is true for code compiled on Linux. And Solaris. I cannot
reproduce this problem using the Diablo JDK built out of ports as of
January 28, 2007.
Nick
On Thu, 15 Mar 2007, victori@salesdepotinc.com wrote:
> Anonuser has posted on my behalf, seems like this issue with NumberFormat is
> at the bytecode level
>
> Here is an example testcase:
>
> import java.text.*;
>
> public class Test {
> public static void main(String[] args) {
> try {
> System.out.println(NumberFormat.getCurrencyInstance().parse("$1.99").doubleValue());
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
>
> Save as Test.java ; compile under the SUN JVM: javac Test.java
>
>
> Run the class under the Diablo jvm and you will receive
>
> -bash-2.05b$ java Test
> java.text.ParseException: Unparseable number: "$1.99"
> at java.text.NumberFormat.parse(NumberFormat.java:309)
> at Test.main(Test.java:6)
>
> And when I run it with the SUN JDK
>
> absolute# /usr/local/linux-sun-jdk1.5.0/bin/java Test
> 1.99
>
>
> Works correctly.
>
>
> _______________________________________________
> freebsd-java@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org"
>
--
"Humans are a dangerously insane and very sick species."
-- Eckhart Tolle
This message has been brought to you by Nick Johnson 2.2 and the number 6.
http://healerNick.com/ http://morons.org/ http://spatula.net/
State Changed From-To: open->closed Not a JVM issue, a locale issue, as discussed on freebsd-java. |
I tried to submit this in 10 different ways, all being rejected by the freebsd mailing server. Three different email addresses, all being rejected. Reverse DNS is working yet for some reason it rejected all three. So here is the report. Bytecode incompatability with the sun classes in Diablo JVM 1. It seems like this issue is with NumberFormat at the bytecode level 2. 3. Here is an example testcase: 4. 5. import java.text.*; 6. 7. public class Test { 8. public static void main(String[] args) { 9. try { 10. System.out.println(NumberFormat.getCurrencyInstance().parse("$1.99").doubleValue()); 11. } catch (Exception e) { 12. e.printStackTrace(); 13. } 14. } 15. } 16. 17. Save as Test.java ; compile under the SUN JVM: javac Test.java 18. 19. 20. Run the class under the Diablo jvm and you will receive 21. 22. -bash-2.05b$ java Test 23. java.text.ParseException: Unparseable number: "$1.99" 24. at java.text.NumberFormat.parse(NumberFormat.java:309) 25. at Test.main(Test.java:6) 26. 27. And when I run it with the SUN JDK 28. 29. absolute# /usr/local/linux-sun-jdk1.5.0/bin/java Test 30. 1.99 31. 32. 33. If you can't compile Ill provide what I have, 34. 35. http://salesdepotinc.com/Test.java 36. http://salesdepotinc.com/Test.class (compiled with sun jdk) 37. 38. 39. 40. Works correctly. Fix: see above How-To-Repeat: see above