Bug report
Saturday, 10 August 2024 · 4 messages · last reply 12 Aug 2024
CF
Csaba Fekete10 Aug 2024 20:31 #
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 at 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)CG
Christian Grün12 Aug 2024 10:49 #
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?
Quoted text · Csaba Fekete · 1 line
> basex -v -c"OPEN mydb" -c"INFO DB"
Thanks,
Christian
Quoted text · Csaba Fekete · 44 lines
On Sat, Aug 10, 2024 at 8:31 PM Csaba Fekete <feketecsaba at 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 at 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) >
CF
Csaba Fekete12 Aug 2024 15:36 #
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: 0Quoted text · Christian Grün · 64 lines
On Mon, 12 Aug 2024 at 10:49, Christian Grün <christian.gruen at 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 at 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 at 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) >> >
CG
Christian Grün12 Aug 2024 15: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?
Quoted text · Csaba Fekete · 139 lines
On Mon, Aug 12, 2024 at 3:36 PM Csaba Fekete <feketecsaba at 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 at 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 at 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 at 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) >>> >>
Written for BaseX 11.1. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery