SimonBin opened a new issue, #1324:
URL: https://github.com/apache/jena/issues/1324

   The cause seems to be https://github.com/javacc/javacc/issues/72
   
   We encountered this issue when a SPARQL SERVICE clause was sending a 
large-ish Geometry literal of USA to Fuseki. It stalls forever trying to parse 
the query.
   
   Ideally, the buffer would expand exponentially or there is an alternative PR 
linked in the javacc issue. Currently, the parsing buffer is apparently grown 
in steps of 2KiB 
   
   <details><summary>jstack:</summary>
   
   ```
   "qtp771666241-136" #136 prio=5 os_prio=0 cpu=13385,35ms elapsed=5538,68s 
tid=0x00007fa188007800 nid=0x15730d runnable  [0x00007fa1341f9000]
      java.lang.Thread.State: RUNNABLE
        at 
org.apache.jena.sparql.lang.arq.SimpleCharStream.ExpandBuff(SimpleCharStream.java:42)
        at 
org.apache.jena.sparql.lang.arq.SimpleCharStream.FillBuff(SimpleCharStream.java:103)
        at 
org.apache.jena.sparql.lang.arq.SimpleCharStream.readChar(SimpleCharStream.java:197)
        at 
org.apache.jena.sparql.lang.arq.ARQParserTokenManager.jjMoveNfa_0(ARQParserTokenManager.java:4369)
        at 
org.apache.jena.sparql.lang.arq.ARQParserTokenManager.jjMoveStringLiteralDfa0_0(ARQParserTokenManager.java:211)
        at 
org.apache.jena.sparql.lang.arq.ARQParserTokenManager.getNextToken(ARQParserTokenManager.java:4793)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.jj_ntk_f(ARQParser.java:8162)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.PathElt(ARQParser.java:3603)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.PathEltOrInverse(ARQParser.java:3635)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.PathSequence(ARQParser.java:3565)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.PathAlternative(ARQParser.java:3544)
        at org.apache.jena.sparql.lang.arq.ARQParser.Path(ARQParser.java:3538)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.VerbPath(ARQParser.java:3493)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.PropertyListPathNotEmpty(ARQParser.java:3418)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.TriplesSameSubjectPath(ARQParser.java:3365)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.TriplesBlock(ARQParser.java:2512)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.GroupGraphPatternSub(ARQParser.java:2425)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.GroupGraphPattern(ARQParser.java:2387)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.WhereClause(ARQParser.java:858)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.SelectQuery(ARQParser.java:137)
        at org.apache.jena.sparql.lang.arq.ARQParser.Query(ARQParser.java:31)
        at 
org.apache.jena.sparql.lang.arq.ARQParser.QueryUnit(ARQParser.java:22)
        at org.apache.jena.sparql.lang.ParserARQ$1.exec(ParserARQ.java:48)
        at org.apache.jena.sparql.lang.ParserARQ.perform(ParserARQ.java:95)
        at org.apache.jena.sparql.lang.ParserARQ.parse$(ParserARQ.java:52)
        at org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:33)
        at org.apache.jena.query.QueryFactory.parse(QueryFactory.java:144)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:83)
        at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:251)
        at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeBody(SPARQLQueryProcessor.java:234)
        at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:213)
        at 
org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
        at 
org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:83)
        at 
org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
        at 
org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:55)
        at 
org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:125)
        at 
org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:99)
        at 
org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:164)
        at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:156)
        at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:83)
        at 
org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:48)
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1600)
        at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
        at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
        at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
        at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
        at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
        at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
        at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1600)
        at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:284)
        at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:247)
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210)
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1600)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:506)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:717)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
        at org.eclipse.jetty.server.Server.handle(Server.java:562)
        at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
        at 
org.eclipse.jetty.server.HttpChannel$$Lambda$636/0x000000084084d040.dispatch(Unknown
 Source)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
        at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy$$Lambda$624/0x0000000840830c40.run(Unknown
 Source)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
        at java.lang.Thread.run([email protected]/Thread.java:829)
   ```
   </details>
   
   query is something simple as
   ```
   { ?c ^<http://www.opengis.net/ont/geosparql#sfContains> "<?xml version="1.0" 
encoding="UTF-8"?><gml:MultiSurface xmlns:gml="http://www.opengis.net/ont/gml"; 
gml:id="g2015_2014_0.104.wkb_geometry" srsDimension="2" 
srsName="urn:ogc:def:crs:EPSG::3857"><gml:surfaceMember><gml:Polygon 
gml:id="g2015_2014_0.104.wkb_geometry.1"><gml:exterior><gml:LinearRing><gml:posList>HUGE
 POS 
LIST</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface>"^^<http://www.opengis.net/ont/geosparql#gmlLiteral>
 }
   ```
   
   automatically injected from a service clause
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to