You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the udp4 proptest strategy to generate UDP4 packets in bench mark test, I noticed when making a call to that packet's data() function I'd get an unreachable panic. In adding some instrumentation, it is panicking because the payload_offset is 42 and the data buffer length itself is also 42. I did notice in adding println to the function that the issue would go away (memory/concurrency issue maybe?). I don't see it with my own strategy that uses the udp4 call but then extends the packet with a payload, which is doesn't have in the proptest generation. But then the payload may be masking it. Will know if that's true with some more testing.
I made a slight change to udp4 in the data() function as part of this repoduction to get the specific error.
My guess would be just that if payload_len is zero, data should be an empty slice (as a special case) since the offset in that case is bogus). I added a check in our app so that we don't call data if payload_len is 0.
Describe the bug?
Using the
udp4
proptest strategy to generate UDP4 packets in bench mark test, I noticed when making a call to that packet'sdata()
function I'd get an unreachable panic. In adding some instrumentation, it is panicking because the payload_offset is 42 and the data buffer length itself is also 42. I did notice in adding println to the function that the issue would go away (memory/concurrency issue maybe?). I don't see it with my own strategy that uses the udp4 call but then extends the packet with a payload, which is doesn't have in the proptest generation. But then the payload may be masking it. Will know if that's true with some more testing.I made a slight change to udp4 in the
data()
function as part of this repoduction to get the specific error.Steps to reproduce?
this branch in my fork demonstrates it with this change
Capsule version?
I am using the
djin/borrow-mut-parse
branch (0.0.2 pre-alpha) - my branch above was made from that.OS?
Using the capsule sandbox
Docker / VM / Bare?
Using the capsule sandbox with vagrant but not with the docker image in vagrant.
Stack trace or error log output
The text was updated successfully, but these errors were encountered: