New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sometimes send
fails to close sockets
#608
Comments
I should have given a bit more context. Hopefully this is enough:
|
OTOH possibly related #490 - is it possible for you to use the |
Yes, #490 sounds very related, I'd even say mine might be a duplicate 😁 I'll see if I can get a develop branch built. It'll be an interesting mix of nix, Cabal, and GitHub :) |
It took me a little while to wrestle with nix, but now I'm convinced that this is a duplicate of #490 ! Any chance of seeing a release with the fix on Hackage soon-ish? |
As others can attest, any promises on my end about releases will only end up in tears. Therefore, I'll mention that I am actively working weeknights on a nixified |
@brendanhay thanks for all your efforts. I know (first hand) thanks to not buy any beers / living expenses. But its still better than nothing. |
It's no hurry, I have no problems with using the solution I have for building Amazonka from GitHub for a while. Take your time! |
Closing as it's a duplicate of #490 . |
I've run into a problem with running out of file descriptors. I suspect that use of
Network.AWS.Response.receiveNull
results in the program not closing sockets properly.The following snippet is a trimmed down version of what I'm doing:
This works fine for a while, but given a queue with enough messages it will fail with something like
After some detours I found out that it's actually not a network issue, but rather that the process runs out of file descriptors. Using
lsof
I can see that it doesn't seem to close /any/ sockets at all, instead they get stuck in aCLOSE_WAIT
state:However, if I don't delete from the queue, i.e. comment out the call to
delSQS
insqsDeleteSink
, then I don't see this behaviour -- the number of open sockets remain constant!The big difference I can see between sending a
ReceiveMessage
and aDeleteMessage
is their definition ofresponse
(part ofAWSRequest
).ReceiveMessage
usesreceiveXMLWrapper
whileDeleteMessage
usesreceiveNull
.I had a look at the implementations of both
receive*
functions, but quickly realised that it'll take me quite some time to make sense of them, so I thought I\d create this issue to see if someone more knowledgable could quickly confirm or dispel my suspicion.The text was updated successfully, but these errors were encountered: