diff --git a/src/main/java/com/sheepit/client/Error.java b/src/main/java/com/sheepit/client/Error.java index 2e833db..a86dd7f 100644 --- a/src/main/java/com/sheepit/client/Error.java +++ b/src/main/java/com/sheepit/client/Error.java @@ -52,6 +52,7 @@ public class Error { ENGINE_NOT_AVAILABLE(27), VALIDATION_FAILED(25), IMAGE_WRONG_DIMENSION(26), + CURRENTLY_HEADLESS(28), DENOISING_NOT_SUPPORTED(29), // internal error handling @@ -211,6 +212,8 @@ public class Error { return "Can't create/modify files due to missing write permissions in working directory."; case IMAGE_WRONG_DIMENSION: return "The rendered image had the wrong resolution. This project is configured incorrectly. Switching to another project."; + case CURRENTLY_HEADLESS: + return "Blender can not open a display to create an OpenGL context needed for EEVEE/GPencil. Will try another project in a few minutes."; default: return in.toString(); } diff --git a/src/main/java/com/sheepit/client/Job.java b/src/main/java/com/sheepit/client/Job.java index 9823e03..cf6ba2b 100644 --- a/src/main/java/com/sheepit/client/Job.java +++ b/src/main/java/com/sheepit/client/Job.java @@ -865,6 +865,14 @@ import java.util.regex.Pattern; //09-03 23:36:03 (debug) end of rendering return Error.Type.RENDERER_CRASHED; } + else if (line.contains("Unable to open a display")) { + //17-03 07:38:47 (debug) Fra:7 Mem:1667.27M (Peak 1762.19M) | Time:06:27.86 | Mem:1184.92M, Peak:1194.58M | Scene, ViewLayer | Sample 187/187 + //17-03 07:38:47 (debug) Fra:7 Mem:1667.27M (Peak 1762.19M) | Time:06:27.86 | Mem:1184.92M, Peak:1194.58M | Scene, ViewLayer | Finished + //17-03 07:38:47 (debug) Unable to open a display + //17-03 07:38:47 (debug) end of rendering + //17-03 07:38:47 (error) Job::render no picture file found (after finished render (filename_without_extension 116372253_0007) + return Error.Type.CURRENTLY_HEADLESS; + } return Type.OK; }