AbstractMethodError ... __odbSetTracker(Lcom/objectdb/spi/Tracker;)V

#1

Hello,

we get following exception and we don't understand exactly this exception.

Can you explain this behavior?

Thanks

Best regards BTC

java.lang.AbstractMethodError: com.btc.ep.signalbuilder.editor.bl.impl.dmos.SignalBuilderEditorVectorImpl.__odbSetTracker(Lcom/objectdb/spi/Tracker;)V
at com.objectdb.o.OBC.aa(OBC.java:465) ~[na:na]
at com.objectdb.o.LDR.ZZ(LDR.java:1063) ~[na:na]
at com.objectdb.o.MST.ax(MST.java:555) ~[na:na]
at com.objectdb.o.MST.at(MST.java:475) ~[na:na]
at com.objectdb.o.MST.ZG(MST.java:446) ~[na:na]
at com.objectdb.o.WRA.ZG(WRA.java:268) ~[na:na]
at com.objectdb.o.LDR.u(LDR.java:558) ~[na:na]
at com.objectdb.o.LDR.Zj(LDR.java:475) ~[na:na]
at com.objectdb.o.LDR.n(LDR.java:274) ~[na:na]
at com.objectdb.o.OBC.ab(OBC.java:1085) ~[na:na]
at com.objectdb.o.OBC.ai(OBC.java:1003) ~[na:na]
at com.objectdb.jpa.EMImpl.find(EMImpl.java:598) ~[na:na]
at com.objectdb.jpa.EMImpl.find(EMImpl.java:518) ~[na:na]
#2

It may indicate a partial enhancement, which is not allowed.

Please check if the exception is still thrown after a clean build and enhancement of all the classes.

ObjectDB Support
#3

Good morning,

Without enhancing any entities, we get the error mentioned in first post. When we enhance all entities, we get the following error instead:

java.lang.AbstractMethodError: com.btc.ep.signalbuilder.editor.bl.impl.dmos.SignalBuilderEditorVectorImpl.getLength2()J     at com.btc.ep.signalbuilder.editor.bl.impl.internal.services.SignalBuilderEditorServiceImpl.getLength(SignalBuilderEditorServiceImpl.java:116) ~[na:na]

Best wishes, Toby

#4

The first error message can only be generated when some classes are enhanced. __odbSetTracker is a method that is added by the Enhancer, so you cannot get that error if none of your classes is enhanced. As noted above, such exceptions are expected with partial enhanced code (unfortunately we cannot avoid them, enhanced classes have dependency and when it is broken the JVM produces these errors before ObjectDB has the chance to produce a better error message).

The second error is unclear. ObjectDB is not mentioned. It indicates again a broken build with failed dependency of classes, so if ObjectDB is involved the first thing to check is that all the classes are indeed enhanced.

It may help if you could provide more details. Is it a new issue with a new version of ObjectDB? Any idea what has changed in your code that may be related to this issue?

ObjectDB Support
#5

Hi,

we identified the problem to be on our end: The OSGi Framework Manifest was a missing entry for the buddy class loading of the objectdb bundle. Thanks for pointing us in the right direction.

This issue can be closed!

Reply