Community
Participate
Working Groups
Language: Simplified Chinese OS: Windows 2000 Eclipse Build: 200302061700 Stable Build (M5) JRE version: JRE 1.4.0 IBM build cxia32140-20020917a (JIT enabled:jitc) <<Summary>> Cannot run or debug class in a project with GB18030 chars as project name <<Re-produce steps>> 1. Launch Eclipse. 2. Create a Java project with GB18030 chars as project name. 3. Create a Java class in this project 4. Click menu "Run" -> "Run..." 5. Click "Java Application". 6. Click New button. 7. Click Run button. <<Expected Result>> It works correctly <<Execution Result>> Error message box pops up, please refer to screen =>rundebug1.jpg <<Comments>> 1. I can run it with GB2312 character. 2. I have change the Fonts for workbench and system to GB18030 character.
Created attachment 3563 [details] Screen shot of rundebug1.jpg
Is there a stack trace in your .log file?
Tod, do you have the time to check this out?
There is no stack trace in the .log file.
Tod, if you could try this scenario, and determine if the project can be launched from the command line (i.e. a classpath that contains a GB18030 character), it would be helpful. Thanks.
From the command line I managed to compile and run a class with 1) A Chinese name 2) a Chinese path 3) a JRE in a chinese path 4) Printed a Chinese character Note that this occured without GB18030 - I entered these characters as Unicode.
Further clarification of my test case. I was in Simplified Chinese GB18030 using the SimSun 18030 font and using the NeiMa input method with Unicode mode (this is the only way to input into the GB18030 code page in XP). The characters I chose were essentially random (as I can't read them) but were in the 71E0 - 739F range of Unicode (the CJK Unified Ideographs) Eclipse portion 1) Created a java project with a Chinese name 2) Created a class with a Chinese name 3) Made a main method that printed Hello <Chinese characters> 4) Attempted to Run using Run->Java Application and got the same result as the reporter 5) Moved the Chinese class to a project with an English name and this time got a "could not find main" result. Command line 1) Compiled the class in a directory with a chinese name using javac and run it using javaw.
CC'ing Dirk - there is a similar bug filed for javadoc generation.
CC'ing Erich - there may be a bug filed against Sun for this problem.
Tod, this looks like a duplicate of bug 9330. Is GB18030 a DBCS?
Yes - it is likely a dup. GB18030 is a DBCS on Windows (in fact it can also be a 4 byte set on GTK...).
VM limitation. Do not intend to fix. *** This bug has been marked as a duplicate of 9330 ***
Subtle difference here - Bug 9330 is to do with packages with a DBCS character - this one is to do with projects. It is possible to run with a DBCS character in the classpath on the command line so this should not be closed.
Tod, can you see if this works when running with a Sun JDK1.4.1 from within Eclipse? (the Sun bug referenced in 9330 is claimed to be fixed in the latest JDK1.4.1).
Using the Sun 1.4.1 for Eclipse I was able to run a class with a Chinese project name. I could not run one with a package name or class name in Chinese but this is a known java limitation. I entered the characters using the Unicode input mode of the Nei Ma IME on a Chinese XP machine with GB18030 support installed.
With RC1 I just restested this using the following parameters VM: IBM 1.4.0 Sept 17 build. Input mode:Nei Ma Unicode Locale: zh_CW Encoding: GB18030 And I was able to create projects, packages and classes with Chinese names and run them all. I was entering characters in the 7000 and 8000 range using the unicode input. Please verify that this is a suffecient test to consider this defect closed.
It's clear that this is a VM limitation. Marking the bug as "works for me".
This should be verified by the reporter. My input method may not be the same way it was done to generate this problem so I am not confident that this is done. If you can still make this problem happen in RC1 please zip up the contents of the problem project and attach it here. Please use Winzip to do this so that the test can be done outside of Eclipse.
I have tried again using M5 and the steps I detailed below and I cannot replicate the original error so I think there is a difference between what needs to be done to replicate and what I did. I think it it premature to close this PR.
Verified With RC1 using the following parameters: VM: IBM 1.4.0 Sept 17 build. Input mode: Nei Ma Unicode Locale: zh_CN Encoding: GB18030 Characters: 3400 - 3700 range (difference between reporter and Tod Creasey) We can still make this problem happen. We zip up the contents of the problem project(Please refer to project.zip). Please note: 1. I was entering Unicode "3400", which code point is "8139EE39" for a 4 bytes character. This character was not shown in Dos Shell Command, the reason may be that the Dos Shell command only support Code Pages with 936 (Simplified Chinese GBK) and 437 (United States), not including GB18030(Please refer to DosShell.jpg). Since characters in the 7000 and 8000 range can be shown in Dos Shell Command, I think it is the reason why Tod Creasey cannot replicate the original error. 2. This can run correctly with M5 and RC1 using GB2312. 3. This can run correctly with M5 and RC1 using GB18030 on Linux, It seems Bash Shell can support GB18030.
Created attachment 3898 [details] Screen shot of DosShell.jpg
Created attachment 3899 [details] ZIP for problem project
Tod - Can you try Yu Zhen Fan's test. If we want to be definitive on this problem, we need you to reproduce the problem, or we will need to get Yu Zhen Fan to do some testing for us.
I have attempted to replicate this but Windows will not allow me to enter a character in the 3400 -3700 range anywhere in Windows (Windows Explorer, Internet Explorer, command line or Notepad). Where did you manage to enter these characters successfully. Likewise Winzip will not extract the content you sent correctly either. I will continue investigating but I am not sure how a user would enter these characters anywhere.
I have tried this and found that I can enter characters in the 3400-3600 range without the IME dying in RC2. When I do this test I get the results as reported by Yu Zhen Fan
Tod - two questions: 1. Do you get the initial error message box as shown in rundebug1.jpg? 2. Do you get the same results as Yu Zhen Fan when using a Sun JDK 1.4.1 vm? Can you run two additional tests: A: Run Yu Zen Fan's class, but in a project with latin-1 characters B: Use Yu Zen Fan's project name, but run Hello World. Please provide error information for these cases as well. We are trying to distinguish errors in launching the program from errors in displaying the results (if possible). Once we understand where the error is coming from, we can see if it is possible to instrument the code to determine if this is a vm/class library error or something else.
Yes I get the same dialog box as Yu Zen Fan on both IBM 1.4.0 and Sun 1.4.1 virtual machines. On a Sun VM and the IBM vm HelloWorld still fails if the project has a Chinese name. With an English project name the same class fails. Sun Vm message: java.lang.NoClassDefFoundError: ?? Exception in thread "main" IBM Vm message: ÕÒ²»µ½ java Àࣺ ????
Here is some more test data. John gave me a patch to the dtcore this morning that does not set the classpath. When running using this one I get the following message: ÕÒ²»µ½ java Àࣺ D:\tod\RC2\eclipse\workspace\Fred This is the same message I get when trying to run a class from the command line. When I use the dtcore that is in RC2 I get pretty much the same trace from INM and Sun VMs IBM !SESSION ÈýÔ 11, 2003 20:38:10.95 -------------------------------------------- --- java.fullversion=J2RE 1.4.0 IBM Windows 32 build cn140-20020902 (JIT enabled: jitc) BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN Command-line arguments: -os win32 -ws win32 -arch x86 -install file:D:/tod/RC2/eclipse/ !ENTRY org.eclipse.debug.core 4 120 ÈýÔ 11, 2003 20:38:10.95 !MESSAGE Exception occurred executing command line.ÎĔĔÅì³* !STACK 0 java.io.IOException: CreateProcess: D:\tod\RC2\eclipse\jre\bin\javaw.exe - classpath D:\tod\RC2\eclipse\workspace\㐁㐂 HelloWorld error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:91) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:583) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:467) at org.eclipse.jdt.launching.AbstractVMRunner.exec (AbstractVMRunner.java:53) at org.eclipse.jdt.internal.launching.StandardVMRunner.run (StandardVMRunner.java:224) at org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDeleg ate.launch(JavaLocalApplicationLaunchConfigurationDelegate.java:107) at org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:152) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:672) at org.eclipse.debug.ui.DebugUITools.buildAndLaunch (DebugUITools.java:537) at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:486) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:95) !ENTRY org.eclipse.debug.ui 4 120 ÈýÔ 11, 2003 20:38:10.246 !MESSAGE Error logged from Debug UI: !STACK 1 org.eclipse.core.runtime.CoreException[120]: java.io.IOException: CreateProcess: D:\tod\RC2\eclipse\jre\bin\javaw.exe -classpath D:\tod\RC2 \eclipse\workspace\㐁㐂 HelloWorld error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:91) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:583) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:467) at org.eclipse.jdt.launching.AbstractVMRunner.exec (AbstractVMRunner.java:53) at org.eclipse.jdt.internal.launching.StandardVMRunner.run (StandardVMRunner.java:224) at org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDeleg ate.launch(JavaLocalApplicationLaunchConfigurationDelegate.java:107) at org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:152) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:672) at org.eclipse.debug.ui.DebugUITools.buildAndLaunch (DebugUITools.java:537) at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:486) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:95) !ENTRY org.eclipse.debug.core 4 120 ÈýÔ 11, 2003 20:38:10.256 !MESSAGE Exception occurred executing command line.ÎĔĔÅì³* !STACK 0 java.io.IOException: CreateProcess: D:\tod\RC2\eclipse\jre\bin\javaw.exe - classpath D:\tod\RC2\eclipse\workspace\㐁㐂 HelloWorld error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:91) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:583) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:467) at org.eclipse.jdt.launching.AbstractVMRunner.exec (AbstractVMRunner.java:53) at org.eclipse.jdt.internal.launching.StandardVMRunner.run (StandardVMRunner.java:224) at org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDeleg ate.launch(JavaLocalApplicationLaunchConfigurationDelegate.java:107) at org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:152) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:672) at org.eclipse.debug.ui.DebugUITools.buildAndLaunch (DebugUITools.java:537) at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:486) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:95) Sun: !SESSION ÈýÔ 11, 2003 20:32:23.466 ------------------------------------------- --- java.version=1.4.1-beta java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN Command-line arguments: -os win32 -ws win32 -arch x86 -install file:D:/tod/RC2/eclipse/ !ENTRY org.eclipse.debug.core 4 120 ÈýÔ 11, 2003 20:32:23.476 !MESSAGE Exception occurred executing command line.ÎĔĔÅì³* !STACK 0 java.io.IOException: CreateProcess: D:\tod\RC2\eclipse\jre\bin\javaw.exe - classpath D:\tod\RC2\eclipse\workspace\?? ??.?? error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:63) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:467) at org.eclipse.jdt.launching.AbstractVMRunner.exec (AbstractVMRunner.java:53) at org.eclipse.jdt.internal.launching.StandardVMRunner.run (StandardVMRunner.java:224) at org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDeleg ate.launch(JavaLocalApplicationLaunchConfigurationDelegate.java:107) at org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:152) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:672) at org.eclipse.debug.ui.DebugUITools.buildAndLaunch (DebugUITools.java:537) at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:486) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:95) !ENTRY org.eclipse.debug.ui 4 120 ÈýÔ 11, 2003 20:32:23.597 !MESSAGE Error logged from Debug UI: !STACK 1 org.eclipse.core.runtime.CoreException[120]: java.io.IOException: CreateProcess: D:\tod\RC2\eclipse\jre\bin\javaw.exe -classpath D:\tod\RC2 \eclipse\workspace\?? ??.?? error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:63) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:467) at org.eclipse.jdt.launching.AbstractVMRunner.exec (AbstractVMRunner.java:53) at org.eclipse.jdt.internal.launching.StandardVMRunner.run (StandardVMRunner.java:224) at org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDeleg ate.launch(JavaLocalApplicationLaunchConfigurationDelegate.java:107) at org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:152) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:672) at org.eclipse.debug.ui.DebugUITools.buildAndLaunch (DebugUITools.java:537) at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:486) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:95) !ENTRY org.eclipse.debug.core 4 120 ÈýÔ 11, 2003 20:32:23.607 !MESSAGE Exception occurred executing command line.ÎĔĔÅì³* !STACK 0 java.io.IOException: CreateProcess: D:\tod\RC2\eclipse\jre\bin\javaw.exe - classpath D:\tod\RC2\eclipse\workspace\?? ??.?? error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:63) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:467) at org.eclipse.jdt.launching.AbstractVMRunner.exec (AbstractVMRunner.java:53) at org.eclipse.jdt.internal.launching.StandardVMRunner.run (StandardVMRunner.java:224) at org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDeleg ate.launch(JavaLocalApplicationLaunchConfigurationDelegate.java:107) at org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:152) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:672) at org.eclipse.debug.ui.DebugUITools.buildAndLaunch (DebugUITools.java:537) at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:486) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:95)
Down-grading to P2
The analysis we have done indicates that the class libraries do not support the creation of a process via Runtime.exec(...), when the generated command line contains GB18030 characters. It appears there is nothing the launcher can do to fix the problem. Plan to doc as known limitation for 2.1.
*** Bug 57874 has been marked as a duplicate of this bug. ***
*** Bug 80938 has been marked as a duplicate of this bug. ***
*** Bug 94693 has been marked as a duplicate of this bug. ***
*** Bug 141795 has been marked as a duplicate of this bug. ***
*** Bug 178247 has been marked as a duplicate of this bug. ***
*** Bug 223058 has been marked as a duplicate of this bug. ***
*** Bug 308299 has been marked as a duplicate of this bug. ***
*** Bug 308292 has been marked as a duplicate of this bug. ***