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
Does this happen during tests? Can you give me a reproduction guide. I did make check in the frysk/ directory and everything passed?
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.
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.
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.