Very long atom strings can bring down slave service
- Dominant language
- Python
- Stars
- 184
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Description
I executed a clusterrunner job with an atomizer command that created very long atom strings. One was 139601 characters and it brought down the slave service with the following exception:
```
[2017-04-24 08:48:01.801] 22133 ERROR Bld1117-Sub673 unhandled_excep Unhandled exception handler caught exception.
Traceback (most recent call last):
File "/home/jenkins/ClusterRunnerBuild/app/util/safe_thread.py", line 18, in run
File "/usr/local/lib/python3.4/threading.py", line 868, in run
File "/home/jenkins/ClusterRunnerBuild/app/slave/cluster_slave.py", line 302, in _execute_subjob
File "/home/jenkins/ClusterRunnerBuild/app/slave/subjob_executor.py", line 100, in execute_subjob
File "/home/jenkins/ClusterRunnerBuild/app/slave/subjob_executor.py", line 144, in _execute_atom_command
File "/home/jenkins/ClusterRunnerBuild/app/project_type/git.py", line 245, in execute_command_in_project
File "/home/jenkins/ClusterRunnerBuild/app/project_type/project_type.py", line 227, in execute_command_in_project
File "/home/jenkins/ClusterRunnerBuild/app/util/process_utils.py", line 79, in Popen_with_delayed_expansion
File "/usr/local/lib/python3.4/subprocess.py", line 859, in __init__
File "/usr/local/lib/python3.4/subprocess.py", line 1457, in _execute_child
OSError: [Errno 7] Argument list too long
```
According to [a stack overflow post](http://stackoverflow.com/a/29802900), the maximum string length for an argument is 131072 characters.
We should guard against any OSErrors and just fail the atom instead of taking down the slave service.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.