title: TeamCity: PhantomJS have not captured in 60000 ms, killing
body: <p>I'm encountering an issue when running tests in my CI environment. The configuration works fine on MacOS 10.11.6 (El Capitan), with Node v6.0.0 / npm 3.8.6, but on a TeamCity 9.1.6 agent running Windows with Node v4.2.2 / npm 2.14.7, it fails miserably with an error of <code>PhantomJS have not captured in 60000 ms</code>.</p>
  
  <p>Here's an example stacktrace on TeamCity:</p>
  
  <pre><code>[08:58:40][exec] 02 11 2016 08:58:41.095:DEBUG [config]: autoWatch set to false, because of singleRun
  [08:58:40][exec] 02 11 2016 08:58:41.102:DEBUG [plugin]: Loading plugin karma-jasmine.
  [08:58:40][exec] 02 11 2016 08:58:41.107:DEBUG [plugin]: Loading plugin karma-chrome-launcher.
  [08:58:40][exec] 02 11 2016 08:58:41.121:DEBUG [plugin]: Loading plugin karma-firefox-launcher.
  [08:58:40][exec] 02 11 2016 08:58:41.128:DEBUG [plugin]: Loading plugin karma-phantomjs-launcher.
  [08:58:40][exec] 02 11 2016 08:58:41.263:DEBUG [web-server]: Instantiating middleware
  [08:58:41][exec] 02 11 2016 08:58:41.595:INFO [karma]: Karma v1.3.0 server started at http://localhost:9877/
  [08:58:41][exec] 02 11 2016 08:58:41.596:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
  [08:58:41][exec] 02 11 2016 08:58:41.616:INFO [launcher]: Starting browser PhantomJS
  [08:58:41][exec] 02 11 2016 08:58:41.618:DEBUG [temp-dir]: Creating temp dir at E:\TCA\3\temp\buildTmp\karma-47802965
  [08:58:41][exec] 02 11 2016 08:58:41.631:DEBUG [launcher]: E:\TCA\3\work\f900f2fe23d6c9b0\Preview\node_modules\phantomjs-prebuilt\lib\phantom\bin\phantomjs E:\TCA\3\temp\buildTmp\karma-47802965/capture.js
  [08:59:41][exec] 02 11 2016 08:59:41.621:WARN [launcher]: PhantomJS have not captured in 60000 ms, killing.
  [08:59:43][exec] 02 11 2016 08:59:43.624:WARN [launcher]: PhantomJS was not killed in 2000 ms, sending SIGKILL.
  [08:59:45][exec] 02 11 2016 08:59:45.627:WARN [launcher]: PhantomJS was not killed by SIGKILL in 2000 ms, continuing.
  [08:59:45][exec] 02 11 2016 08:59:45.628:DEBUG [launcher]: Process PhantomJS exited with code -1
  [08:59:45][exec] 02 11 2016 08:59:45.629:DEBUG [temp-dir]: Cleaning temp dir E:\TCA\3\temp\buildTmp\karma-47802965
  [08:59:45][exec] 02 11 2016 08:59:45.637:DEBUG [launcher]: PhantomJS failed (timeout). Not restarting.
  [08:59:45][exec] 02 11 2016 08:59:45.638:DEBUG [karma]: Run complete, exiting.
  [08:59:45][exec] 02 11 2016 08:59:45.639:DEBUG [launcher]: Disconnecting all browsers
  [08:59:45][exec] Warning: Task "karma:unit" failed.  Use --force to continue.
  [08:59:45][exec] 
  [08:59:45][exec] Aborted due to warnings.
  [08:59:45][exec] npm ERR! Test failed.  See above for more details.
  </code></pre>
  
  <p>Here's a snippet of package.json:</p>
  
  <pre><code>"devDependencies": {
      "bower": "latest",
      "grunt": "^1.0.1",
      "grunt-cli": "^1.2.0",
      "grunt-contrib-jshint": "^1.0.0",
      "grunt-contrib-watch": "^1.0.0",
      "grunt-istanbul-coverage": "^0.1.4",
      "grunt-karma": "^2.0.0",
      "karma": "^1.3.0",
      "karma-chrome-launcher": "^2.0.0",
      "karma-cli": "^1.0.1",
      "karma-firefox-launcher": "^1.0.0",
      "karma-jasmine": "^1.0.2",
      "karma-phantomjs-launcher": "^1.0.2",
      "jasmine-core": "^2.5.2",
      "matchdep": "^1.0.1"
  },
  "scripts": {
      "postinstall": "node ./node_modules/bower/bin/bower install",
      "test": "node ./node_modules/.bin/grunt default"
  }
  </code></pre>
  
  <p>And here's a snippet of karma.conf.js:</p>
  
  <pre><code>module.exports = function (config) {
  'use strict';
  
  config.set({
      frameworks: ['jasmine'],
      plugins: [
          'karma-jasmine',
          'karma-chrome-launcher',
          'karma-firefox-launcher',
          'karma-phantomjs-launcher'
      ],
      files: [
          &lt;...&gt;
      ],
      exclude: [],
      preprocessors: {
      },
      reporters: ['progress']
      port: 9877,
      runnerPort: 9101,
      colors: true,
      logLevel: config.LOG_DEBUG,
      autoWatch: true,
      browsers: ['PhantomJS'],
      captureTimeout: 60000,
      singleRun: true
  });
  </code></pre>