Project

Profile

Help

Maintenance: Planio will be observing a scheduled maintenance window this Tuesday, November 5, 2024 from 03:00 UTC until 06:30 UTC to perform urgent network maintenance in our primary data center. Your Planio account will be unavailable during this maintenance window.

internal problem and internal error

Added by Sebastian Fey about 8 years ago

I'm developing a xquery program with oxygen 18 which uses Saxon-EE 9.6.0.7. Everything runs fine in oxygen. But when I run the code with the latest .NET version (EE 9.7.0.8) I get an "internal problem" with one query and an "internal error" with another.


saxon -update:on -tree:linked -qversion:3.0 -o:out/003-components.xml -q:003-components.xq

*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]
*** Internal problem: Base value for indexed filter is not indexable (net.sf.saxon.expr.LetExpression)
    Filter at line 31 of file:/D:/workspaces/XML/autoint/003-components.xq
$Q{http://saxon.sf.net/generated-variable}loc6114302[$Q{http://saxon.sf.net/generated-variable}loc63646052 = (name(.))]

saxon -update:on -tree:linked -qversion:3.0 -o:out/008-devices.xml -q:008-devices.xq

java.lang.NullPointerException: Internal error: expression $devices_ has no retained static context
        at net.sf.saxon.expr.Expression.getConfiguration(Expression.java:1106)
        at net.sf.saxon.expr.ItemChecker.getItemType(ItemChecker.java:280)
        at net.sf.saxon.expr.CardinalityChecker.getItemType(CardinalityChecker.java:349)
        at net.sf.saxon.expr.instruct.CopyOf.createsNewNodes(CopyOf.java:170)
        at net.sf.saxon.expr.instruct.Instruction.computeSpecialProperties(Instruction.java:258)
        at net.sf.saxon.expr.Expression.computeStaticProperties(Expression.java:1129)
        at net.sf.saxon.expr.Expression.getSpecialProperties(Expression.java:643)
        at net.sf.saxon.expr.VariableReference.computeSpecialProperties(VariableReference.java:378)
        at net.sf.saxon.expr.Expression.computeStaticProperties(Expression.java:1129)
        at net.sf.saxon.expr.Expression.getDependencies(Expression.java:700)
        at net.sf.saxon.expr.Expression.computeDependencies(Expression.java:1181)
        at net.sf.saxon.expr.Expression.computeStaticProperties(Expression.java:1129)
        at net.sf.saxon.expr.Expression.getDependencies(Expression.java:700)
        at net.sf.saxon.expr.Expression.computeDependencies(Expression.java:1181)
        at net.sf.saxon.expr.Expression.computeStaticProperties(Expression.java:1129)
        at net.sf.saxon.expr.Expression.getDependencies(Expression.java:700)
        at net.sf.saxon.expr.UserFunctionCall.computeArgumentEvaluationModes(UserFunctionCall.java:379)
        at net.sf.saxon.query.XQueryFunction.fixupReferences(XQueryFunction.java:501)
        at net.sf.saxon.query.XQueryFunction.compile(XQueryFunction.java:379)
        at net.sf.saxon.query.XQueryFunctionLibrary.fixupGlobalFunctions(XQueryFunctionLibrary.java:313)
        at net.sf.saxon.query.QueryModule.fixupGlobalFunctions(QueryModule.java:1189)
        at net.sf.saxon.expr.instruct.Executable.fixupQueryModules(Executable.java:565)
        at net.sf.saxon.query.XQueryParser.makeXQueryExpression(XQueryParser.java:175)
        at net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:589)
        at net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:652)
        at net.sf.saxon.s9api.XQueryCompiler.compile(XQueryCompiler.java:606)
        at net.sf.saxon.Query.compileQuery(Query.java:795)
        at net.sf.saxon.Query.doQuery(Query.java:343)
        at cli.Saxon.Cmd.DotNetQuery.Main(Unknown Source)
Fatal error during query: java.lang.NullPointerException: Internal error: expression $devices_ has no retained static context

Replies (6)

Please register to reply

RE: internal problem and internal error - Added by O'Neil Delpratt about 8 years ago

Hi,

Thanks for letting us know about the problem you have discovered. Is it possible that you can send us a repo so that we can investigate further. Either on this bug issue or privately if confidential.

RE: internal problem and internal error - Added by Sebastian Fey about 8 years ago

  1. "java.lang.NullPointerException: Internal error: expression $devices_ has no retained static context" I tested the query with the latest java version were it runs without an error. If you want I can look into that again and see if I can narrow it down when I got the time (not this week) or send you the whole code per email.

  2. "Internal problem: Base value for indexed filter is not indexable "

the problem here seems to be a predicate of the form @/*[name()=$x]@ where $x is empty. I fixed the problem with a where clause, see comment in snippet.


for $action-type in $component/action-type
let $component-type := $project//components[id = $component/@id]/type
where exists($component-type) (: !!! this line fixes the problem !!! :)
return
    
        {$matrix/*[name() = $component-type]/*[name() = $action-type]/@mode/data()}
    

RE: internal problem and internal error - Added by O'Neil Delpratt about 8 years ago

Hi,

To reproduce the error we would need the full query file please.

RE: internal problem and internal error - Added by Sebastian Fey about 8 years ago

I can't send the full query, so I'll have to narrow it down, but here is another one (already narrowed down)

this query


declare variable $doc-devices := doc("out/devs-no-params.xml");
declare variable $doc-device-types := doc("res/device-types.xml");

declare variable $devices_ := $doc-devices;

copy $devices := $devices_
  modify (
  for $channel in $devices//channel
  return
    replace node $channel
      with
      
        {$channel/@*}
      
  )
  return
    $devices

with this doc




  
    
  

gives me a NullPointerException:

java net.sf.saxon.Query -update:on -tree:linked -q:foo.xq
Saxon evaluation license expires in 12 days
java.lang.NullPointerException
        at net.sf.saxon.tree.linked.NodeImpl.getNamePool(NodeImpl.java:362)
        at net.sf.saxon.tree.linked.NodeImpl.getURI(NodeImpl.java:395)
        at net.sf.saxon.om.NameOfNode.hasURI(NameOfNode.java:82)
        at net.sf.saxon.event.ComplexContentOutputter.startContent(ComplexContentOutputter.java:570)
        at net.sf.saxon.tree.linked.ElementImpl.copy(ElementImpl.java:349)
        at net.sf.saxon.tree.linked.ElementImpl.copy(ElementImpl.java:355)
        at net.sf.saxon.tree.linked.ElementImpl.copy(ElementImpl.java:355)
        at net.sf.saxon.event.ComplexContentOutputter.append(ComplexContentOutputter.java:531)
        at net.sf.saxon.event.ComplexContentOutputter.append(ComplexContentOutputter.java:520)
        at net.sf.saxon.expr.VariableReference.process(VariableReference.java:482)
        at com.saxonica.ee.update.CopyModifyExpression.process(CopyModifyExpression.java:361)
        at EE_main_01975546571.process(file:/D:/workspace/autoint/foo.xq:7)
        at com.saxonica.ee.bytecode.CompiledExpression.process(CompiledExpression.java:66)
        at net.sf.saxon.query.XQueryExpression.run(XQueryExpression.java:409)
        at net.sf.saxon.s9api.XQueryEvaluator.run(XQueryEvaluator.java:368)
        at net.sf.saxon.Query.runQuery(Query.java:892)
        at net.sf.saxon.Query.doQuery(Query.java:439)
        at net.sf.saxon.Query.main(Query.java:111)
Fatal error during query: java.lang.NullPointerException:  (no message)

RE: internal problem and internal error - Added by Sebastian Fey about 8 years ago

version SaxonEE9-6-0-9J (where can I edit my posting?)

-- Click on the pencil icon to the right of the post

RE: internal problem and internal error - Added by Michael Kay about 8 years ago

The problem occurs for me when running from the command line, but not when running 9.6 in my IDE. This suggests it's a bug that has been fixed since the last 9.6 maintenance release.

A search leads me to bug 2789 (see comment #4)

https://saxonica.plan.io/issues/2789

    (1-6/6)

    Please register to reply