Hello
The following works on Basex 10.7 but fails on Basex 11.1.
The command I'm trying to run is:
/opt/basex/bin/basex -v -c'OPEN mydb; ADD "/tmp/ZTH4ZRO.xml"'
I've attached the XML file.The output I'm getting:
Database 'mydb' was opened in 54.52 ms. Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 11.1 Java: Ubuntu, 11.0.19 OS: Linux, amd64 Stack Trace: java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negative at java.base/java.lang.System.arraycopy(Native Method) at org.basex.util.Array.insert(Array.java:99) at org.basex.util.list.ObjectList.insert(ObjectList.java:153) at org.basex.index.resource.Docs.insert(Docs.java:166) at org.basex.index.resource.Resources.insert(Resources.java:71) at org.basex.data.Data.indexAdd(Data.java:1098) at org.basex.data.Data.insert(Data.java:836) at org.basex.query.up.atomic.Insert.apply(Insert.java:44) at org.basex.query.up.atomic.AtomicUpdateCache.applyUpdates(AtomicUpdateCache.java:291) at org.basex.query.up.atomic.AtomicUpdateCache.execute(AtomicUpdateCache.java:275) at org.basex.core.cmd.Add.lambda$run$0(Add.java:62) at org.basex.core.cmd.ACreate.update(ACreate.java:90) at org.basex.core.cmd.Add.run(Add.java:56) at org.basex.core.Command.run(Command.java:233) at org.basex.core.Command.execute(Command.java:93) at org.basex.api.client.LocalSession.execute(LocalSession.java:131) at org.basex.api.client.Session.execute(Session.java:36) at org.basex.core.CLI.execute(CLI.java:94) at org.basex.core.CLI.execute(CLI.java:78) at org.basex.core.CLI.execute(CLI.java:65) at org.basex.BaseX.<init>(BaseX.java:82) at org.basex.BaseX.main(BaseX.java:44)
Hi Csaba,
It does not seem to be possible to reproduce the bug with an empty 'mydb' database. I assume it’s too large to be shared (either publicly or confidentially)? Is it possible to get this reproduced with a small instance?
What is output by the following command?
basex -v -c"OPEN mydb" -c"INFO DB"
Thanks, Christian
On Sat, Aug 10, 2024 at 8:31 PM Csaba Fekete feketecsaba@gmail.com wrote:
Hello
The following works on Basex 10.7 but fails on Basex 11.1.
The command I'm trying to run is:
/opt/basex/bin/basex -v -c'OPEN mydb; ADD "/tmp/ZTH4ZRO.xml"'
I've attached the XML file.The output I'm getting:
Database 'mydb' was opened in 54.52 ms. Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 11.1 Java: Ubuntu, 11.0.19 OS: Linux, amd64 Stack Trace: java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negative at java.base/java.lang.System.arraycopy(Native Method) at org.basex.util.Array.insert(Array.java:99) at org.basex.util.list.ObjectList.insert(ObjectList.java:153) at org.basex.index.resource.Docs.insert(Docs.java:166) at org.basex.index.resource.Resources.insert(Resources.java:71) at org.basex.data.Data.indexAdd(Data.java:1098) at org.basex.data.Data.insert(Data.java:836) at org.basex.query.up.atomic.Insert.apply(Insert.java:44) at org.basex.query.up.atomic.AtomicUpdateCache.applyUpdates(AtomicUpdateCache.java:291) at org.basex.query.up.atomic.AtomicUpdateCache.execute(AtomicUpdateCache.java:275) at org.basex.core.cmd.Add.lambda$run$0(Add.java:62) at org.basex.core.cmd.ACreate.update(ACreate.java:90) at org.basex.core.cmd.Add.run(Add.java:56) at org.basex.core.Command.run(Command.java:233) at org.basex.core.Command.execute(Command.java:93) at org.basex.api.client.LocalSession.execute(LocalSession.java:131) at org.basex.api.client.Session.execute(Session.java:36) at org.basex.core.CLI.execute(CLI.java:94) at org.basex.core.CLI.execute(CLI.java:78) at org.basex.core.CLI.execute(CLI.java:65) at org.basex.BaseX.<init>(BaseX.java:82) at org.basex.BaseX.main(BaseX.java:44)
Hi Yeah it might be something to do with size rather than BaseX version. Not sure I'm allowed to share all the db but here's the DB INFO:
Database 'mydb' was opened in 42.39 ms.
Database Properties
NAME: mydb
SIZE: 1301 MB
NODES: 79778050
DOCUMENTS: 3075
BINARIES: 0
VALUES: 0
TIMESTAMP: 2024-08-10T18:30:28.699Z
UPTODATE: false
Resource Properties
INPUTPATH:
INPUTSIZE: 0 b
INPUTDATE: 2024-08-10T18:30:28.687Z
Indexes
TEXTINDEX: false
ATTRINDEX: false
TOKENINDEX: false
FTINDEX: false
TEXTINCLUDE:
ATTRINCLUDE:
TOKENINCLUDE:
FTINCLUDE:
LANGUAGE: English
STEMMING: false
CASESENS: false
DIACRITICS: false
STOPWORDS:
UPDINDEX: false
AUTOOPTIMIZE: false
MAXCATS: 100
MAXLEN: 96
SPLITSIZE: 0
On Mon, 12 Aug 2024 at 10:49, Christian Grün christian.gruen@gmail.com wrote:
Hi Csaba,
It does not seem to be possible to reproduce the bug with an empty 'mydb' database. I assume it’s too large to be shared (either publicly or confidentially)? Is it possible to get this reproduced with a small instance?
What is output by the following command?
basex -v -c"OPEN mydb" -c"INFO DB"
Thanks, Christian
On Sat, Aug 10, 2024 at 8:31 PM Csaba Fekete feketecsaba@gmail.com wrote:
Hello
The following works on Basex 10.7 but fails on Basex 11.1.
The command I'm trying to run is:
/opt/basex/bin/basex -v -c'OPEN mydb; ADD "/tmp/ZTH4ZRO.xml"'
I've attached the XML file.The output I'm getting:
Database 'mydb' was opened in 54.52 ms. Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 11.1 Java: Ubuntu, 11.0.19 OS: Linux, amd64 Stack Trace: java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negative at java.base/java.lang.System.arraycopy(Native Method) at org.basex.util.Array.insert(Array.java:99) at org.basex.util.list.ObjectList.insert(ObjectList.java:153) at org.basex.index.resource.Docs.insert(Docs.java:166) at org.basex.index.resource.Resources.insert(Resources.java:71) at org.basex.data.Data.indexAdd(Data.java:1098) at org.basex.data.Data.insert(Data.java:836) at org.basex.query.up.atomic.Insert.apply(Insert.java:44) at org.basex.query.up.atomic.AtomicUpdateCache.applyUpdates(AtomicUpdateCache.java:291) at org.basex.query.up.atomic.AtomicUpdateCache.execute(AtomicUpdateCache.java:275) at org.basex.core.cmd.Add.lambda$run$0(Add.java:62) at org.basex.core.cmd.ACreate.update(ACreate.java:90) at org.basex.core.cmd.Add.run(Add.java:56) at org.basex.core.Command.run(Command.java:233) at org.basex.core.Command.execute(Command.java:93) at org.basex.api.client.LocalSession.execute(LocalSession.java:131) at org.basex.api.client.Session.execute(Session.java:36) at org.basex.core.CLI.execute(CLI.java:94) at org.basex.core.CLI.execute(CLI.java:78) at org.basex.core.CLI.execute(CLI.java:65) at org.basex.BaseX.<init>(BaseX.java:82) at org.basex.BaseX.main(BaseX.java:44)
Thanks. The database doesn’t look that huge.
I was surprised that the error is not raised with BaseX 10.7, as I cannot imagine substantial changes in the way how we add documents. Does the error persist when you run OPTIMIZE or OPTIMIZE ALL?
On Mon, Aug 12, 2024 at 3:36 PM Csaba Fekete feketecsaba@gmail.com wrote:
Hi Yeah it might be something to do with size rather than BaseX version. Not sure I'm allowed to share all the db but here's the DB INFO:
Database 'mydb' was opened in 42.39 ms.
Database Properties
NAME: mydb
SIZE: 1301 MB
NODES: 79778050
DOCUMENTS: 3075
BINARIES: 0
VALUES: 0
TIMESTAMP: 2024-08-10T18:30:28.699Z
UPTODATE: false
Resource Properties
INPUTPATH:
INPUTSIZE: 0 b
INPUTDATE: 2024-08-10T18:30:28.687Z
Indexes
TEXTINDEX: false
ATTRINDEX: false
TOKENINDEX: false
FTINDEX: false
TEXTINCLUDE:
ATTRINCLUDE:
TOKENINCLUDE:
FTINCLUDE:
LANGUAGE: English
STEMMING: false
CASESENS: false
DIACRITICS: false
STOPWORDS:
UPDINDEX: false
AUTOOPTIMIZE: false
MAXCATS: 100
MAXLEN: 96
SPLITSIZE: 0
On Mon, 12 Aug 2024 at 10:49, Christian Grün christian.gruen@gmail.com wrote:
Hi Csaba,
It does not seem to be possible to reproduce the bug with an empty 'mydb' database. I assume it’s too large to be shared (either publicly or confidentially)? Is it possible to get this reproduced with a small instance?
What is output by the following command?
basex -v -c"OPEN mydb" -c"INFO DB"
Thanks, Christian
On Sat, Aug 10, 2024 at 8:31 PM Csaba Fekete feketecsaba@gmail.com wrote:
Hello
The following works on Basex 10.7 but fails on Basex 11.1.
The command I'm trying to run is:
/opt/basex/bin/basex -v -c'OPEN mydb; ADD "/tmp/ZTH4ZRO.xml"'
I've attached the XML file.The output I'm getting:
Database 'mydb' was opened in 54.52 ms. Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 11.1 Java: Ubuntu, 11.0.19 OS: Linux, amd64 Stack Trace: java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negative at java.base/java.lang.System.arraycopy(Native Method) at org.basex.util.Array.insert(Array.java:99) at org.basex.util.list.ObjectList.insert(ObjectList.java:153) at org.basex.index.resource.Docs.insert(Docs.java:166) at org.basex.index.resource.Resources.insert(Resources.java:71) at org.basex.data.Data.indexAdd(Data.java:1098) at org.basex.data.Data.insert(Data.java:836) at org.basex.query.up.atomic.Insert.apply(Insert.java:44) at org.basex.query.up.atomic.AtomicUpdateCache.applyUpdates(AtomicUpdateCache.java:291) at org.basex.query.up.atomic.AtomicUpdateCache.execute(AtomicUpdateCache.java:275) at org.basex.core.cmd.Add.lambda$run$0(Add.java:62) at org.basex.core.cmd.ACreate.update(ACreate.java:90) at org.basex.core.cmd.Add.run(Add.java:56) at org.basex.core.Command.run(Command.java:233) at org.basex.core.Command.execute(Command.java:93) at org.basex.api.client.LocalSession.execute(LocalSession.java:131) at org.basex.api.client.Session.execute(Session.java:36) at org.basex.core.CLI.execute(CLI.java:94) at org.basex.core.CLI.execute(CLI.java:78) at org.basex.core.CLI.execute(CLI.java:65) at org.basex.BaseX.<init>(BaseX.java:82) at org.basex.BaseX.main(BaseX.java:44)
basex-talk@mailman.uni-konstanz.de