2015-12-05 2 views
0

J'essaie d'exécuter un programme ruby ​​qui fait partie d'un projet RoR de .procmailrc. A partir de la ligne de commande l'intégralité du message en ligne fonctionne email bien, mais quand une action réelle .procmailrc est traitée par Procmail J'obtiens l'erreur suivante:Bizarre avec l'exécution d'un programme ruby-on-rails de procmail

/bin/sh: line 1: 12625 File size limit exceeded(core dumped) /usr/bin/rails r test.rb 

test.rb est un script simple qui copie de STDIN dans un fichier temporaire.

Mon .procmailrc est

:0: $HOME/alerts.lock 
* ^X-mailer: X-System Alert Info 
| cd /usr/local/src/Alert; /usr/bin/rails r ./test.rb 

Quelqu'un a une idée de ce qui se passe?

EDIT: Je dois noter que le remplacement /usr/bin/rails r ./test.rb dans .procmailrc avec un programme perl qui fait la même chose (comme test.rb) fonctionne.

+0

http://serverfault.com/questions/429352/file-size-limit-exceeded-in-bash/429369#429369%3a offre quelques conseils possibles. L'examen du fichier core, et/ou le suivi des appels système, devraient au moins aider à déterminer où 'rails' crée un fichier énorme. – tripleee

Répondre

0

Il semble que, comme toutes les autres questions sur la "Taille de fichier dépassée", il s'agissait effectivement d'un fichier volumineux. Ce qui m'a jeté était que

  1. Je courais un 64 bits Fedora et je pensais que la limite de taille de fichier 2G ne s'applique pas aux systèmes d'exploitation 64 bits, et
  2. La taille du fichier coupable était même pas sur 1G !!

Trouvé cela en changeant la ligne d'action de la recette .procmailrc pour exécuter le même programme sur un autre projet RoR et qui a fonctionné. Pour faire une histoire courte, à la fin il s'est avéré être le fichier development.log dans le journal/répertoire du projet. Comme je l'ai dit en 2. ci-dessus, le fichier n'était que de 192M, mais dès que je l'ai vidé, la recette .procmailrc a commencé à fonctionner.