Grunt: Recursive process.nextTick detected

Ein kleiner, fieser Fehler in Grunt hat mich die letzten Tage schwer beschäftigt. Jedesmal wenn ich einen bestimmten Task aufgerufen habe gab, es eine saftige Fehlermeldung:

(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

util.js:35
  var str = String(f).replace(formatRegExp, function(x) {
                      ^
RangeError: Maximum call stack size exceeded
Process finished with exit code 7

Mit solchen Meldungen kann niemand was ich nichts anfangen. Das verwirrt nur.

Grunt-Fehlermeldung im Editor

Grunt-Fehlermeldung im Editor

Der obige Fehler tritt auf, wenn im der im Gruntfile.js registrierte TaskName genauso heißt wie ein Task. In meinem Fall war es so:

grunt.registerTask('uglify', ['jshint', 'uglify']);

Die Lösung – wenn man denn erstmal darauf kommt – ist simpel. Einfach den TaskName irgendwie anderes benennen. Bei mir war so der Fehler behoben:

grunt.registerTask('ugly', ['jshint', 'uglify']);

Ohne den Tipp aus Stackoverflow wäre ich wohl nie darauf gekommen. Danke dafür! :-)

PS: Ach ja, wer einen Fehler findet, sollte ihn zuerst immer dem Entwickler mitteilen und dann darüber posten… ;-)

This entry was posted on by .

Heiko Mamerow

Buddhist, Vater, Freund, Internetseitenbauer, Sportler, Musikliebhaber & Verkehrsteilnehmer ;-)