Re: [xsl] QA plugin and "Internal Saxon error: local variable encountered whose binding has been deleted" error

Subject: Re: [xsl] QA plugin and "Internal Saxon error: local variable encountered whose binding has been deleted" error
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 5 Apr 2023 21:18:18 -0000
The message is a symptom rather than a cause. It's something that happens when
an optimization rewrite leaves the expression tree in an invalid state. Over
the years there have been a number of completely unrelated bugs that manifest
themselves in this way. It's one of those annoying errors -- rather like a
NullPointerException -- that tells you what went wrong, but says nothing about
why, and that can happen for any number of reasons.

If you search the Saxon issues list at

https://saxonica.plan.io/projects/saxon/issues

for "Internal Saxon error", it gives about 20 bugs with this error message:
all of them are listed as resolved/closed, spanning a period of about 15
years. The most recent one I found related to Saxon 9.8, and it's certainly
true that we don't see this problem very often these days, but optimization
can take the product down rarely-trodden paths so it can take years for such
bugs to come out of the woodwork.

If the problem occurs on a release that is currently supported, then please
report it, preferably on the Saxon issue tracker, with a repro that allows us
to reproduce the problem and discover what went wrong.

Don't waste too much time trying to see if your particular bug matches one of
those on the issue tracker. It's a characteristic of optimizer bugs that the
symptoms are often only very indirectly related to the user-written source
code.

The workaround often involves disabling optimizations, which you can do
selectively with the -opt flag on the command line (or an equivalent
configuration option in the Java API).

Michael Kay
Saxonica

> On 5 Apr 2023, at 21:51, dvint@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> I'm trying to run the QA plugin with oXygen 25.1, and I believe Saxon EE
v11.4 or Saxon 6.
>
> When I Google the message "Internal Saxon error: local variable encountered
whose binding has been deleted" I find various reports of this problem around
2017 with indications of a a known issue, but I'm not seeing any fixes for the
issue.
>
> An oXygen article/report indicated to switch to Relax NG validation and not
sure if that applies.
>
> Seems like it was fixed as I didn't find anything recent on this issue. Any
idea on how I can work around this?
>
> ..dan

Current Thread