I see the stack traces on Fedora Core 6 Linux, using Java SE 1.5 or 1.6.
cd ${HOME}
svn checkout http://svn.apache.org/repos/asf/incubator/felix/trunk
felix-trunk
cd felix-trunk
ant
cp
shell.gui/target/org.apache.felix.shell.gui-0.9.0-incubator-SNAPSHOT.jar \
shell.gui.plugin/target/org.apache.felix.shell.gui.plugin-0.9.0-incubator-SNAPSHOT.jar
\
main/bundle
Add the following at line 32 of main/conf/config.properties
file:bundle/org.apache.felix.shell.gui-0.9.0-incubator-SNAPSHOT.jar \
file:bundle/org.apache.felix.shell.gui.plugin-0.9.0-incubator-SNAPSHOT.jar
\
cd main
java -jar bin/felix.jar
Enter a profile name. (It doesn't matter if it is an existing profile or
not.)
Shutdown Felix by either:
- Clicking on the "Shutdown" button.
- Clicking on "System Bundle" and clicking on the "Stop" button.
- Clicking on "Shell" in the left panel, then entering "shutdown" in the
bottom text box.
The stack trace occurs more than half the time.
I think that it a race condition. Sometimes the GUI redraws occur after
the GUI plugins
are stopped (causing the stack trace). Other times, the GUI redraws
occur before the GUI
plugins are stopped and all is well.
Richard S. Hall (JIRA) wrote:
[ https://issues.apache.org/jira/browse/FELIX-248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12479311 ]
Richard S. Hall commented on FELIX-248:
---------------------------------------
I am unable to re-produce this issue under Linux even after a dozen repeated
attempts.
Could you be more explicit in the steps to reproduce? I tried stopping bundle 0 as well
as typing "shutdown" in the shell window.
Executing "shutdown" within the shellGUI often causes a stack trace
-------------------------------------------------------------------
Key: FELIX-248
URL: https://issues.apache.org/jira/browse/FELIX-248
Project: Felix
Issue Type: Bug
Reporter: Tim Moloney
Priority: Trivial
Executing "shutdown" within the shellGUI often causes the following stack trace.
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Invalid
BundleContext.
at
org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:458)
at
org.apache.felix.framework.BundleContextImpl.getBundles(BundleContextImpl.java:145)
at
org.apache.felix.shell.gui.plugin.BundleListPlugin$SimpleTableModel.getRowCount(BundleListPlugin.java:285)
at javax.swing.JTable.getRowCount(JTable.java:2597)
at
javax.swing.plaf.basic.BasicTableUI.createTableSize(BasicTableUI.java:1641)
at
javax.swing.plaf.basic.BasicTableUI.getPreferredSize(BasicTableUI.java:1682)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1627)
at
javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:769)
at java.awt.Container.layout(Container.java:1432)
at java.awt.Container.doLayout(Container.java:1421)
at java.awt.Container.validateTree(Container.java:1519)
at java.awt.Container.validate(Container.java:1491)
at
javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:639)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:127)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)