codespecs / daikon

Dynamic detection of likely invariants
http://plse.cs.washington.edu/daikon/
Other
214 stars 54 forks source link

java.lang.RuntimeException: Can't find parent variable #554

Open elizabethdinella opened 2 months ago

elizabethdinella commented 2 months ago
edinella $  java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

When I run Daikon on my file, I get the following error:

Daikon version 5.8.20, released May 14, 2024; http://plse.cs.washington.edu/daikon.
Reading declaration files Processing trace data; reading 1 dtrace file:

Exception in thread "main" java.lang.RuntimeException: Can't find parent variable 'NetBigInteger.NetBigInteger.ZeroMagnitude[this.m_numBitLength]' in ppt 'NetBigInteger.NetBigInteger:::OBJECT', with vars [this, NetBigInteger.NetBigInteger.IMASK, NetBigInteger.NetBigInteger.UIMASK, NetBigInteger.NetBigInteger.ZeroMagnitude, NetBigInteger.NetBigInteger.ZeroMagnitude[..], NetBigInteger.NetBigInteger.ZeroEncoding, NetBigInteger.NetBigInteger.ZeroEncoding[..], NetBigInteger.NetBigInteger.Zero, NetBigInteger.NetBigInteger.One, NetBigInteger.NetBigInteger.Two, NetBigInteger.NetBigInteger.Three, NetBigInteger.NetBigInteger.Ten, NetBigInteger.NetBigInteger.chunk2, NetBigInteger.NetBigInteger.radix2, NetBigInteger.NetBigInteger.radix2E, NetBigInteger.NetBigInteger.chunk10, NetBigInteger.NetBigInteger.radix10, NetBigInteger.NetBigInteger.radix10E, NetBigInteger.NetBigInteger.chunk16, NetBigInteger.NetBigInteger.radix16, NetBigInteger.NetBigInteger.radix16E, NetBigInteger.NetBigInteger.BitsPerByte, NetBigInteger.NetBigInteger.Zero.BitsPerInt, NetBigInteger.NetBigInteger.BytesPerInt, NetBigInteger.NetBigInteger.Zero.m_sign, NetBigInteger.NetBigInteger.Zero.m_magnitude, NetBigInteger.NetBigInteger.Zero.m_magnitude[..], NetBigInteger.NetBigInteger.Zero.m_numBits, NetBigInteger.NetBigInteger.Zero.m_numBitLength, NetBigInteger.NetBigInteger.Zero.m_quote, NetBigInteger.NetBigInteger.$assertionsDisabled, NetBigInteger.NetBigInteger.One.BitsPerInt, NetBigInteger.NetBigInteger.One.m_sign, NetBigInteger.NetBigInteger.One.m_magnitude, NetBigInteger.NetBigInteger.One.m_magnitude[..], NetBigInteger.NetBigInteger.One.m_numBits, NetBigInteger.NetBigInteger.One.m_numBitLength, NetBigInteger.NetBigInteger.One.m_quote, NetBigInteger.NetBigInteger.Two.BitsPerInt, NetBigInteger.NetBigInteger.Two.m_sign, NetBigInteger.NetBigInteger.Two.m_magnitude, NetBigInteger.NetBigInteger.Two.m_magnitude[..], NetBigInteger.NetBigInteger.Two.m_numBits, NetBigInteger.NetBigInteger.Two.m_numBitLength, NetBigInteger.NetBigInteger.Two.m_quote, NetBigInteger.NetBigInteger.Three.BitsPerInt, NetBigInteger.NetBigInteger.Three.m_sign, NetBigInteger.NetBigInteger.Three.m_magnitude, NetBigInteger.NetBigInteger.Three.m_magnitude[..], NetBigInteger.NetBigInteger.Three.m_numBits, NetBigInteger.NetBigInteger.Three.m_numBitLength, NetBigInteger.NetBigInteger.Three.m_quote, NetBigInteger.NetBigInteger.Ten.BitsPerInt, NetBigInteger.NetBigInteger.Ten.m_sign, NetBigInteger.NetBigInteger.Ten.m_magnitude, NetBigInteger.NetBigInteger.Ten.m_magnitude[..], NetBigInteger.NetBigInteger.Ten.m_numBits, NetBigInteger.NetBigInteger.Ten.m_numBitLength, NetBigInteger.NetBigInteger.Ten.m_quote, NetBigInteger.NetBigInteger.radix2.BitsPerInt, NetBigInteger.NetBigInteger.radix2.m_sign, NetBigInteger.NetBigInteger.radix2.m_magnitude, NetBigInteger.NetBigInteger.radix2.m_magnitude[..], NetBigInteger.NetBigInteger.radix2.m_numBits, NetBigInteger.NetBigInteger.radix2.m_numBitLength, NetBigInteger.NetBigInteger.radix2.m_quote, NetBigInteger.NetBigInteger.radix2E.BitsPerInt, NetBigInteger.NetBigInteger.radix2E.m_sign, NetBigInteger.NetBigInteger.radix2E.m_magnitude, NetBigInteger.NetBigInteger.radix2E.m_magnitude[..], NetBigInteger.NetBigInteger.radix2E.m_numBits, NetBigInteger.NetBigInteger.radix2E.m_numBitLength, NetBigInteger.NetBigInteger.radix2E.m_quote, NetBigInteger.NetBigInteger.radix10.BitsPerInt, NetBigInteger.NetBigInteger.radix10.m_sign, NetBigInteger.NetBigInteger.radix10.m_magnitude, NetBigInteger.NetBigInteger.radix10.m_magnitude[..], NetBigInteger.NetBigInteger.radix10.m_numBits, NetBigInteger.NetBigInteger.radix10.m_numBitLength, NetBigInteger.NetBigInteger.radix10.m_quote, NetBigInteger.NetBigInteger.radix10E.BitsPerInt, NetBigInteger.NetBigInteger.radix10E.m_sign, NetBigInteger.NetBigInteger.radix10E.m_magnitude, NetBigInteger.NetBigInteger.radix10E.m_magnitude[..], NetBigInteger.NetBigInteger.radix10E.m_numBits, NetBigInteger.NetBigInteger.radix10E.m_numBitLength, NetBigInteger.NetBigInteger.radix10E.m_quote, NetBigInteger.NetBigInteger.radix16.BitsPerInt, NetBigInteger.NetBigInteger.radix16.m_sign, NetBigInteger.NetBigInteger.radix16.m_magnitude, NetBigInteger.NetBigInteger.radix16.m_magnitude[..], NetBigInteger.NetBigInteger.radix16.m_numBits, NetBigInteger.NetBigInteger.radix16.m_numBitLength, NetBigInteger.NetBigInteger.radix16.m_quote, NetBigInteger.NetBigInteger.radix16E.BitsPerInt, NetBigInteger.NetBigInteger.radix16E.m_sign, NetBigInteger.NetBigInteger.radix16E.m_magnitude, NetBigInteger.NetBigInteger.radix16E.m_magnitude[..], NetBigInteger.NetBigInteger.radix16E.m_numBits, NetBigInteger.NetBigInteger.radix16E.m_numBitLength, NetBigInteger.NetBigInteger.radix16E.m_quote, this.BitsPerInt, this.m_sign, this.m_magnitude, this.m_magnitude[..], this.m_numBits, this.m_numBitLength, this.m_quote, size(NetBigInteger.NetBigInteger.ZeroMagnitude[..]), size(NetBigInteger.NetBigInteger.ZeroMagnitude[..])-1, size(NetBigInteger.NetBigInteger.ZeroEncoding[..]), size(NetBigInteger.NetBigInteger.ZeroEncoding[..])-1, size(NetBigInteger.NetBigInteger.Zero.m_magnitude[..]), size(NetBigInteger.NetBigInteger.Zero.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.One.m_magnitude[..]), size(NetBigInteger.NetBigInteger.One.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.Two.m_magnitude[..]), size(NetBigInteger.NetBigInteger.Two.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.Three.m_magnitude[..]), size(NetBigInteger.NetBigInteger.Three.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.Ten.m_magnitude[..]), size(NetBigInteger.NetBigInteger.Ten.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.radix2.m_magnitude[..]), size(NetBigInteger.NetBigInteger.radix2.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.radix2E.m_magnitude[..]), size(NetBigInteger.NetBigInteger.radix2E.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.radix10.m_magnitude[..]), size(NetBigInteger.NetBigInteger.radix10.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.radix10E.m_magnitude[..]), size(NetBigInteger.NetBigInteger.radix10E.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.radix16.m_magnitude[..]), size(NetBigInteger.NetBigInteger.radix16.m_magnitude[..])-1, size(NetBigInteger.NetBigInteger.radix16E.m_magnitude[..]), size(NetBigInteger.NetBigInteger.radix16E.m_magnitude[..])-1, size(this.m_magnitude[..]), size(this.m_magnitude[..])-1, this.m_magnitude[this.m_numBitLength], this.m_magnitude[this.m_numBitLength-1]] specified by var 'NetBigInteger.NetBigInteger.ZeroMagnitude[this.m_numBitLength]' in ppt 'NetBigInteger.NetBigInteger.NetBigInteger(int, int[], boolean):::EXIT'
    at daikon.PptRelation.newParentRelation(PptRelation.java:385)
    at daikon.PptRelation.init_hierarchy_new(PptRelation.java:910)
    at daikon.Daikon.process_data(Daikon.java:2432)
    at daikon.Daikon.mainHelper(Daikon.java:801)
    at daikon.Daikon.main(Daikon.java:679)

I've attached a tar file with the target file and a run script including all of the commands I am running.

ex.tar.gz

elizabethdinella commented 2 months ago

When I remove the public static final int[] ZeroMagnitude = new int[0]; variable on line 12 of NetBigInteger/NetBigInteger.java (and all references to it), the exception does not occur.