diff --git a/app/static/app/js/components/TaskListItem.jsx b/app/static/app/js/components/TaskListItem.jsx index 3a7c8cc3..26eaa491 100644 --- a/app/static/app/js/components/TaskListItem.jsx +++ b/app/static/app/js/components/TaskListItem.jsx @@ -32,6 +32,7 @@ class TaskListItem extends React.Component { editing: false, memoryError: false, badDatasetError: false, + illegalInstructionError: false, pluginActionButtons: [] } @@ -99,7 +100,7 @@ class TaskListItem extends React.Component { } if (this.state.task.status !== statusCodes.FAILED){ - this.setState({memoryError: false}); + this.setState({memoryError: false, badDatasetError: false, illegalInstructionError: false}); } } }else{ @@ -231,6 +232,9 @@ class TaskListItem extends React.Component { this.setState({memoryError: true}); }else if (line.indexOf("SVD did not converge") !== -1){ this.setState({badDatasetError: true}); + }else if (line.indexOf("Illegal instruction") !== -1 || + line.indexOf("Child returned 132") !== -1){ + this.setState({illegalInstructionError: true}); } } } @@ -361,7 +365,12 @@ class TaskListItem extends React.Component { let showOrthophotoMissingWarning = false, showMemoryErrorWarning = this.state.memoryError && task.status == statusCodes.FAILED, showBadDatasetWarning = this.state.badDatasetError && task.status == statusCodes.FAILED, - showExitedWithCodeOneHints = task.last_error === "Process exited with code 1" && !showMemoryErrorWarning && !showBadDatasetWarning && task.status == statusCodes.FAILED, + showIllegalInstructionWarning = this.state.illegalInstructionError && task.status == statusCodes.FAILED, + showExitedWithCodeOneHints = task.last_error === "Process exited with code 1" && + !showMemoryErrorWarning && + !showBadDatasetWarning && + !showIllegalInstructionWarning && + task.status == statusCodes.FAILED, memoryErrorLink = this.isMacOS() ? "http://stackoverflow.com/a/39720010" : "https://docs.docker.com/docker-for-windows/#advanced"; let actionButtons = []; @@ -495,7 +504,10 @@ class TaskListItem extends React.Component { You can read more about best practices for capturing good images here. : ""} - + + {showIllegalInstructionWarning ? +