Bug 2256 - testSaveLoad(frysk.gui.test.TestObserverSaveLoad)java.lang.NullPointerException
Summary: testSaveLoad(frysk.gui.test.TestObserverSaveLoad)java.lang.NullPointerException
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P1 normal
Target Milestone: ---
Assignee: Phil Muldoon
URL:
Keywords:
Depends on:
Blocks: 3399
  Show dependency treegraph
 
Reported: 2006-02-02 03:55 UTC by Andrew Cagney
Modified: 2006-11-28 15:41 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Cagney 2006-02-02 03:55:38 UTC
1) testSaveLoad(frysk.gui.test.TestObserverSaveLoad)java.lang.NullPointerException
   at frysk.gui.common.Messages.getString(java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/common/Messages.java:79)
   at frysk.gui.monitor.actions.LogAction.LogAction()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/actions/LogAction.java:51)
   at frysk.gui.monitor.observers.ObserverRoot.ObserverRoot(java.lang.String,
java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/ObserverRoot.java:57)
   at
frysk.gui.monitor.observers.TaskObserverRoot.TaskObserverRoot(java.lang.String,
java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/TaskObserverRoot.java:11)
   at frysk.gui.monitor.observers.TaskForkedObserver.TaskForkedObserver()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/TaskForkedObserver.java:30)
   at frysk.gui.test.TestObserverSaveLoad.testSaveLoad()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/test/TestObserverSaveLoad.java:69)
   at TestRunner.main(java.lang.String[])
(/home/scratch/frysk/refresh/native/frysk-gui/TestRunner.java:192)
   at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
   at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
2)
testActionPointSaveLoad(frysk.gui.test.TestObserverSaveLoad)java.lang.NullPointerException
   at frysk.gui.common.Messages.getString(java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/common/Messages.java:79)
   at frysk.gui.monitor.actions.PrintTask.PrintTask()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/actions/PrintTask.java:47)
   at frysk.gui.test.TestObserverSaveLoad.testActionPointSaveLoad()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/test/TestObserverSaveLoad.java:148)
   at TestRunner.main(java.lang.String[])
(/home/scratch/frysk/refresh/native/frysk-gui/TestRunner.java:192)
   at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
   at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
3)
testExport(frysk.gui.test.TestObserverSaveLoad)java.lang.ExceptionInInitializerError
   at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0)
   at frysk.gui.test.TestObserverSaveLoad.testExport()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/test/TestObserverSaveLoad.java:174)
   at TestRunner.main(java.lang.String[])
(/home/scratch/frysk/refresh/native/frysk-gui/TestRunner.java:192)
   at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
   at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Caused by: java.lang.NullPointerException
   at frysk.gui.common.Messages.getString(java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/common/Messages.java:79)
   at frysk.gui.monitor.actions.LogAction.LogAction()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/actions/LogAction.java:51)
   at frysk.gui.monitor.observers.ObserverRoot.ObserverRoot(java.lang.String,
java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/ObserverRoot.java:57)
   at
frysk.gui.monitor.observers.TaskObserverRoot.TaskObserverRoot(java.lang.String,
java.lang.String)
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/TaskObserverRoot.java:11)
   at frysk.gui.monitor.observers.TaskExecObserver.TaskExecObserver()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/TaskExecObserver.java:22)
   at frysk.gui.monitor.observers.ObserverManager.initTaskObservers()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/ObserverManager.java:88)
   at frysk.gui.monitor.observers.ObserverManager.ObserverManager()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/ObserverManager.java:77)
   at frysk.gui.monitor.observers.ObserverManager.<clinit>()
(/home/scratch/frysk/refresh/frysk/frysk-gui/frysk/gui/monitor/observers/ObserverManager.java:64)
   at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0)
   ...17 more
Comment 1 Phil Muldoon 2006-02-02 18:55:08 UTC
Does this happen during tests? Can you give me a reproduction guide. I did make
check in the frysk/ directory and everything passed?
Comment 2 Phil Muldoon 2006-02-02 19:07:15 UTC
It is failing in a key lookup in the Messages Class.

In this code snippet from the Messages Class this method

public static String getString(String key) {

		try {
			return RESOURCE_BUNDLE.getString(key);
		} catch (MissingResourceException e) {
			return '!' + key + '!';
		}
}

Returns an NPE on RESOURCE_BUNDLE.getString(key). If we look at RESOURCE_BUNDLE
it is just a static definition of a standard java resource bundle:

private static ResourceBundle RESOURCE_BUNDLE;

Furthermore I am puzzled why this works under normal operation (ie running
Frysk), but fails with an NPE in a JUNIT tests. It's never expected to throw an
NPE and seems to be failing in the internal java class getString() lookup.
Comment 3 Phil Muldoon 2006-02-02 19:15:44 UTC
As the normal operation of resource bundle lookup works ok outside of junit (IE
ResourceBundle.getString(key) NPE's only occur under junit conditions, I added
an expanded range to the Exception handling. 

This is not a fix but a workaround, so leaving open.
Comment 4 Phil Muldoon 2006-11-28 15:41:26 UTC
I cannot reproduce this at current time, either current HEAD. The problem I
think was setting up message bundles in setUp and losing reference. As we
decided that message bundles for intl support was not the way forward, they do
not exist at this time. Additionally, I think the tests were coded incorrectly.