Skip to content

Stackoverflow on long cypher query with long array #1792

@ExtReMLapin

Description

@ExtReMLapin

Hello it's me again

ArcadeDB Version:

ArcadeDB Server v24.6.1 (build fbc1c77c7e1c52197abdd8661e5b34749babf3d6/1721708610769/main)

OS and JDK Version:

unning on Linux 6.5.0-41-generic - OpenJDK 64-Bit Server VM 11.0.24

Expected behavior

working query

Actual behavior

stack overflow

(too long, truncated=

<ArcadeDB_0> Error on command execution (PostQueryHandler)
com.arcadedb.exception.CommandParsingException: Error on executing Cypher query
        at com.arcadedb.cypher.query.CypherQueryEngine.command(CypherQueryEngine.java:80)
        at com.arcadedb.cypher.query.CypherQueryEngine.query(CypherQueryEngine.java:64)
        at com.arcadedb.database.LocalDatabase.query(LocalDatabase.java:1378)
        at com.arcadedb.server.ServerDatabase.query(ServerDatabase.java:494)
        at com.arcadedb.server.http.handler.PostQueryHandler.executeCommand(PostQueryHandler.java:38)
        at com.arcadedb.server.http.handler.PostCommandHandler.execute(PostCommandHandler.java:113)
        at com.arcadedb.server.http.handler.DatabaseAbstractHandler.execute(DatabaseAbstractHandler.java:100)
        at com.arcadedb.server.http.handler.AbstractServerHttpHandler.handleRequest(AbstractServerHttpHandler.java:127)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
        at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
        at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.arcadedb.exception.CommandExecutionException: Error on executing command
        at com.arcadedb.gremlin.ArcadeGremlin.execute(ArcadeGremlin.java:139)
        at com.arcadedb.cypher.ArcadeCypher.execute(ArcadeCypher.java:66)
        at com.arcadedb.cypher.query.CypherQueryEngine.command(CypherQueryEngine.java:77)
        ... 14 more
Caused by: javax.script.ScriptException: java.util.concurrent.ExecutionException: java.lang.StackOverflowError
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:383)
        at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
        at com.arcadedb.gremlin.ArcadeGremlin.executeStatement(ArcadeGremlin.java:235)
        at com.arcadedb.gremlin.ArcadeGremlin.executeStatement(ArcadeGremlin.java:212)
        at com.arcadedb.gremlin.ArcadeGremlin.execute(ArcadeGremlin.java:73)
        ... 16 more
Caused by: java.util.concurrent.ExecutionException: java.lang.StackOverflowError
        at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
        at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2005)
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.getScriptClass(GremlinGroovyScriptEngine.java:572)
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:379)
        ... 20 more
Caused by: java.lang.StackOverflowError
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)
        at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:77)
        at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:184)

code to reproduce :

import requests

url = "http://localhost:2480/api/v1/query/test_RID2"
import json

command = open("out.cypher_string.txt", "r", encoding="utf-8-sig").read()
payload_json = json.load(open("out.cypher_string_params.json", "r", encoding="utf-8-sig"))

json_payload = json.dumps({"command": command,
                "language": "cypher",
                "params": payload_json
            })

headers = {"Content-Type": "application/json"}
response = requests.post(
    url,
    data=json_payload,

    auth=('root', 'rootroot'),
)
print(response.text)

out.cypher_string_params.json
out.cypher_string.txt

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationwontfixThis will not be worked on

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions