Hello,

in our application we "produced" a corrupt data base caused by a power fail. On restart we check data base using the "inspect" command to detect failures, creating new empty data base if found one. The attached data base seems OK using "inspect", but accessing the data base we get an exception. Perhaps this may help to make "inspect" more reliable.

Thanks a lot,

Jürgen Schwenk


Client output:

> list
Name                              Resources  Size     Input Path
-----------------------------------------------------------------------------------
VentilutionOnlineDataBaseCorrupt  1          1170 VentilutionOnlineDataBase.xml

1 database(s).

> open VentilutionOnlineDataBaseCorrupt
Database 'VentilutionOnlineDataBaseCorrupt' was opened in 0.03 ms.

> inspect
Checking main table (152 nodes):
- 0 invalid node kinds
- 0 invalid parent references
- 0 wrong parent/descendant relationships
No inconsistencies found.
'VentilutionOnlineDataBaseCorrupt' inspected in 0.06 ms.

> xquery //*
Improper use? Potential bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 10.1
Java: Eclipse Adoptium, 17.0.4
OS: Windows 10, amd64
Stack Trace:
java.lang.RuntimeException: Data Access out of bounds:
- pre value: 152
- table size: 152
- first/next pre value: 0/152
- #total/used pages: 1/1
- accessed page: 0 (1 > 0]
        at org.basex.util.Util.notExpected(Util.java:64)
        at org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:477)         at org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:158)
        at org.basex.data.Data.kind(Data.java:312)
        at org.basex.query.value.node.DBNode$6.next(DBNode.java:402)
        at org.basex.query.value.node.DBNode$6.next(DBNode.java:1)
        at org.basex.query.expr.path.IterStep$1.next(IterStep.java:38)
        at org.basex.query.expr.path.IterStep$1.next(IterStep.java:1)
        at org.basex.query.QueryContext.next(QueryContext.java:375)
        at org.basex.query.expr.path.IterPath$1.next(IterPath.java:48)
        at org.basex.query.scope.MainModule$1.next(MainModule.java:55)
        at org.basex.core.cmd.AQuery.run(AQuery.java:88)
        at org.basex.core.Command.run(Command.java:233)
        at org.basex.core.Command.execute(Command.java:93)
        at org.basex.server.ClientListener.run(ClientListener.java:141)

Query "softwareProjectVentilution" executed in 0.31 ms.


--


--

Jürgen Schwenk
- R&D Engineer -
        
        

        
        
Gründler GmbH   Tel:    +49 (0)7441 40761-14
Jaspisstrasse 23        Fax:    +49 (0)7441 40761-99
72250 Freudenstadt      E-Mail:         juergen.schw...@gruendler.de


--


--

Jürgen Schwenk
- R&D Engineer -
        
        

        
        
Gründler GmbH   Tel:    +49 (0)7441 40761-14
Jaspisstrasse 23        Fax:    +49 (0)7441 40761-99
72250 Freudenstadt      E-Mail:         juergen.schw...@gruendler.de


<<attachment: databaseCorrupt.zip>>

Reply via email to