Connection forcibly closed by remote host

Might be a special case, and the reason why I don’t have the scene save as a validator is to overcome a problem in selecting the renderlayers where I iterate over the renderlayers and setting them to current to get values from them.

I’ll just revisit the select_renderlayers plugin, so it doesn’t modify the scene.

Ah, ok. It does sound like a bug, either in ftrack or Pyblish, so if you do one day stumble upon a solution, it would be wonderful if you could post back here.

Just as another note, if the saving of the scene is in a repair method, it still crashes but guessing that would be expected as its practically the same as processing the instance.

Are you getting the same error message it crashes this way?

Sorry, couldn’t reproduce the crash, so ignore the crashing without publishing comment.

Hi all - let me know if I can provide any help here.

For reference:

  • This looks like the current (old) ftrack API being used, which uses the xmlrpclib in Python. That library does have a few __del__ methods that attempt to auto close the socket connection I believe.
  • I can’t see a call in the plugin code posted to ftrack.setup(). This means that the event hub was not connected by this plugin code (I assume you are loading the standard ftrack Maya plugin as well which is starting the event server connection).
  • In the ftrack API there are two distinct connections to the server. One is for the xmlrpc transport of the main API functions, the other is for the event system. It is a little unclear from the error posted which connection is causing the issue. Perhaps try to isolate by completely disabling the event system for your code run ftrack.EVENT_HUB.disconnect()?
1 Like

This looks like the current (old) ftrack API being used, which uses the xmlrpclib in Python. That library does have a few del methods that attempt to auto close the socket connection I believe.

Yup, its the old ftrack API

I can’t see a call in the plugin code posted to ftrack.setup(). This means that the event hub was not connected by this plugin code (I assume you are loading the standard ftrack Maya plugin as well which is starting the event server connection).

Yeah, loading the ftrack Maya plugin.

Disconnecting the EVENT_HUB, still causes the crash meaning that the problem is else where?

Thanks for helping out, @martin.

@tokejepsen, does it still crash when publishing via pyblish.util.publish()?

Successful publish with this code. Unsuccessful with the ui.

Ok, then it must have something to do with IPC. Pyblish is also using xmlrpclib for that.

@tokejepsen I think the only way to not get to the bottom of it, is with a minimal example, ideally using the ftrack demo account.

I can take a look if you get this up, you should be able to use all of your live plug-ins, given none are them are too personal.

On your end, you can run pyblish.api.deregister_all_paths(), and load in only a single plug-in at a time, either via pyblish.register_plugin(plugin) or from a directory, until you’ve found which single plug-in is responsible, and from there start chopping it down until the problem disappears.

Likely also related to: