Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected Internal Error: Index -1 out of bounds for length 16 #3322

Closed
YuanchengJiang opened this issue May 11, 2023 · 0 comments · Fixed by #3352
Closed

Unexpected Internal Error: Index -1 out of bounds for length 16 #3322

YuanchengJiang opened this issue May 11, 2023 · 0 comments · Fixed by #3352
Labels
Bug Incorrect or unexpected behavior SQL Issues or changes relating to SQL execution

Comments

@YuanchengJiang
Copy link

YuanchengJiang commented May 11, 2023

Describe the bug

Certain queries would incur internal error:

2023-05-11T12:25:55.977528Z C i.q.c.p.PGWireServer internal error [ex=
java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 16
	at io.questdb.std.ObjList.getQuick(ObjList.java:174)
	at io.questdb.cairo.AbstractRecordMetadata.getColumnMetadata(AbstractRecordMetadata.java:63)
	at io.questdb.cairo.AbstractRecordMetadata.getColumnType(AbstractRecordMetadata.java:73)
	at io.questdb.griffin.SqlCodeGenerator.generateSelectChoose(SqlCodeGenerator.java:2984)
	at io.questdb.griffin.SqlCodeGenerator.generateSelect(SqlCodeGenerator.java:2663)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery0(SqlCodeGenerator.java:2272)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery(SqlCodeGenerator.java:2259)
	at io.questdb.griffin.SqlCodeGenerator.generateSubQuery(SqlCodeGenerator.java:3620)
	at io.questdb.griffin.SqlCodeGenerator.generateSelectVirtual(SqlCodeGenerator.java:3358)
	at io.questdb.griffin.SqlCodeGenerator.generateSelect(SqlCodeGenerator.java:2667)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery0(SqlCodeGenerator.java:2272)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery(SqlCodeGenerator.java:2259)
	at io.questdb.griffin.SqlCodeGenerator.generateSubQuery(SqlCodeGenerator.java:3620)
	at io.questdb.griffin.SqlCodeGenerator.generateSelectGroupBy(SqlCodeGenerator.java:3173)
	at io.questdb.griffin.SqlCodeGenerator.generateSelect(SqlCodeGenerator.java:2665)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery0(SqlCodeGenerator.java:2272)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery(SqlCodeGenerator.java:2259)
	at io.questdb.griffin.SqlCodeGenerator.generateSubQuery(SqlCodeGenerator.java:3620)
	at io.questdb.griffin.SqlCodeGenerator.generateSelectVirtual(SqlCodeGenerator.java:3358)
	at io.questdb.griffin.SqlCodeGenerator.generateSelect(SqlCodeGenerator.java:2667)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery0(SqlCodeGenerator.java:2272)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery(SqlCodeGenerator.java:2259)
	at io.questdb.griffin.SqlCodeGenerator.generateSubQuery(SqlCodeGenerator.java:3620)
	at io.questdb.griffin.SqlCodeGenerator.generateSelectGroupBy(SqlCodeGenerator.java:3114)
	at io.questdb.griffin.SqlCodeGenerator.generateSelect(SqlCodeGenerator.java:2665)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery0(SqlCodeGenerator.java:2272)
	at io.questdb.griffin.SqlCodeGenerator.generateQuery(SqlCodeGenerator.java:2259)
	at io.questdb.griffin.SqlCodeGenerator.generate(SqlCodeGenerator.java:186)
	at io.questdb.griffin.SqlCompiler.generate(SqlCompiler.java:2731)
	at io.questdb.griffin.SqlCompiler.compileUsingModel(SqlCompiler.java:1322)
	at io.questdb.griffin.SqlCompiler.compileInner(SqlCompiler.java:1271)
	at io.questdb.griffin.SqlCompiler.compileBatch(SqlCompiler.java:322)
	at io.questdb.cutlass.pgwire.PGConnectionContext.processQuery(PGConnectionContext.java:2413)
	at io.questdb.cutlass.pgwire.PGConnectionContext.parse(PGConnectionContext.java:1683)
	at io.questdb.cutlass.pgwire.PGConnectionContext.handleClientOperation(PGConnectionContext.java:418)
	at io.questdb.cutlass.pgwire.PGJobContext.handleClientOperation(PGJobContext.java:89)
	at io.questdb.cutlass.pgwire.PGWireServer$1.lambda$$0(PGWireServer.java:91)
	at io.questdb.network.AbstractIODispatcher.processIOQueue(AbstractIODispatcher.java:189)
	at io.questdb.cutlass.pgwire.PGWireServer$1.run(PGWireServer.java:128)
	at io.questdb.mp.Worker.run(Worker.java:118)
]

To reproduce

The following query reproduces the error in the system table telemetry:

select count(*) from (select count(a.event) from telemetry as a inner join telemetry as b on a.created=b.created where a.event>0 and b.event<1 group by a.event+b.event) MyTable;

Environment

  • QuestDB version: 7.1.1
  • OS: ubuntu 20.04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Incorrect or unexpected behavior SQL Issues or changes relating to SQL execution
Projects
None yet
2 participants