Hello. We are successfully running CrowdRender on Ubuntu Linux servers with desktop interfaces with the new version 0.2.2 and Blender 2.8.1 -- but after setting up the new versions of both Blender and CrowdRender on headless Ubuntu Server machines (which used to work properly with Blender 2.8 and CrowdRender 0.2.1), we are now getting "Render Failure" messages at the bottom of the Blender screen now. Empty/black images are generated.
The headless Ubuntu Server machines are set up according to the instructions here: https://gist.github.com/zocker-160/0688a4902421158b66f52dff3966058a
The consoles of the headless servers report the following error. This appears after we run the shell script to start the CrowdRender service, and get the normal "Crowd Render Server Interface Process ready" message. Note the reference to the "/Users/jamescrowther/Desktop" directory, which obviously is not present on the servers. Is this a bug?
Traceback (most recent call last):
File "/home/administrator/.config/blender/2.81/scripts/addons/crowdrender/src/ py_3_7/serv_int_start.py", line 68, in <module>
machine_manager = server_interface.CRMachineManager()
File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS re leases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 141, in __init__
File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS re leases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 401, in service_interface_process
File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS re leases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 506, in process_msgs
File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS re leases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 680, in start_remote_session
File "/home/administrator/blender2.81/2.81/python/lib/python3.7/subprocess.py" , line 939, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "/home/administrator/blender2.81/2.81/python/lib/python3.7/subprocess.py" , line 1672, in _communicate
selector.register(self.stdout, selectors.EVENT_READ)
File "/home/administrator/blender2.81/2.81/python/lib/python3.7/selectors.py", line 352, in register
key = super().register(fileobj, events, data)
File "/home/administrator/blender2.81/2.81/python/lib/python3.7/selectors.py", line 238, in register
key = SelectorKey(fileobj, self._fileobj_lookup(fileobj), events, data)
File "/home/administrator/blender2.81/2.81/python/lib/python3.7/selectors.py", line 225, in _fileobj_lookup
return _fileobj_to_fd(fileobj)
File "/home/administrator/blender2.81/2.81/python/lib/python3.7/selectors.py", line 40, in _fileobj_to_fd
"{!r}".format(fileobj)) from None
ValueError: Invalid file object: <_io.BufferedReader name=38>
Blender quit
Thank you!
Whoops! Copied from the terminal. I updated the error above for search engine purposes and attached it below.
Thanks!
Hi @Mark Plover :) I've read the error message but the lines are truncated, I am missing parts of each statement. Can you try uploading this as a text file instead? Or if that is exactly what you got, then there's some other issue you'll need to fix so we can get a clean log of the problem :)
Best wishes
James
So I've encountered the same issue with v0.2.3. The only suspicious thing I can see from the python error is the full path on @James Crowther 's PC for certain files being referenced. I would love to get this working if someone can help me with this reproducible issue.I followed the same steps from the github link posted by OP. Below is the error log I'm seeing.
Aug 11 02:41:36 test.server.com blender[25646]: Blender 2.83.4 (hash c113af82881a built 2020-08-05 06:00:03) Aug 11 02:41:36 test.server.com blender[25646]: Read prefs: /root/.config/blender/2.83/config/userpref.blend Aug 11 02:41:36 test.server.com blender[25646]: found bundled python: /opt/blender-2.83.4/2.83/python Aug 11 02:41:36 test.server.com blender[25646]: Traceback (most recent call last): Aug 11 02:41:36 test.server.com blender[25646]: File "/root/.config/blender/2.83/scripts/addons/crowdrender/src/py_3_7/serv_int_start.py", line 68, in <module> Aug 11 02:41:36 test.server.com blender[25646]: machine_manager = server_interface.CRMachineManager() Aug 11 02:41:36 test.server.com blender[25646]: File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS releases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 141, in __init__ Aug 11 02:41:36 test.server.com blender[25646]: File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS releases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 401, in service_interface_process Aug 11 02:41:36 test.server.com blender[25646]: File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS releases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 506, in process_msgs Aug 11 02:41:36 test.server.com blender[25646]: File "/Users/jamescrowther/Desktop/Crowdrender/cr_compile/releases/multi OS releases/blender_addon/2.80/crowdrender/src/cr/server_interface.py", line 680, in start_remote_session Aug 11 02:41:36 test.server.com blender[25646]: File "/opt/blender-2.83.4/2.83/python/lib/python3.7/subprocess.py", line 939, in communicate Aug 11 02:41:36 test.server.com blender[25646]: stdout, stderr = self._communicate(input, endtime, timeout) Aug 11 02:41:36 test.server.com blender[25646]: File "/opt/blender-2.83.4/2.83/python/lib/python3.7/subprocess.py", line 1672, in _communicate Aug 11 02:41:36 test.server.com blender[25646]: selector.register(self.stdout, selectors.EVENT_READ) Aug 11 02:41:36 test.server.com blender[25646]: File "/opt/blender-2.83.4/2.83/python/lib/python3.7/selectors.py", line 352, in register Aug 11 02:41:36 test.server.com blender[25646]: key = super().register(fileobj, events, data) Aug 11 02:41:36 test.server.com blender[25646]: File "/opt/blender-2.83.4/2.83/python/lib/python3.7/selectors.py", line 238, in register Aug 11 02:41:36 test.server.com blender[25646]: key = SelectorKey(fileobj, self._fileobj_lookup(fileobj), events, data) Aug 11 02:41:36 test.server.com blender[25646]: File "/opt/blender-2.83.4/2.83/python/lib/python3.7/selectors.py", line 225, in _fileobj_lookup Aug 11 02:41:36 test.server.com blender[25646]: return _fileobj_to_fd(fileobj) Aug 11 02:41:36 test.server.com blender[25646]: File "/opt/blender-2.83.4/2.83/python/lib/python3.7/selectors.py", line 40, in _fileobj_to_fd Aug 11 02:41:36 test.server.com blender[25646]: "{!r}".format(fileobj)) from None Aug 11 02:41:36 test.server.com blender[25646]: ValueError: Invalid file object: <_io.BufferedReader name=41> Aug 11 02:41:36 test.server.com blender[25646]: Crowd Render Server Interface Process ready Aug 11 02:41:37 test.server.com blender[25646]: Blender quit
Hi again, we've run 0.2.2 on our headless ubuntu server, running the same instructions as the source you quoted (bear in mind we didn't run docker, we just installed the addon and started it using the instructions as given).
Our server performed as expected, it started and rendered frames without issue. So if you can give us a bit more information about the problems you are experiencing that would be great.
For starters, you said that the renders were returned black, but the error message clearly shows that the problem you encountered was actually a crash from a separate part of our system and in fact was due to attempting to connect. So any frames rendered wouldn't have come from that machine unless you had maybe been rendering and tried to connect to it whilst it was rendering...maybe. Thats just a theory I have right now!
Being frank, to have any chance of helping you, we need to be able to reproduce the problem here. If we can do that, we are almost certain it can be fixed. If we can't then we're guessing.
Hi @ckryanco :D
Thanks for posting this, sad to hear that 0.2.2 isn't behaving itself. It would help if you could provide us the exact command or script you used to install and start the server. We're trying those instructions here too with an Ubuntu server of our own to see what happens, we'll update soon with what we find :)