When analyzing complex files the phpcs can eat lots of memory and this ends up in following arc lint output (when .arclint is using phpcs linter):
Some linters failed:
- CommandException: Command failed with error #255!
COMMAND
'phpcs' '--report=xml' '--standard=vendor/aik099/coding-standard/CodingStandard' '/path/to/analyzed/file.php'
STDOUT
(empty)
STDERR
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /home/user/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/ScopeIndentSniff.php on line 335
PHP Stack trace:
PHP 1. {main}() /home/user/.composer/vendor/squizlabs/php_codesniffer/scripts/phpcs:0
PHP 2. PHP_CodeSniffer_CLI->runphpcs() /home/user/.composer/vendor/squizlabs/php_codesniffer/scripts/phpcs:25
PHP 3. PHP_CodeSniffer_CLI->process($values = *uninitialized*) /home/user/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer/CLI.php:95
PHP 4. PHP_CodeSniffer->processFiles($files = array (0 => '/home/user/web/p/rpierp/modules/custom/units/sections/e_order_eh.php'), $local = FALSE) /home/user/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer/CLI.php:855
PHP 5. PHP_CodeSniffer->processFile($file = '/home/user/web/p/rpierp/modules/custom/units/sections/e_order_eh.php', $contents = N... (9,915 more bytes) ...
(Run with `--trace` for a full exception trace.)To solve this I propose to lift memory limit, when running PHP_CodeSniffer through using -d option, that it supports.
The ArcanistPhpcsLinter::getMandatoryFlags method before:
protected function getMandatoryFlags() { $options = array('--report=xml'); if ($this->standard) { $options[] = '--standard='.$this->standard; } return $options; }
The ArcanistPhpcsLinter::getMandatoryFlags method after:
protected function getMandatoryFlags() { $options = array('--report=xml', '-d', 'memory_limit=-1'); if ($this->standard) { $options[] = '--standard='.$this->standard; } return $options; }