|
Quick Lists
|
|
Bug ID:
|
6612531
|
|
Votes
|
2
|
|
Synopsis
|
api/javax_swing/ScrollPaneLayout/index.html#xxxLayoutSize[ScrollPaneLayout2024] throws NPE
|
|
Category
|
java:classes_swing
|
|
Reported Against
|
b01
, b20
|
|
Release Fixed
|
7(b27),
6-open(b04) (Bug ID:2158212)
|
|
State
|
10-Fix Delivered,
Verified,
bug
|
|
Priority:
|
2-High
|
|
Related Bugs
|
6274267
,
6660477
,
6668267
|
|
Submit Date
|
03-OCT-2007
|
|
Description
|
JCK: JCK-runtime-6b b07
J2SE: FAIL - 7 b20 PASS 7 b19 6u4 b03
Platform[s]: FAIL - All
switch/Mode: FAIL - default
Test api/javax_swing/ScrollPaneLayout/index.html#xxxLayoutSize[ScrollPaneLayout2024] throws NPE since JDK 7 b20.
Posted Date : 2007-10-03 15:26:02.0
Copied from the description of 6660477:
When using Netbeans 6.0, randomly from time to time, following exception is thrown from ScrollPaneLayout:
java.lang.NullPointerException
at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:494)
at java.awt.Container.preferredSize(Container.java:1669)
at java.awt.Container.getPreferredSize(Container.java:1654)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1645)
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1109)
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:910)
at java.awt.GridBagLayout.preferredLayoutSize(GridBagLayout.java:730)
at java.awt.Container.preferredSize(Container.java:1669)
at java.awt.Container.getPreferredSize(Container.java:1654)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1645)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:724)
at java.awt.Container.preferredSize(Container.java:1669)
at java.awt.Container.getPreferredSize(Container.java:1654)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1645)
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1109)
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:910)
at java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:2065)
at java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:2025)
at java.awt.GridBagLayout.layoutContainer(GridBagLayout.java:806)
at java.awt.Container.layout(Container.java:1485)
at java.awt.Container.doLayout(Container.java:1474)
at java.awt.Container.validateTree(Container.java:1572)
at java.awt.Container.validateTree(Container.java:1579)
at java.awt.Container.validateTree(Container.java:1579)
at java.awt.Container.validateTree(Container.java:1579)
at java.awt.Container.validateTree(Container.java:1579)
at java.awt.Container.validateTree(Container.java:1579)
at java.awt.Container.validateTree(Container.java:1579)
at java.awt.Container.validate(Container.java:1544)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:652)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1549)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
at java.awt.Dialog$1.run(Dialog.java:1072)
at java.awt.Dialog$3.run(Dialog.java:1126)
at java.security.AccessController.doPrivileged(AccessController.java:0)
at java.awt.Dialog.show(Dialog.java:1124)
at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:834)
at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:868)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:856)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:104)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1355)
at org.openide.util.Mutex.readAccess(Mutex.java:268)
at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:841)
at java.awt.Component.show(Component.java:1455)
at java.awt.Component.setVisible(Component.java:1407)
at java.awt.Window.setVisible(Window.java:870)
at java.awt.Dialog.setVisible(Dialog.java:1011)
at org.openide.loaders.TemplateWizard.instantiateImpl(TemplateWizard.java:502)
at org.openide.loaders.TemplateWizard.instantiate(TemplateWizard.java:369)
at org.netbeans.modules.project.ui.actions.NewProject$2.run(NewProject.java:139)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
at java.awt.Dialog$1.run(Dialog.java:1072)
at java.awt.Dialog$3.run(Dialog.java:1126)
at java.security.AccessController.doPrivileged(AccessController.java:0)
at java.awt.Dialog.show(Dialog.java:1124)
at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:834)
at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:868)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:856)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:104)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1355)
at org.openide.util.Mutex.readAccess(Mutex.java:268)
at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:841)
at java.awt.Component.show(Component.java:1455)
at java.awt.Component.setVisible(Component.java:1407)
at java.awt.Window.setVisible(Window.java:870)
at java.awt.Dialog.setVisible(Dialog.java:1011)
at org.openide.loaders.TemplateWizard.instantiateImpl(TemplateWizard.java:502)
at org.openide.loaders.TemplateWizard.instantiate(TemplateWizard.java:369)
at org.netbeans.modules.project.ui.actions.NewProject$2.run(NewProject.java:139)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
at java.awt.Dialog$1.run(Dialog.java:1072)
at java.awt.Dialog$3.run(Dialog.java:1126)
at java.security.AccessController.doPrivileged(AccessController.java:0)
at java.awt.Dialog.show(Dialog.java:1124)
at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:834)
at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:868)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:856)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:104)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1355)
at org.openide.util.Mutex.readAccess(Mutex.java:268)
at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:841)
at java.awt.Component.show(Component.java:1455)
at java.awt.Component.setVisible(Component.java:1407)
at java.awt.Window.setVisible(Window.java:870)
at java.awt.Dialog.setVisible(Dialog.java:1011)
at org.openide.loaders.TemplateWizard.instantiateImpl(TemplateWizard.java:502)
at org.openide.loaders.TemplateWizard.instantiate(TemplateWizard.java:369)
at org.netbeans.modules.project.ui.actions.NewProject$2.run(NewProject.java:139)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
at java.awt.Dialog$1.run(Dialog.java:1072)
at java.awt.Dialog$3.run(Dialog.java:1126)
at java.security.AccessController.doPrivileged(AccessController.java:0)
at java.awt.Dialog.show(Dialog.java:1124)
at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:834)
at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:868)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:856)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:104)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1355)
at org.openide.util.Mutex.readAccess(Mutex.java:268)
at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:841)
at java.awt.Component.show(Component.java:1455)
at java.awt.Component.setVisible(Component.java:1407)
at java.awt.Window.setVisible(Window.java:870)
at java.awt.Dialog.setVisible(Dialog.java:1011)
at org.openide.loaders.TemplateWizard.instantiateImpl(TemplateWizard.java:502)
at org.openide.loaders.TemplateWizard.instantiate(TemplateWizard.java:369)
at org.netbeans.modules.project.ui.actions.NewProject$2.run(NewProject.java:139)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
It seems to be regression in newer JDK builds, namely "Java HotSpot(TM) Client VM, 12.0-b01" version. To see details in Netbeans exception reporter, please go to http://statistics.netbeans.org/analytics/detail.do?id=17307
Original netbeans issue entered in Issuezilla is here:
http://www.netbeans.org/issues/show_bug.cgi?id=126466
Posted Date : 2008-03-13 10:29:18.0
Copied from the description of 6668267:
FULL PRODUCT VERSION :
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b24)
Java HotSpot(TM) Client VM (build 12.0-b01, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Linux d600 2.6.24-7-generic #1 SMP Thu Feb 7 01:29:58 UTC 2008 i686 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
NullPointerException at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScollPaneLayout.java:494) on executing the webstart application. Same application runs fine with 1.6.0_05.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Only one step: jdk1.7.0/jre/bin/javaws http://jawe.objectweb.org/twe.jnlp
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Application Window to appear
ERROR MESSAGES/STACK TRACES THAT OCCUR :
NullPointerException at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScollPaneLayout.java:494)
REPRODUCIBILITY :
This bug can be reproduced always.
Release Regression From : 6u5
The above release value was the last known release where this
bug was not reproducible. Since then there has been a regression.
Posted Date : 2008-03-13 10:31:36.0
|
|
Work Around
|
Avoid using of JViewPort that have not any child components. I.e. every view port should contain at least one nested component to avoid the NPE.
|
|
Evaluation
|
It looks like a regression of the fix for 6274267
Posted Date : 2007-10-04 15:22:20.0
Thanks to pavel.stepanov, who entirely described the problem. The problem in the following code:
if (viewport != null) {
extentSize = viewport.getPreferredSize();
view = viewport.getView();
viewSize = view.getPreferredSize();
}
The viewport.getView() can return null. This causes NPE.
The fix is simple. Null check should be added:
if (viewport != null) {
extentSize = viewport.getPreferredSize();
view = viewport.getView();
if (view != null) {
viewSize = view.getPreferredSize();
} else {
viewSize = new Dimension(0, 0);
}
}
Posted Date : 2007-11-19 12:24:30.0
|
|
Comments
|
Submitted On 09-NOV-2007
Please fix this soon. It makes it impossible to use Netbeans' editor hints feature.
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |