On 11. Nov 2019, at 15:58, Marshall Schor <[email protected]> wrote:
>
> This stack trace seems impossible, because the 3rd line shows
>
> CASImpl.ll_getFSRef calling a FeatureStructureImpl.toString method, which I
> believe it doesn't do.
Actually ....
> org.apache.uima.cas.impl.CASImpl.ll_getFSRef(CASImpl.java:3653)
in UIMA 2.10.2 the code at this line is:
*uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java:3644ff* [1]
```
@Override
public final int ll_getFSRef(FeatureStructure fsImpl) {
if (null == fsImpl) {
return NULL;
}
final FeatureStructureImpl fsi = (FeatureStructureImpl) fsImpl;
if (this != fsi.getCASImpl()) {
if (this.getBaseCAS() != fsi.getCASImpl().getBaseCAS()) {
// https://issues.apache.org/jira/browse/UIMA-3429
throw new CASRuntimeException(CASRuntimeException.DEREF_FS_OTHER_CAS,
new Object[] {fsi.toString(), this.toString() } );
}
}
return fsi.getAddress();
}
```
So there *IS* in fact a call to `FeatureStructureImpl.toString()` here!
Cheers,
-- Richard
[1]
https://github.com/apache/uima-uimaj/blob/uimaj-2.10.2/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java#L3643-L3657