java.lang.NullPointerException

User c23c5e9da4

25-10-2007 13:35:01

java.lang.NullPointerException


at chemaxon.marvin.modules.AutoMapper.setReactionWithoutMapping(AutoMapper.java:574)


at chemaxon.marvin.modules.AutoMapper.setReaction(AutoMapper.java:568)


at chemaxon.marvin.modules.AutoMapper.map(AutoMapper.java:805)


at chemaxon.marvin.modules.AutoMapper.mapReaction(AutoMapper.java:832)

ChemAxon 7c2d26e5cf

25-10-2007 13:37:44

Please give more details how we can reproduce this error?


Which Marvin version do you use?

User c23c5e9da4

25-10-2007 19:22:58

4.1.13

ChemAxon efa1591b5a

26-10-2007 07:21:19

Could you send us the entire stack strace, not just the top lines?


Did you use marvinsketch application when all this happened? Or you integrated the bean components in your own application? Or you called the automapper cde sirectly via its API?





Thanks


Miklos

User c23c5e9da4

26-10-2007 12:50:05

This was generated while using MSketchPane within our application. We call the automap function invoked from a button in our dialog.








java.lang.NullPointerException


at chemaxon.marvin.modules.AutoMapper.setReactionWithoutMapping(AutoMapper.java:574)


at chemaxon.marvin.modules.AutoMapper.setReaction(AutoMapper.java:568)


at chemaxon.marvin.modules.AutoMapper.map(AutoMapper.java:805)


at chemaxon.marvin.modules.AutoMapper.mapReaction(AutoMapper.java:832)


at com.vpharm.application.medchem.vbook.gui.library.summary.LibraryReactionPane$2.actionPerformed(LibraryReactionPane.java:161)


at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)


at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)


at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)


at javax.swing.DefaultButtonModel.setPressed(Unknown Source)


at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)


at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)


at java.awt.Component.processMouseEvent(Unknown Source)


at javax.swing.JComponent.processMouseEvent(Unknown Source)


at java.awt.Component.processEvent(Unknown Source)


at java.awt.Container.processEvent(Unknown Source)


at java.awt.Component.dispatchEventImpl(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Window.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.EventQueue.dispatchEvent(Unknown Source)


at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)


at java.awt.Dialog$1.run(Unknown Source)


at java.awt.Dialog$2.run(Unknown Source)


at java.security.AccessController.doPrivileged(Native Method)


at java.awt.Dialog.show(Unknown Source)


at java.awt.Component.show(Unknown Source)


at java.awt.Component.setVisible(Unknown Source)


at com.vpharm.application.medchem.vbook.gui.reaction.ReactionPane$3.mouseClicked(ReactionPane.java:291)


at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)


at java.awt.Component.processMouseEvent(Unknown Source)


at javax.swing.JComponent.processMouseEvent(Unknown Source)


at java.awt.Component.processEvent(Unknown Source)


at java.awt.Container.processEvent(Unknown Source)


at java.awt.Component.dispatchEventImpl(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Window.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.EventQueue.dispatchEvent(Unknown Source)


at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEvents(Unknown Source)


at java.awt.EventDispatchThread.pumpEvents(Unknown Source)


at java.awt.EventDispatchThread.run(Unknown Source)

ChemAxon efa1591b5a

27-10-2007 07:13:20

Thanks for the details. For us it was important to know if this was a bug in MSketch or not. It appears that the RxnMolecule you pass to AutoMapper.mapReaction is null. I checked all four AutoMapper methods that are on the top of the stack, and it is sure that the only way to get the nullpointer exception in line 574 is that the input RxnMolecule was null (I mean AutoMapper does not alter the RxnMolecule passed to the static map method...).





Does this help?





Regards


Miklos

User c23c5e9da4

30-10-2007 19:34:27

OK - Thanks - I didn't realize that RxnMolecule.getReaction could return null. Sorry for the false alarm.





Trevor

ChemAxon efa1591b5a

31-10-2007 08:23:11

No problem at all, please let us know if we can further assist the integration of AutoMapper.





Regards


Miklos

User c23c5e9da4

01-11-2007 14:55:45

Here is another AutoMapper error we have discovered.





java.lang.ArrayIndexOutOfBoundsException: 115


at chemaxon.marvin.modules.MCS.atomScore(MCS.java:1774)


at chemaxon.marvin.modules.MCS.initBFSStartingPoints(MCS.java:1741)


at chemaxon.marvin.modules.MCS.init(MCS.java:1669)


at chemaxon.marvin.modules.MCS.findFirst(MCS.java:470)


at chemaxon.marvin.modules.MCS.search(MCS.java:457)


at chemaxon.marvin.modules.AutoMapper.calculatePairWiseMCS(AutoMapper.java:1513)


at chemaxon.marvin.modules.AutoMapper.perceiveMCSMaps(AutoMapper.java:1474)


at chemaxon.marvin.modules.AutoMapper.init(AutoMapper.java:1298)


at chemaxon.marvin.modules.AutoMapper.map(AutoMapper.java:588)


at chemaxon.marvin.modules.AutoMapper.setReaction(AutoMapper.java:569)


at chemaxon.marvin.modules.AutoMapper.map(AutoMapper.java:805)


at chemaxon.marvin.modules.AutoMapper.mapReaction(AutoMapper.java:832)


at com.vpharm.application.medchem.vbook.gui.library.summary.LibraryReactionPane$2.actionPerformed(LibraryReactionPane.java:162)


at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)


at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)


at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)


at javax.swing.DefaultButtonModel.setPressed(Unknown Source)


at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)


at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)


at java.awt.Component.processMouseEvent(Unknown Source)


at javax.swing.JComponent.processMouseEvent(Unknown Source)


at java.awt.Component.processEvent(Unknown Source)


at java.awt.Container.processEvent(Unknown Source)


at java.awt.Component.dispatchEventImpl(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Window.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.EventQueue.dispatchEvent(Unknown Source)


at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)


at java.awt.Dialog$1.run(Unknown Source)


at java.awt.Dialog$2.run(Unknown Source)


at java.security.AccessController.doPrivileged(Native Method)


at java.awt.Dialog.show(Unknown Source)


at java.awt.Component.show(Unknown Source)


at java.awt.Component.setVisible(Unknown Source)


at com.vpharm.application.medchem.vbook.gui.reaction.ReactionPane$3.mouseClicked(ReactionPane.java:291)


at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)


at java.awt.Component.processMouseEvent(Unknown Source)


at javax.swing.JComponent.processMouseEvent(Unknown Source)


at java.awt.Component.processEvent(Unknown Source)


at java.awt.Container.processEvent(Unknown Source)


at java.awt.Component.dispatchEventImpl(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)


at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)


at java.awt.Container.dispatchEventImpl(Unknown Source)


at java.awt.Window.dispatchEventImpl(Unknown Source)


at java.awt.Component.dispatchEvent(Unknown Source)


at java.awt.EventQueue.dispatchEvent(Unknown Source)


at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)


at java.awt.EventDispatchThread.pumpEvents(Unknown Source)


at java.awt.EventDispatchThread.pumpEvents(Unknown Source)


at java.awt.EventDispatchThread.run(Unknown Source)

ChemAxon e500b51457

01-11-2007 21:34:50

We will check this problem. We may need some more information e.g. what kind of data has caused this exception.





Regards,


Erika.

ChemAxon efa1591b5a

05-11-2007 09:46:25

The input reaction contains an RGroup - supposedly. This causes the problem as rgroups are not yet handled by automapper. You are right saying that it should be better handled and such kind of expression should not be thrown....


Mapping S and R group atoms is planned to be implemented in the next release of marvin.





Regards,


Miklos

User c23c5e9da4

05-11-2007 15:41:42

Exactly - Since we can't control what the users are entering and runtime exceptions can have nasty side effects we would prefer it throw a checked exception or have the method return false.

ChemAxon efa1591b5a

06-11-2007 12:55:59

O.k. form now on AutoMapper throws an AutoMapperException in such kind of situation.








regards,


Miklos

User c23c5e9da4

06-11-2007 15:37:43

Perfect - Thanks