Jump to content

3dsmax - New Api freezing Max


Recommended Posts



there seems to be a problem between Max and the new api. I'm using Max 2015. While the old api does work, the new one freezes Max as soon as I call  "ftrack_api.Session()".

In logging debug this is as far as it gets:

DEBUG:ftrack_api.session.Session:Calling server http://zz-str-ftrk001/api with '[{"action": "query_server_information"}]'INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): zz-str-ftrk001DEBUG:requests.packages.urllib3.connectionpool:"POST /api HTTP/1.1" 200 NoneDEBUG:ftrack_api.session.Session:Call took: 0.156DEBUG:ftrack_api.session.Session:Response: u'[{"version": ""}]'INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): zz-str-ftrk001DEBUG:requests.packages.urllib3.connectionpool:"GET /socket.io/1/?api_user=xxxxx&api_key=xxxxxx HTTP/1.1" 200 None

And then Max freezes. I'm using api 0.7.0 and the server is on From commandline or maya everything works fine. And since I'd prefer to base all upcoming stuff on the new api I'd love to get it to work in Max too.


Cheers, Nico

Link to comment
Share on other sites

Just in case somebody else stumbles across this: The main reason for these (and other freezes I kept getting with the ftrack api) was that Max is not able to handle threads in Python that well. Especially printing to the maxscript listener from different threads make it freeze in no time.


From the Help section of Maxplus:


NOTE: Python scripts run in MAXScript are not thread-safe. Python commands are always executed in the main 3ds Max thread. You should not attempt to spawn separate threads in your scripts (for example, by using the Python threading module).


You can circumvent this by either disconnecting the sys.stdout:




or using some other hackery to filter the output before it reaches the listener.



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...