Hi,
We have an issue where Nuke sometimes completes a task but then hangs. To get around it for now, I added a StdOutHandler to match “Total render time:” and ExitWithSuccess()
So we now having the following StdOutHandlers
self.AddStdoutHandler( ".*ERROR:.*", self.HandleError )
self.AddStdoutHandler( ".*Error:.*", self.HandleError )
self.AddStdoutHandler( ".* seconds to execute", self.HandleProgress )
self.AddStdoutHandler( ".* took [0-9]*\\.[0-9]* seconds", self.HandleProgress )
self.AddStdoutHandler( "Total render time:.*", self.HandleComplete )
[code] def HandleError( self ):
LogInfo( "Detected Error: " + self.GetRegexMatch( 0 ))
FailRender( self.GetRegexMatch( 0 ) )
def HandleComplete( self ):
LogInfo( "Detected Task Completion (Whiskytree): " + self.GetRegexMatch( 0 ) )
SetStatusMessage( "Detected Task Completion: " + self.GetRegexMatch( 0 ) )
ExitWithSuccess()[/code]
The problem is the “Total render time:” match seems to be preempting the matches for “ERROR:”/“Error:”
For example:
0: STDOUT: Loading C:/Program Files/Nuke6.1v2/plugins/Log2Lin.dll
0: STDOUT: Loading C:/Program Files/Nuke6.1v2/plugins/Vectorfield.dll
0: STDOUT: Loading C:/Program Files/Nuke6.1v2/plugins/Colorspace.dll
0: STDOUT: Loading C:/Program Files/Nuke6.1v2/plugins/objReader.dll
0: STDOUT: [13:06.51] ERROR: Read5: Cannot read image file "X:/show/dev/AA/1000/rndr/AA_1000_lighting_CMAP/CMAP_f1280_left/v018/CMAP_f1280_left_Main/CMAP_f1280_left_Main_v018.1227.exr". Too many open files.
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read5: X:/show/dev/AA/1000/rndr/AA_1000_lighting_CMAP/CMAP_f1280_left/v018/CMAP_f1280_left_Main/CMAP_f1280_left_Main_v018.1227.exr: Reader did not set channels
0: STDOUT: [13:06.51] ERROR: Read5: X:/show/dev/AA/1000/rndr/AA_1000_lighting_CMAP/CMAP_f1280_left/v018/CMAP_f1280_left_Main/CMAP_f1280_left_Main_v018.1227.exr: Reader did not set channels
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read5: X:/show/dev/AA/1000/rndr/AA_1000_lighting_CMAP/CMAP_f1280_left/v018/CMAP_f1280_left_Main/CMAP_f1280_left_Main_v018.1227.exr: Reader did not set bounding box
0: STDOUT: [13:06.51] ERROR: Read5: X:/show/dev/AA/1000/rndr/AA_1000_lighting_CMAP/CMAP_f1280_left/v018/CMAP_f1280_left_Main/CMAP_f1280_left_Main_v018.1227.exr: Reader did not set bounding box
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read36: Cannot read image file "X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/FG_volume_left/v018/FG_volume_left_Main/FG_volume_left_Main_v018.1036.exr". Too many open files.
0: STDOUT: [13:06.51] ERROR: Read36: Cannot read image file "X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/FG_volume_left/v018/FG_volume_left_Main/FG_volume_left_Main_v018.1036.exr". Too many open files.
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read36: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/FG_volume_left/v018/FG_volume_left_Main/FG_volume_left_Main_v018.1036.exr: Reader did not set channels
0: STDOUT: [13:06.51] ERROR: Read36: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/FG_volume_left/v018/FG_volume_left_Main/FG_volume_left_Main_v018.1036.exr: Reader did not set channels
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read36: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/FG_volume_left/v018/FG_volume_left_Main/FG_volume_left_Main_v018.1036.exr: Reader did not set bounding box
0: STDOUT: [13:06.51] ERROR: Read36: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/FG_volume_left/v018/FG_volume_left_Main/FG_volume_left_Main_v018.1036.exr: Reader did not set bounding box
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read16: Cannot read image file "X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/BG_volume_left/v018/BG_volume_left_Main/BG_volume_left_Main_v018.1036.exr". Too many open files.
0: STDOUT: [13:06.51] ERROR: Read16: Cannot read image file "X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/BG_volume_left/v018/BG_volume_left_Main/BG_volume_left_Main_v018.1036.exr". Too many open files.
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read16: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/BG_volume_left/v018/BG_volume_left_Main/BG_volume_left_Main_v018.1036.exr: Reader did not set channels
0: STDOUT: [13:06.51] ERROR: Read16: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/BG_volume_left/v018/BG_volume_left_Main/BG_volume_left_Main_v018.1036.exr: Reader did not set channels
0: WARNING: Another error occurred in regex function: [13:06.51] ERROR: Read16: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/BG_volume_left/v018/BG_volume_left_Main/BG_volume_left_Main_v018.1036.exr: Reader did not set bounding box
0: STDOUT: [13:06.51] ERROR: Read16: X:/show/dev/AA/1000/rndr/AA_1000_lighting_tree/BG_volume_left/v018/BG_volume_left_Main/BG_volume_left_Main_v018.1036.exr: Reader did not set bounding box
0: INFO: Detected Task Completion: Total render time: 6.40 seconds
As you can see, “Total render time:” is matched even after 5 or 6 lines with “ERROR:” in them. Shouldn’t FailRender() have already been called?! Why are the Errors not being matched.
Is “Another error occurred in regex function” coming from Nuke or Deadline?
Thanks,
Paul