ObjectDB ObjectDB

Issue #796: [ObjectDB 2.3.7_25] Unexpected exception (Error 990)

Type: Bug ReoprtVersion: 1.4.0Priority: NormalStatus: FixedReplies: 4
#1

java -cp objectdb.jar com.objectdb.Doctor ~/athene.odb.old ~/new.old

[...]

Creating a database copy...
[ObjectDB 2.3.7_25] Unexpected exception (Error 990)
  Generated by Java HotSpot(TM) 64-Bit Server VM 1.6.0_31 (on Mac OS X 10.7.4).
Please report this error on http://www.objectdb.com/database/issue/new
com.objectdb.o.InternalException: null
com.objectdb.o.InternalException
at com.objectdb.o.VUT.p(VUT.java:846)
at com.objectdb.o.VUT.m(VUT.java:721)
at com.objectdb.o.VUT.l(VUT.java:704)
at com.objectdb.o.VUT.p(VUT.java:807)
at com.objectdb.o.VUT.m(VUT.java:721)
at com.objectdb.o.DRH.h(DRH.java:305)
at com.objectdb.o.DRH.g(DRH.java:220)
at com.objectdb.o.DMR.P(DMR.java:783)
at com.objectdb.o.DMR.P(DMR.java:721)
at com.objectdb.o.DMR.D(DMR.java:286)
at com.objectdb.o.DMR.B(DMR.java:163)
at com.objectdb.Doctor.main(Doctor.java:22)

[ObjectDB 2.3.7_25] null

edit
delete
#2

There is a problem with 2 Person instances, apparently in their salt byte[] array.

There was a change in the way byte[] arrays are stored in ObjectDB. In theory this should not affect existing databases, but still if the database was created by an old version of ObjectDB (before 2.3.0) maybe it is related.

It will be easy to generate a new ObjectDB build in which the Doctor will report the problems with these 2 Person instances without throwing an exception, but fixing these instances may be more complicated.

There are also other errors in that specific database, so after using the new build, please check your databases with the Doctor occasionally and report issues, if any.

ObjectDB Support
edit
delete
#3

Build 2.4.0_02 fixes the Doctor as explained above.

ObjectDB Support
edit
delete
#4

I tried the new version, but the doctor still crashes:

Creating a database copy...
[ObjectDB 2.4.0_02] Unexpected exception (Error 990)
  Generated by Java HotSpot(TM) 64-Bit Server VM 1.6.0_31 (on Mac OS X 10.7.4).
Please report this error on http://www.objectdb.com/database/issue/new
com.objectdb.o.InternalException: null
com.objectdb.o.InternalException
at com.objectdb.o.VUT.p(VUT.java:846)
at com.objectdb.o.VUT.m(VUT.java:721)
at com.objectdb.o.VUT.l(VUT.java:704)
at com.objectdb.o.VUT.p(VUT.java:807)
at com.objectdb.o.VUT.m(VUT.java:721)
at com.objectdb.o.DRH.h(DRH.java:305)
at com.objectdb.o.DRH.g(DRH.java:220)
at com.objectdb.o.DMR.P(DMR.java:783)
at com.objectdb.o.DMR.P(DMR.java:721)
at com.objectdb.o.DMR.D(DMR.java:286)
at com.objectdb.o.DMR.B(DMR.java:163)
at com.objectdb.Doctor.main(Doctor.java:22)

[ObjectDB 2.4.0_02] null

edit
delete
#5

You are right. The previous fix handled only diagnosis mode and a new fix (in build 2.4.0_03) should also handle repair mode. However, the Doctor doesn't fix these 2 damaged objects, and better understanding of the situation that caused these objects to be stored in bad format is still required.

ObjectDB Support
edit
delete

Reply

To post on this website please sign in.