[
https://issues.apache.org/jira/browse/JENA-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17525463#comment-17525463
]
Christian Clausen commented on JENA-1376:
-----------------------------------------
Hi [~andy],
Sure. The project is still a secret, but I can describe our data in general
terms. The data has (long) paths of :FLOW relations. The SPARQL looks like this
(where :n42 is the starting point and :n117 is the end point):
{code:java}
PREFIX : <http://flow/>
SELECT ?x
WHERE
{
:n42 :FLOW* ?x .
?x :DECLARATION :n117 .
}{code}
So we try to find nodes, x, which have :n117 as declaration and are
FLOW-reachable from :n42.
We have been able to work around the stack overflow by setting a larger stack
size with -Mss. This is not an ideal solution, but we may get away with it for
now as the first version of our app is single-user and Jena Fuseki does not
seem to use a lot of threads in it's processing.
> FUSEKI recursive stack overflow crash on * query in optional where clause
> -------------------------------------------------------------------------
>
> Key: JENA-1376
> URL: https://issues.apache.org/jira/browse/JENA-1376
> Project: Apache Jena
> Issue Type: Bug
> Reporter: james michael dupont
> Priority: Minor
>
> changing
> {noformat}
> ?b_args2 gcc:chain ?b_args3.
> {noformat}
> to
> {noformat}
> ?b_args2 gcc:chain* ?b_args3.
> {noformat}
> causes a 500 error see http://paste.debian.net/977429/ for the full stack.
> at
> org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(PathEngineSPARQL.java:133)
> {noformat}
> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> PREFIX gcc:
> <https://h4ck3rm1k3.github.io/gogccintro/gcc/ontology/2017/05/20/gcc_compiler.owl#>
> PREFIX owl: <http://www.w3.org/2002/07/owl#>
> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> select distinct
> ?b
> ?b_name_string
> ?b_args ?b_args_type ?b_args_name_string ?b_args2_name_string
> ?b_args3_name_string
> where {
>
> optional {
> ?b_args2 gcc:chain* ?b_args3.
> ?b_args3_name gcc:strg ?b_args3_name_string.
> ?b_args3 gcc:name ?b_args3_name.
> ?b_args3 rdf:type gcc:parm_decl.
> }
>
> optional {
> ?b_args gcc:chain ?b_args2.
> ?b_args2_name gcc:strg ?b_args2_name_string.
> ?b_args2 gcc:name ?b_args2_name.
> ?b_args2 rdf:type gcc:parm_decl.
> }
>
> ?b_args_name gcc:strg ?b_args_name_string.
> ?b_args gcc:name ?b_args_name.
> ?b_args rdf:type gcc:parm_decl.
>
> ?b rdf:type gcc:function_decl.
> ?b gcc:scpe ?a.
> ?b gcc:name ?b_name.
> ?b gcc:args ?b_args.
> ?b_name gcc:strg ?b_name_string.
> ?a rdf:type gcc:translation_unit_decl.
>
> }
> limit 10
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]