Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 180871

Summary: [Forms] Help > Software Updates > Manage Configuration will fail.
Product: [Eclipse Project] Platform Reporter: Atsuhiko Yamanaka <ymnk>
Component: User AssistanceAssignee: platform-ua-inbox <platform-ua-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: critical    
Priority: P3 CC: jeffmcaffer, Karice_McIntyre, kim.moir
Version: 3.3   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Attachments:
Description Flags
a really ad-hoc patch to work around this problem. none

Description Atsuhiko Yamanaka CLA 2007-04-04 02:45:14 EDT
Build ID: I20070323-1616

Steps To Reproduce:
1. Help > Software Updates > Manage Configuration
2. Check Error Log


More information:
You will find following error messages in Error Log,

eclipse.buildId=I20070323-1616
java.version=1.5.0_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP
Framework arguments:  -startup C:\tmp\eclipse-SDK-3.3M6-win32\plugins\org.eclipse.equinox.launcher_1.0.0.v20070319.jar
Command-line arguments:  -os win32 -ws win32 -arch x86 -startup C:\tmp\eclipse-SDK-3.3M6-win32\plugins\org.eclipse.equinox.launcher_1.0.0.v20070319.jar

Error
Wed Apr 04 15:36:30 JST 2007
Unhandled event loop exception

java.util.MissingResourceException: java.util.MissingResourceException: Can't find resource for bundle com.ibm.icu.impl.ICUResourceBundleImpl$ResourceTable, key line
	at com.ibm.icu.text.BreakIteratorFactory.createBreakInstance(BreakIteratorFactory.java:129)
	at com.ibm.icu.text.BreakIteratorFactory.createBreakIterator(BreakIteratorFactory.java:68)
	at com.ibm.icu.text.BreakIterator.getBreakInstance(BreakIterator.java:721)
	at com.ibm.icu.text.BreakIterator.getLineInstance(BreakIterator.java:505)
	at com.ibm.icu.text.BreakIterator.getLineInstance(BreakIterator.java:478)
	at org.eclipse.ui.internal.forms.widgets.TextSegment.computeTextFragments(TextSegment.java:703)
	at org.eclipse.ui.internal.forms.widgets.TextSegment.advanceLocator(TextSegment.java:263)
	at org.eclipse.ui.internal.forms.widgets.Paragraph.computeRowHeights(Paragraph.java:128)
	at org.eclipse.ui.internal.forms.widgets.Paragraph.layout(Paragraph.java:147)
	at org.eclipse.ui.forms.widgets.FormText$FormTextLayout.layout(FormText.java:341)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1025)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:551)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:509)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:472)
	at org.eclipse.ui.forms.widgets.FormText.setText(FormText.java:672)
	at org.eclipse.update.internal.ui.views.ConfigurationPreview.setSelection(ConfigurationPreview.java:106)
	at org.eclipse.update.internal.ui.views.ConfigurationView.handleSelectionChanged(ConfigurationView.java:1174)
	at org.eclipse.update.internal.ui.views.ConfigurationView.createPartControl(ConfigurationView.java:953)
	at org.eclipse.update.internal.ui.ConfigurationManagerWindow.createContents(ConfigurationManagerWindow.java:147)
	at org.eclipse.jface.window.Window.create(Window.java:426)
	at org.eclipse.update.internal.ui.ConfigurationManagerWindow.create(ConfigurationManagerWindow.java:278)
	at org.eclipse.update.ui.UpdateManagerUI.openConfigurationManager(UpdateManagerUI.java:36)
	at org.eclipse.ui.internal.ide.update.ConfigurationManagerAction$1.run(ConfigurationManagerAction.java:43)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.ui.internal.ide.update.ConfigurationManagerAction.run(ConfigurationManagerAction.java:41)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:253)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3673)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2337)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2301)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2176)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:463)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:458)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:356)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:171)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1141)

I have confirmed this problem has happened on Eclipse SDK3.3M6, which is
running on Windows XP and Mac OSX.
Comment 1 Dejan Glozic CLA 2007-04-04 11:26:05 EDT
Jeff, Kim, this seems like an ICU issue. Any ideas? 
Comment 2 Kim Moir CLA 2007-04-04 15:48:57 EDT
I have no idea.  Karice is familiar with icu4j.
Comment 3 Atsuhiko Yamanaka CLA 2007-04-04 22:34:22 EDT
I have found that this problem does not occur on 3.3M4, but 3.3M5 and 3.3M6 have it.
And also, I have found that I can not open 'plugin.xml' file on 3.3M6 due to similar icu4j error.
I guess that the problem has come from org.eclipse.ui.forms and almost of all plug-ins which depend
on org.eclipse.ui.forms will not work on 3.3M6.  It is nightmare.

I have checked the source code of org.eclipse.ui.forms and, from my understanding,
this problem must depend on the locale.

In the method 'org.eclipse.ui.internal.forms.widgets.TextSegment.computeTextFragments' has
defined
as follows,

        private void computeTextFragments(GC gc) {
                if (textFragments != null)
                        return;
                ArrayList list = new ArrayList();
                BreakIterator wb = BreakIterator.getLineInstance(); 
                wb.setText(getText());

According to the stack-trace, the exception has been thrown from 'BreakIterator.getLineInstance()' and it has defined as follows,

        public static BreakIterator getLineInstance(){
                return getLineInstance(ULocale.getDefault());
        }

I'm living in  Japan and the value 'ULocale.getDefault()' must be different from US environment.
Comment 4 Atsuhiko Yamanaka CLA 2007-04-04 22:39:01 EDT
Created attachment 62995 [details]
a really ad-hoc patch to work around this problem.

By applying attached patch, the problem has disappeared, but it is too ad-hoc.  We should wait for
the response from ui.forms or icu4j team.
Comment 5 Dejan Glozic CLA 2007-04-04 22:43:31 EDT
Still, this sounds like an ICU issue, just happens to be caused by Forms invocation.

Karice?
Comment 6 Karice McIntyre CLA 2007-04-05 10:03:10 EDT
There is a problem with ICU4J 3.6.0 running in Japanese - see bug 174248.  This appears to be a dup of that bug.
Comment 7 Karice McIntyre CLA 2007-04-05 10:06:08 EDT
I will also mention we are waiting for IP clearance for ICU4J 3.6.1, which will fix the problem.  See bug 174991
Comment 8 Dejan Glozic CLA 2007-04-05 10:13:21 EDT

*** This bug has been marked as a duplicate of bug 174248 ***