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
Request bodies shouldn't be concatenated with bodies from other requests.
Actual Behavior
They were.
Steps to Reproduce
Has been provided through other channels.
Free text since the above categories are stifling
go-resty handles retries internally in a not so great way. This bug only happens when there's a request retry, which triggers the double sync.Pool Put of the same struct, causing the race condition resulting in HTTP 400 invalid json errors.
I guess this is actually a bug in your Golang client since that uses go-resty.
lattwood
changed the title
[Bug]: go-resty has a double free causing request body concatenation
[Bug]: go-resty has a use after free causing request body concatenation
Nov 3, 2023
Expected Behavior
Request bodies shouldn't be concatenated with bodies from other requests.
Actual Behavior
They were.
Steps to Reproduce
Has been provided through other channels.
Free text since the above categories are stifling
go-resty handles retries internally in a not so great way. This bug only happens when there's a request retry, which triggers the double sync.Pool Put of the same struct, causing the race condition resulting in HTTP 400 invalid json errors.
I guess this is actually a bug in your Golang client since that uses go-resty.
I would strongly suggest replacing go-resty with the solution DigitalOcean went with- https://github.com/digitalocean/godo#automatic-retries-and-exponential-backoff
PR opened upstream: go-resty/resty#745
The text was updated successfully, but these errors were encountered: