Hyperfoil / qDup

Lab automation and queuing scripting
Apache License 2.0
12 stars 12 forks source link

Array copy ArrayIndexOutOfBoundsException #177

Open galderz opened 1 year ago

galderz commented 1 year ago

Unable to run helloworld, it sometimes fails with:

Caused by: java.lang.ArrayIndexOutOfBoundsException: arraycopy: last destination index 10240 out of bounds for byte[8192]
    at java.lang.System.arraycopy(Native Method) ~[?:?]
    at io.hyperfoil.tools.qdup.stream.LineEmittingStream.write(LineEmittingStream.java:97) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    at io.hyperfoil.tools.qdup.stream.MultiStream.write(MultiStream.java:126) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    at io.hyperfoil.tools.qdup.stream.FilteredStream.superWrite(FilteredStream.java:112) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    at io.hyperfoil.tools.qdup.stream.FilteredStream.write(FilteredStream.java:222) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    at io.hyperfoil.tools.qdup.stream.MultiStream.write(MultiStream.java:126) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    at io.hyperfoil.tools.qdup.stream.SuffixStream.superWrite(SuffixStream.java:149) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    at io.hyperfoil.tools.qdup.stream.SuffixStream.write(SuffixStream.java:211) ~[qDup-0.6.17-SNAPSHOT-uber.jar:?]
    ... 26 more

Full stacktrace can be found here.

Client env is macOS and server Fedora. Java version 17.

johnaohara commented 1 year ago

After digging, this is the same issue as #178, closing this issue and will resolve in #178

johnaohara commented 1 year ago

Thinking about it some more, we want a bounds check to ensure we correctly handle the buffer overflow, am re-opening