Details
Description
Our application started generating the following error after upgrading from QFJ 1.3.1 to 1.3.3
27 Mar 2009 15:24:04,115: FIX.4.4:MyComp->TheirComp: Error during message processing
java.lang.NullPointerException
at quickfix.DataDictionary.iterate(DataDictionary.java:609)
at quickfix.DataDictionary.validate(DataDictionary.java:579)
at quickfix.DataDictionary.validate(DataDictionary.java:545)
at quickfix.Session.next(Session.java:716)
at quickfix.mina.ThreadPerSessionEventHandlingStrategy$MessageDispatchingThread.run(ThreadPerSessionEventHandlingStrategy.java:75)
I have compared the DataDictionary.java source code and discovered the following snippet has been added to the iterate()...
for (List<Group> groups : map.getGroups().values()) {
for (Group group : groups)
}
The exception apparently occurred when recursively calling the iterate method; I assume because 'dd.getGroup(...) is returning null.
Based upon the stack trace, the header was being processed. The only group in the header is for the 'Hop' component. The error does not occur when the 'Hop' group is omitted.