Mm, this does look like we're giving Nuke an itch somehow.
We might be able to create a reproducible case by spamming Nuke with empty calls out and back in from TCP, from a separate thread. As it only happens after a while, it might be a memory leak of sorts, and we might be triggering it. But at the end of the day, it sounds like it will either have to be solved by The Foundry, or worked around by us.
I'll have a look at mocking something up next week, but if you feel the urge, you can have a look at xmlrpclib. It's a the standard Python module used for IPC. We'll need that running in a separate thread, and then we'll spam it with a
for x in xrange(10000) or similar until it spits out the same error.
Here's something to get started.
from SimpleXMLRPCServer import SimpleXMLRPCServer
def add(x, y):
return x + y
server = SimpleXMLRPCServer(("127.0.0.1", 8000))
t = threading.Thread(target=server.serve_forever)
t.daemon = True
From the same Nuke session, we'll do something like this.
p = xmlrpclib.ServerProxy("http://127.0.0.1:8000")
for x in xrange(1000):
And start increasing the number, it shouldn't take long. I'd imagine the amount of requests to occur when publishing for a few hours to be under 100.000.