Bug 32206 - [README] GB18030: Cannot run or debug class in a project with GB18030 chars as project name
Summary: [README] GB18030: Cannot run or debug class in a project with GB18030 chars a...
Status: RESOLVED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Debug-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: readme
: 57874 80938 178247 308292 308299 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-02-19 04:25 EST by Yu Zhen Fan CLA
Modified: 2011-05-20 02:59 EDT (History)
13 users (show)

See Also:


Attachments
Screen shot of rundebug1.jpg (68.58 KB, image/jpeg)
2003-02-19 04:29 EST, Yu Zhen Fan CLA
no flags Details
Screen shot of DosShell.jpg (36.02 KB, image/jpeg)
2003-03-07 04:55 EST, Yu Zhen Fan CLA
no flags Details
ZIP for problem project (1.42 KB, application/octet-stream)
2003-03-07 05:04 EST, Yu Zhen Fan CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yu Zhen Fan CLA 2003-02-19 04:25:45 EST
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.
Comment 1 Yu Zhen Fan CLA 2003-02-19 04:29:48 EST
Created attachment 3563 [details]
Screen shot of rundebug1.jpg
Comment 2 Darin Swanson CLA 2003-02-19 06:22:09 EST
Is there a stack trace in your .log file?
Comment 3 Darin Swanson CLA 2003-02-19 14:24:10 EST
Tod, do you have the time to check this out?
Comment 4 Yu Zhen Fan CLA 2003-02-20 21:13:29 EST
There is no stack trace in the .log file.
Comment 5 Darin Wright CLA 2003-02-26 10:50:35 EST
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.
Comment 6 Tod Creasey CLA 2003-02-26 16:50:57 EST
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.
Comment 7 Tod Creasey CLA 2003-02-27 09:02:45 EST
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.
Comment 8 Darin Wright CLA 2003-03-04 12:09:30 EST
CC'ing Dirk - there is a similar bug filed for javadoc generation.
Comment 9 Darin Wright CLA 2003-03-04 12:10:05 EST
CC'ing Erich - there may be a bug filed against Sun for this problem.
Comment 10 Darin Wright CLA 2003-03-04 12:24:16 EST
Tod, this looks like a duplicate of bug 9330. Is GB18030 a DBCS?
Comment 11 Tod Creasey CLA 2003-03-04 12:59:55 EST
Yes - it is likely a dup. GB18030 is a DBCS on Windows (in fact it can also be 
a 4 byte set on GTK...).
Comment 12 Darin Wright CLA 2003-03-04 13:13:24 EST
VM limitation. Do not intend to fix.

*** This bug has been marked as a duplicate of 9330 ***
Comment 13 Tod Creasey CLA 2003-03-04 15:13:44 EST
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.
Comment 14 Darin Wright CLA 2003-03-04 15:55:24 EST
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).
Comment 15 Tod Creasey CLA 2003-03-04 16:37:21 EST
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.
Comment 16 Tod Creasey CLA 2003-03-05 09:43:38 EST
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.
Comment 17 Darin Wright CLA 2003-03-05 09:51:38 EST
It's clear that this is a VM limitation. Marking the bug as "works for me".
Comment 18 Tod Creasey CLA 2003-03-05 14:58:33 EST
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.
Comment 19 Tod Creasey CLA 2003-03-05 16:47:14 EST
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.
Comment 20 Yu Zhen Fan CLA 2003-03-07 04:45:56 EST
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.






Comment 21 Yu Zhen Fan CLA 2003-03-07 04:55:27 EST
Created attachment 3898 [details]
Screen shot of DosShell.jpg
Comment 22 Yu Zhen Fan CLA 2003-03-07 05:04:57 EST
Created attachment 3899 [details]
ZIP  for problem project
Comment 23 John Wiegand CLA 2003-03-07 12:04:37 EST
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.
Comment 24 Tod Creasey CLA 2003-03-10 09:57:34 EST
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.
Comment 25 Tod Creasey CLA 2003-03-10 16:33:23 EST
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
Comment 26 John Wiegand CLA 2003-03-10 20:36:34 EST
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.
Comment 27 Tod Creasey CLA 2003-03-11 09:48:19 EST
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 Àࣺ ????
Comment 28 Tod Creasey CLA 2003-03-11 10:50:36 EST
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\&#13313;&#13314; 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\&#13313;&#13314; 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\&#13313;&#13314; 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)
Comment 29 Darin Wright CLA 2003-03-12 11:07:17 EST
Down-grading to P2
Comment 30 Darin Wright CLA 2003-03-13 16:47:49 EST
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.
Comment 31 Darin Wright CLA 2004-04-20 10:23:18 EDT
*** Bug 57874 has been marked as a duplicate of this bug. ***
Comment 32 Darin Wright CLA 2004-12-17 13:57:35 EST
*** Bug 80938 has been marked as a duplicate of this bug. ***
Comment 33 Darin Wright CLA 2005-05-11 10:49:23 EDT
*** Bug 94693 has been marked as a duplicate of this bug. ***
Comment 34 Kevin Barnes CLA 2006-05-15 14:17:21 EDT
*** Bug 141795 has been marked as a duplicate of this bug. ***
Comment 35 Darin Wright CLA 2007-03-20 12:08:55 EDT
*** Bug 178247 has been marked as a duplicate of this bug. ***
Comment 36 Darin Wright CLA 2008-03-31 15:56:06 EDT
*** Bug 223058 has been marked as a duplicate of this bug. ***
Comment 37 Darin Wright CLA 2010-04-09 16:09:15 EDT
*** Bug 308299 has been marked as a duplicate of this bug. ***
Comment 38 Darin Wright CLA 2010-04-09 16:13:44 EDT
*** Bug 308292 has been marked as a duplicate of this bug. ***