Cinema4d 2023.2.0 Unable to submit with submitter - Error with Takes?

Hi everyone, I hope you are doing good.

We are using the latest version of the deadline client and repository.

One of our artist is having trouble submitting any type of jobs to deadline using c4d 2023.2.0 with Octane 2022.1.1- R5 .
Everytime they press on submit nothing happens. I dug around the c4d console logs and found these two lines that seem to be giving away the info that i’m looking for :

warningsFromTakes, errorsFromTakes = self.checkOctaneSettingsForTakes( takesToRender, scene )

TypeError:sequence item 0: expected str instance, c4d.modules.takesystem.BaseTake found

unfortunately as I am not a programmer, I’m having a hard time making sense of this; it looks like the take that they select (the artist told me that they choose the option -marked) give the wrong value ?

I will gladly provide the full logs if needed.

We have tried uninstalling the submitter, reinstalling with no luck.

Would really appreciate any help on this, don’t hesitate if I’m missing any info,
or if you need more from me.

Thank you !

Could I get the full log you’ve found those two lines in?

It looks like we’re giving a BaseTake object to some thing that’s expecting a string of characters. Likely there was some implicit conversion we were unwittingly benefiting from that’s stopped working in Python 3.10.

The full log should help narrow down where we’re passing in the wrong data.

@Justin_B

Same issue happened on one of our machines and now is slowly spreading across all of our machines.

C4d2023 console log when integrated Submit button is pressed and nothing happens - Note this looks like it is the fps integer / float bug in the c4d submitter

C:\Program Files\Maxon Cinema 4D 2023\plugins\DeadlineC4DClient.pyp:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.spawn import find_executable
Appending “//#####/DeadlineRepository10/submission/Cinema4D/Main” to system path to import SubmitC4DToDeadline module
Traceback (most recent call last):
File “scriptmanager”, line 3, in
ModuleNotFoundError:No module named 'urllib2’
Grabbing submitter info…
Writing sticky settings
Grabbing submitter info…
Writing sticky settings
Writing sticky settings
Creating C4D submit info file
Traceback (most recent call last):
File “//#####/DeadlineRepository10\submission/Cinema4D/Main\SubmitC4DToDeadline.py”, line 2939, in Command
if not self.SubmitJob():
File “//####/DeadlineRepository10\submission/Cinema4D/Main\SubmitC4DToDeadline.py”, line 2052, in SubmitJob
startFrame = renderData.GetTime( c4d.RDATA_FRAMEFROM ).GetFrame( framesPerSecond )
TypeError: ‘float’ object cannot be interpreted as an integer

Additional note: This is identified as not project based. Another machine can submit the same job with no issues.

Sorry I had these in my drafts for the longest, I also had to delete the repo’s address in the logs ;

Hi Justin, thanks a lot for answering here’s the full log.
Thank you !

"///DeadlineRepoCommercial\submission/Cinema4D/Main\SubmitC4DToDeadline.py", line 2939, in Command
if not self.SubmitJob():
** File “///DeadlineRepoCommercial\submission/Cinema4D/Main\SubmitC4DToDeadline.py”, line 1921, in SubmitJob**
warningsFromTakes, errorsFromTakes = self.checkOctaneSettingsForTakes( takesToRender, scene )
** File “///DeadlineRepoCommercial\submission/Cinema4D/Main\SubmitC4DToDeadline.py”, line 2574, in checkOctaneSettingsForTakes**
warningMessages.append( self.getRenderPassesEnabledWarning( renderPassEnabledTakes ) )
** File “(///DeadlineRepoCommercial\submission/Cinema4D/Main\SubmitC4DToDeadline.py”, line 2710, in getRenderPassesEnabledWarning**
"{}." ).format( ', '.join( renderPassEnabledTakes ) )
TypeError:sequence item 0: expected str instance, c4d.modules.takesystem.BaseTake found
Writing sticky settings
Traceback (most recent call last):

@Tim_Ellis1 did you end up finding a solution to your problem ?

Have a great day guys

Attached is a copy of SubmitC4DToDeadline.py that forces the framerate to be an integer when calculating the start and end frames.
All we have done is force the variable to an integer like this:
startFrame = renderData.GetTime( c4d.RDATA_FRAMEFROM ).GetFrame(int(framesPerSecond) )#jusbla casting fps to int

Please do make a backup of the existing C:\DeadlineRepository10/submission/Cinema4D/Main\SubmitC4DToDeadline.py file before you use this one.

SubmitC4DToDeadline.py (197.7 KB)

@Justin_B This update has not been shipped with 10.3.2.1 and I had to manually add your updates to the current submission script for c4d 2024. “Use frame range from Take” is still failing due to the float integer bug, despite the frame rate being a whole number

1 Like