Bug 26931 - Start eclipse with locale zh_TWBIG5 on Solaris
Summary: Start eclipse with locale zh_TWBIG5 on Solaris
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 2.0   Edit
Hardware: Sun Solaris
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Grant Gayed CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-11-22 05:51 EST by SC Development 01 CLA
Modified: 2007-06-18 15:27 EDT (History)
5 users (show)

See Also:


Attachments
test snippet to be run (4.22 KB, text/plain)
2002-12-03 10:44 EST, Grant Gayed CLA
no flags Details
fontList (6.36 KB, text/plain)
2002-12-09 01:37 EST, SC Development 01 CLA
no flags Details
xrdb_test2 (7.09 KB, text/plain)
2002-12-09 01:38 EST, SC Development 01 CLA
no flags Details
xrdb_test3 (5.48 KB, text/plain)
2002-12-09 01:39 EST, SC Development 01 CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description SC Development 01 CLA 2002-11-22 05:51:23 EST
1. Selected language with zh_TW.BIG5 on Solaris login screen.
2. Open Solaris console and start Eclipse with websphere studio workbench.

<<Expected Result>>
Eclipse would be started as normal without any error message.

<<Actual Result>>
Console would display java Exception and start eclipse fail.

# ./eclipse
java.lang.NullPointerException

        at org.eclipse.swt.graphics.Device.<init>(Device.java:121)

        at org.eclipse.swt.widgets.Display.<init>(Display.java:319)

        at org.eclipse.swt.widgets.Display.<init>(Display.java:316)

        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1308)

        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:831)

        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)

        at java.lang.reflect.Method.invoke(Native Method)

        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)

        at org.eclipse.core.launcher.Main.run(Main.java:703)

        at org.eclipse.core.launcher.Main.main(Main.java:539)

//Other case:
If i export LANG=zh_TW.UTF-8 and then it would start eclipse but had warning
message :
#LANG=zh_TW.UTF-8
#export LANG
#./eclipse
Warning: Missing charsets in String to FontSet conversion
Warning: Missing charsets in String to FontSet conversion
Comment 1 SC Development 01 CLA 2002-11-25 04:45:03 EST
If i login Solaris with locale=ar -- Egypt
and start eclipse would have error messages as below.
=========================================================================
An unexpected exception has been detected in native code outside the VM.

Unexpected Signal : 11 occurred at PC=0xff33060c

Function name=memcpy

Library=/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1


Current Java thread:
        at org.eclipse.swt.internal.motif.OS.memmove(Native Method)

        at org.eclipse.swt.graphics.GC.getFontMetrics(GC.java:1992)

        at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:189)

        at org.eclipse.swt.custom.CLabel.computeSize(CLabel.java:126)

        at org.eclipse.jface.action.StatusLine$StatusLineLayout.layout(StatusLin
e.java:121)

        at org.eclipse.swt.widgets.Composite.layout(Composite.java:362)

        at org.eclipse.swt.widgets.Composite.layout(Composite.java:338)

        at org.eclipse.jface.action.StatusLineManager.update(StatusLineManager.j
ava:233)

        at org.eclipse.jface.action.StatusLineManager.createControl(StatusLineMa
nager.java:47)

        at org.eclipse.jface.window.ApplicationWindow.configureShell(Application
Window.java:221)

        at org.eclipse.ui.internal.WorkbenchWindow.configureShell(WorkbenchWindo
w.java:461)

        at org.eclipse.jface.window.Window.createShell(Window.java:330)

        at org.eclipse.jface.window.Window.create(Window.java:281)

        at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1199)

        at org.eclipse.ui.internal.Workbench.access$7(Workbench.java:1173)

        at org.eclipse.ui.internal.Workbench$6.run(Workbench.java:811)

        at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatfo
rm.java:839)

        at org.eclipse.core.runtime.Platform.run(Platform.java:416)

        at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState(Workbenc
h.java:763)

        at org.eclipse.ui.internal.Workbench.init(Workbench.java:577)

        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1319)

        at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoa
der.java:831)

        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)

        at java.lang.reflect.Method.invoke(Native Method)

        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)

        at org.eclipse.core.launcher.Main.run(Main.java:703)

        at org.eclipse.core.launcher.Main.main(Main.java:539)


Dynamic libraries:

0x10000         /software/eclipse/./jre/bin/../bin/sparc/native_threads/java

0xff350000      /usr/lib/libthread.so.1

0xff390000      /usr/lib/libdl.so.1

0xff200000      /usr/lib/libc.so.1

0xff330000      /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1

0xfe480000      /software/eclipse/jre/lib/sparc/client/libjvm.so

0xff2e0000      /usr/lib/libCrun.so.1

0xff1e0000      /usr/lib/libsocket.so.1

0xff100000      /usr/lib/libnsl.so.1

0xff0d0000      /usr/lib/libm.so.1

0xff310000      /usr/lib/libw.so.1

0xff0b0000      /usr/lib/libmp.so.2

0xff080000      /software/eclipse/jre/lib/sparc/native_threads/libhpi.so

0xff050000      /software/eclipse/jre/lib/sparc/libverify.so

0xfe440000      /software/eclipse/jre/lib/sparc/libjava.so

0xff020000      /software/eclipse/jre/lib/sparc/libzip.so

0xfe260000      /usr/lib/locale/ar/ar.so.2

0xf4310000      /software/eclipse/plugins/org.eclipse.swt.motif_2.0.2/os/solaris
/sparc/libswt-motif-2052.so

0xf4080000      /usr/lib/libXm.so.4

0xf4010000      /usr/lib/libXt.so.4

0xf3f00000      /usr/lib/libX11.so.4

0xf44a0000      /usr/openwin/lib/libSM.so.6

0xf4470000      /usr/openwin/lib/libICE.so.6

0xf42e0000      /usr/openwin/lib/libXext.so.0

0xf42b0000      /usr/openwin/lib/libdga.so.1

0xf3ff0000      /usr/openwin/lib/locale/common/xlibi18n.so.2

0xf3fc0000      /usr/openwin/lib/locale/common/xomLTRTTB.so.2

0xf3ee0000      /usr/lib//liblayout.so

0xf3ec0000      /usr/lib/locale/ar/LO_LTYPE/ar.layout.so.1

0xf3e50000      /usr/lib/libC.so.5

0xf3e10000      /usr/openwin/lib/locale/common/ximlocal.so.2


Local Time = Mon Nov 25 17:37:43 2002

Elapsed Time = 10

#

# The exception above was detected in native code outside the VM

#

# Java VM: Java HotSpot(TM) Client VM (JPSE_1.3.1_20020313 mixed mode)

#

# An error report file has been saved as hs_err_pid1933.log.

# Please refer to the file for further information.

Comment 2 Christophe Cornu CLA 2002-11-25 09:59:17 EST
Grant to investigate and advise. Do we support BIG5 on Solaris?

To the reporter: what build number of Eclipse are you using? (Help > About > 
Build ID)
Comment 3 Grant Gayed CLA 2002-11-25 10:39:55 EST
If you're using WebSphere Studio Workbench then you're using Eclipse version 
2.0.2 or earlier, which does not have DBCS support.  Please try to use the M3 
build from the Eclipse 2.1 stream, which does have DBCS support.  Follow up if 
this works/does not work.

(download: http://eclipsedrops.ott.oti.com/downloads/master/downloads/drops/S-
M3-200211151436/eclipse-SDK-M3-linux-motif.zip ).
Comment 4 SC Development 01 CLA 2002-11-29 00:58:21 EST
We had download M3 build from :
http://download.eclipse.org/downloads/drops/S-M3-200211151436/download.php?
dropFile=eclipse-SDK-M3-solaris-motif.zip

And It seems like does not support DBCS locale and i still could not
start eclipse on solaris.
Regard Michelle.
Comment 5 Grant Gayed CLA 2002-12-03 10:43:17 EST
This looks like the same problem as bug 25292.  Can you do the following:

1. I'll attach a snippet in the next comment.  Please run it on your machine 
and paste its output into this report.
2. Try adding the following line to your .Xdefaults file, and mention if this 
helps it work:
*fontList: -*-fixed-medium-r-*-*-*-120-*-*-*-*-*-*:
Comment 6 Grant Gayed CLA 2002-12-03 10:44:52 EST
Created attachment 2625 [details]
test snippet to be run
Comment 7 SC Development 01 CLA 2002-12-04 05:30:30 EST
1. We ran the SystemFontTest.class and got following output,

# java ssq/SystemFontTest
Warning: Missing charsets in String to FontSet conversion
XmLabel*fontList=1983976
fontName-0=-misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
fontset xlfd=0->-misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
length=1

2. I'm sorry that we couldn't find the file .Xdefaults.  We created this file 
under home directory and then re-login, all words on the toolbar were 
disappearing.
We launghed eclipse and got following exception.

# ./eclipse
Warning: Missing charsets in String to FontSet conversion
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at org.eclipse.swt.widgets.Shell.setText(Shell.java:1190)
        at org.eclipse.jface.dialogs.MessageDialog.configureShell(MessageDialog.
java:149)
        at org.eclipse.jface.window.Window.createShell(Window.java:330)
        at org.eclipse.jface.window.Window.create(Window.java:281)
        at org.eclipse.jface.window.Window.open(Window.java:531)
        at org.eclipse.jface.dialogs.MessageDialog.openError(MessageDialog.java:
377)
        at org.eclipse.jface.util.SafeRunnable.handleException(SafeRunnable.java
:42)
        at org.eclipse.ui.internal.Workbench$6.handleException(Workbench.java:82
2)
        at org.eclipse.core.internal.runtime.InternalPlatform.handleException(In
ternalPlatform.java:439)
        at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatfo
rm.java:841)
        at org.eclipse.core.runtime.Platform.run(Platform.java:416)
        at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState(Workbenc
h.java:763)
        at org.eclipse.ui.internal.Workbench.init(Workbench.java:577)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1319)
        at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoa
der.java:831)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)
Comment 8 Felipe Heidrich CLA 2002-12-04 10:04:57 EST
Thank you for the input, it's very appreciate.

Anyhow, the font description:
*fontList: -*-fixed-medium-r-*-*-*-120-*-*-*-*-*-*:
is not good for zh_TW.big5, I believe there is no fixed font for big5.

You could try a more precise font description for zh_TW like:
*fontList:  -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-*;\
            -default-ming-medium-r-normal--16-*-*-*-c-160-big5-0:

Or a very generic font description:
*fontList: -*-*-*-R-*-*-*-120-*-*-*-*-*-*:


This should get rid of the warning, not sure if this will help with the 
exception though.
Try always to start eclipse with a empty workspace, it may help.


Comment 9 SC Development 01 CLA 2002-12-05 04:24:29 EST
We tried the 2 different font descriptions and start eclipse with an empty 
workspace but still failed.  Please let us know if more information needed. 
Thanks.


1. We tried following font description, and saw words in the title and toolbar 
of consoles became garbage.
*fontList:  -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-*;\
            -default-ming-medium-r-normal--16-*-*-*-c-160-big5-0:

And we started Eclipse and got following exception,
# ./eclipse
Warning: Missing charsets in String to FontSet conversion
Warning: Cannot convert string "#FF00F700E900" to type FontStruct
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at org.eclipse.swt.widgets.Shell.setText(Shell.java:1190)
        at org.eclipse.jface.dialogs.MessageDialog.configureShell
(MessageDialog.java:149)
        at org.eclipse.jface.window.Window.createShell(Window.java:330)
        at org.eclipse.jface.window.Window.create(Window.java:281)
        at org.eclipse.jface.window.Window.open(Window.java:531)
        at org.eclipse.jface.dialogs.MessageDialog.openError
(MessageDialog.java:377)
        at org.eclipse.jface.util.SafeRunnable.handleException
(SafeRunnable.java:42)
        at org.eclipse.ui.internal.Workbench$6.handleException
(Workbench.java:822)
        at org.eclipse.core.internal.runtime.InternalPlatform.handleException
(InternalPlatform.java:439)
        at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:841)
        at org.eclipse.core.runtime.Platform.run(Platform.java:416)
        at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState
(Workbench.java:763)
        at org.eclipse.ui.internal.Workbench.init(Workbench.java:577)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1319)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:831)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)


2.  We also tried the generic font description( *fontList: -*-*-*-R-*-*-*-120-*-
*-*-*-*-*: ), but also see gargabe words and got exception when starting 
eclipse.

# ./eclipse
Warning: Cannot convert string "+0-0" to type FontStruct
java.lang.NullPointerException
        at org.eclipse.swt.graphics.Device.<init>(Device.java:121)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:319)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:316)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1308)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:831)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)
Comment 10 Felipe Heidrich CLA 2002-12-06 10:35:55 EST
This is very strange, somehow the string you added is read incorrectly by X.
For instance the string "-*-*-*-R-*-*-*-120-*-*-*-*-*-*:" was turn into "+0-0". 
And the converter used, StringToFontStruct, is not right, this string should be 
convert to a FontSet since it ends with ":".
I guess you are testing like this:
You write the .Xdefaults, log out, log in, run eclipse.

Something you could try is to use xrdb to know what is in your x resource data 
base, try something like this:
Log in [zh_TW.BIG5 locale]
$xrdb -query
(show the database)
$xrdb -query | grep font
(this should be empty)
$echo "*fontList: -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-*;-
default-ming-medium-r-normal--16-*-*-*-c-160-big5-0:" > /tmp/myfont
$xrdb -override /tmp/myfont
$xrdb -query | grep font
(you should see "*fontList: -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-
iso8859-*;-default-ming-medium-r-normal--16-*-*-*-c-160-big5-0:")
$./eclipse

Let me know if this works, thanks

 














Comment 11 SC Development 01 CLA 2002-12-09 01:31:42 EST
We've try this in three ways, but they all failed, please refer to the attached 
files.

1. fontList: -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-*;-default-
ming-medium-r-normal--16-*-*-*-c-160-big5-0:
   Please refer to xrdb_test1 file.

2. fontList: -*-fixed-medium-r-*-*-*-120-*-*-*-*-*-*:
   Please refer to xrdb_test2 file.

3. fontList: -*-*-*-R-*-*-*-120-*-*-*-*-*-*:
   Please refer to xrdb_test3 file.
Comment 12 SC Development 01 CLA 2002-12-09 01:37:22 EST
Created attachment 2714 [details]
fontList
Comment 13 SC Development 01 CLA 2002-12-09 01:38:12 EST
Created attachment 2715 [details]
xrdb_test2
Comment 14 SC Development 01 CLA 2002-12-09 01:39:41 EST
Created attachment 2716 [details]
xrdb_test3
Comment 15 Felipe Heidrich CLA 2002-12-11 18:19:16 EST
I see that Solaris is setting the font as well, like: 
*FontList:      	-dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
*FontSet:       	-dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*

Anyhow, I'm able to start eclipse in Solaris zh_TW.BIG5 putting this in 
my .Xdefaults:
*fontList:  -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-0;-dt-
interface user-medium-r-normal--16-*-*-*-c-160-big5-1:

My system is:
$ uname -a
SunOS sunblade 5.8 Generic_108528-14 sun4u sparc SUNW,Sun-Blade-100


Now that we can run Eclipse IDE we can try to fix this somehow.


Comment 16 SC Development 01 CLA 2002-12-13 00:58:22 EST
1. I created .Xdefaults under root directory, then ran eclipse.
   I got following exception:
   # ./eclipse
java.lang.NullPointerException
        at org.eclipse.swt.graphics.Device.<init>(Device.java:121)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:319)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:316)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1308)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:831)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)

2. I created .Xdefaults under root directory, log out, then log in 
   with zh_TW.BIG5.
   I got following exception:

   #./eclipse
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at org.eclipse.swt.widgets.Shell.setText(Shell.java:1190)
        at org.eclipse.jface.dialogs.MessageDialog.configureShell
(MessageDialog.java:149)
        at org.eclipse.jface.window.Window.createShell(Window.java:330)
        at org.eclipse.jface.window.Window.create(Window.java:281)
        at org.eclipse.jface.window.Window.open(Window.java:531)
        at org.eclipse.jface.dialogs.MessageDialog.openError
(MessageDialog.java:377)
        at org.eclipse.jface.util.SafeRunnable.handleException
(SafeRunnable.java:42)
        at org.eclipse.ui.internal.Workbench$6.handleException
(Workbench.java:822)
        at org.eclipse.core.internal.runtime.InternalPlatform.handleException
(InternalPlatform.java:439)
        at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:841)
        at org.eclipse.core.runtime.Platform.run(Platform.java:416)
        at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState
(Workbench.java:763)
        at org.eclipse.ui.internal.Workbench.init(Workbench.java:577)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1319)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:831)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)
# 

NOTE: the content of .Xdefaults:
*fontList:  -*-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-0;-dt-
interface user-medium-r-normal--16-*-*-*-c-160-big5-1:
Comment 17 Steve Northover CLA 2007-06-18 15:27:14 EDT
Solaris Motif is not longer supported by Eclipse.  Closing.