Bug 218394
Summary: | Java compiler and interpreter fail on non-English file names. | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Björn Persson <listor2.rombobeorn> | ||||
Component: | java-1.6.0-openjdk | Assignee: | Thomas Fitzsimmons <fitzsim> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | high | ||||||
Version: | rawhide | CC: | triage | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | i386 | ||||||
OS: | Linux | ||||||
Whiteboard: | bzcl34nup | ||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2008-04-19 20:06:11 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Björn Persson
2006-12-05 01:29:15 UTC
ecj is a separate package. We'll need to try ecj with a proprietary JVM to see whether or not it's a problem with libgcj's locale handling. Can you provide an example source file? Preferably something small. Created attachment 142908 [details]
test script – tests ten combinations
I found yet another case: An English-named .class file in a non-English
directory causes GIJ to throw a NoClassDefFoundError.
Java_filename_encoding.tar.gz contains a set of files to test ten combinations
of file, directory and class names.
The test case is written in ISO 8859-1. I don't know how it might behave in
other locales. If running the test in another locale, don't forget to convert
both the filenames and the files' contents to the local character encoding!
This is a dummy comment which I'm adding in an attempt to get this bug out of NEEDINFO status, as that apparently didn't happen when I submitted the requested example. Since ecj is now being used in GCJ this should be investigated. Changing to priority to high. I think this is a libgcj bug. AFAIK we only encode file names using utf-8. Fedora apologizes that these issues have not been resolved yet. We're sorry it's taken so long for your bug to be properly triaged and acted on. We appreciate the time you took to report this issue and want to make sure no important bugs slip through the cracks. If you're currently running a version of Fedora Core between 1 and 6, please note that Fedora no longer maintains these releases. We strongly encourage you to upgrade to a current Fedora release. In order to refocus our efforts as a project we are flagging all of the open bugs for releases which are no longer maintained and closing them. http://fedoraproject.org/wiki/LifeCycle/EOL If this bug is still open against Fedora Core 1 through 6, thirty days from now, it will be closed 'WONTFIX'. If you can reporduce this bug in the latest Fedora version, please change to the respective version. If you are unable to do this, please add a comment to this bug requesting the change. Thanks for your help, and we apologize again that we haven't handled these issues to this point. The process we are following is outlined here: http://fedoraproject.org/wiki/BugZappers/F9CleanUp We will be following the process here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this doesn't happen again. And if you'd like to join the bug triage team to help make things better, check out http://fedoraproject.org/wiki/BugZappers I just tried the attachment with IcedTea on F8 and get failures. Moving over to openjdk. $ javac -version java javac 1.7.0-internal $ java -version java version "1.7.0" IcedTea Runtime Environment (build 1.7.0-b21) IcedTea Client VM (build 1.7.0-b21, mixed mode) This works fine on Rawhide OpenJDK after I set the correct locale encoding: $ export LANG=en_US.ISO-8859-1 $ readlink -f `which java` && readlink -f `which javac` /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/bin/javac $ ./run_test Compiling hello_world/hello_world.java: PASSED Compiling hello_world/hej_v�rld.java: PASSED Compiling hello_world/different_name.java: PASSED Running hello_world/ett: precompiled one PASSED Running hello_world/tv precompiled two PASSED Compiling hej_v�rld/hello_world.java: PASSED Compiling hej_v�rld/hej_v�rld.java: PASSED Compiling hej_v�rld/different_name.java: PASSED Running hej_v�rld/ett: precompiled one PASSED Running hej_v�rld/tv precompiled two PASSED |