Tai
Tai

Reputation: 1254

Node.Js crashing on Heroku

I get the following error when I try to launch my app on heroku however it runs fine with node on the terminal eg. node server.js.

Has anyone encountered this issue?

I am using the following dependencies:

"dependencies": {
  "express": "~3.4.8",
  "mongodb": "1.1.8",
  "socket.io": "0.9.10",
  "backbone": "~1.1.1",
  "bootstrap": "0.0.2",
  "node.js": "0.0.0"
},
"engines": {
  "node": "0.8.4",
  "npm": "1.1.49"
}

I got the following error: An error occurred in the application and your page could not be served. Please try again in a few moments.

Here is the error in my heroku log.

e3-a69c-3a07d518e05a fwd="50.157.213.109" dyno=web.1 connect=0ms service=3ms status=304 
bytes=238
2014-02-17T14:35:35.140966+00:00 app[web.1]: 
2014-02-17T14:35:35.141400+00:00 app[web.1]: http.js:691
2014-02-17T14:35:35.141652+00:00 app[web.1]:     throw new Error('Can\'t set headers after they are sent.');
2014-02-17T14:35:35.141652+00:00 app[web.1]:     ^
2014-02-17T14:35:35.144602+00:00 app[web.1]: Error: Can't set headers after they are sent.
2014-02-17T14:35:35.140544+00:00 app[web.1]: GET / 304 2ms
2014-02-17T14:35:35.144602+00:00 app[web.1]:     at SendStream.send (/app/node_modules/express/node_modules/send/lib/send.js:348:8)
2014-02-17T14:35:35.144602+00:00 app[web.1]:     at /app/node_modules/express/node_modules/send/lib/send.js:323:10
2014-02-17T14:35:35.144602+00:00 app[web.1]:     at Object.oncomplete (fs.js:107:15)
2014-02-17T14:35:35.140544+00:00 app[web.1]: GET / 304 2ms
2014-02-17T14:35:35.144602+00:00 app[web.1]:     at ServerResponse.OutgoingMessage.setHeader (http.js:691:11)
2014-02-17T14:35:35.144602+00:00 app[web.1]:     at ServerResponse.res.setHeader (/app/node_modules/express/node_modules/connect/lib/patch.js:63:22)
2014-02-17T14:35:35.144602+00:00 app[web.1]:     at SendStream.type (/app/node_modules/express/node_modules/send/lib/send.js:456:7)
2014-02-17T14:35:36.268983+00:00 heroku[web.1]: Process exited with status 8
2014-02-17T14:35:36.284405+00:00 heroku[web.1]: State changed from up to crashed
2014-02-17T14:35:36.286612+00:00 heroku[web.1]: State changed from crashed to starting
2014-02-17T14:35:38.836042+00:00 heroku[web.1]: Starting process with command `node serverwithanalytics.js`
2014-02-17T14:35:40.503178+00:00 app[web.1]: connect.multipart() will be removed in connect 3.0
2014-02-17T14:35:40.503366+00:00 app[web.1]: visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
2014-02-17T14:35:40.504851+00:00 app[web.1]: connect.limit() will be removed in connect 3.0
2014-02-17T14:35:40.508557+00:00 app[web.1]: info: socket.io started
2014-02-17T14:35:40.514996+00:00 app[web.1]: Express server listening on port 44412
2014-02-17T14:35:43.280881+00:00 heroku[router]: at=info method=GET path=/css/bootstrap-responsive.css host=peaceful-waters-4142.herokuapp.com request_id=3a5ed1cc-1065-4e74-ba1d-91cb0b799e6c fwd="50.157.213.109" dyno=web.1 connect=1ms service=68ms status=304 bytes=239
2014-02-17T14:35:43.275568+00:00 app[web.1]: GET /css/bootstrap-responsive.css 304 42ms
2014-02-17T14:35:43.287066+00:00 app[web.1]: 
2014-02-17T14:35:43.288991+00:00 app[web.1]: http.js:691
2014-02-17T14:35:43.286558+00:00 app[web.1]: GET /css/bootstrap-responsive.css 304 53ms
2014-02-17T14:35:43.295520+00:00 app[web.1]:     at SendStream.type (/app/node_modules/express/node_modules/send/lib/send.js:456:7)
2014-02-17T14:35:43.291840+00:00 app[web.1]:     throw new Error('Can\'t set headers after they are sent.');
2014-02-17T14:35:43.291840+00:00 app[web.1]:           ^
2014-02-17T14:35:43.295520+00:00 app[web.1]:     at ServerResponse.OutgoingMessage.setHeader (http.js:691:11)
2014-02-17T14:35:43.295520+00:00 app[web.1]: Error: Can't set headers after they are sent.
2014-02-17T14:35:43.295520+00:00 app[web.1]:     at ServerResponse.res.setHeader (/app/node_modules/express/node_modules/connect/lib/patch.js:63:22)
2014-02-17T14:35:43.295520+00:00 app[web.1]:     at SendStream.send (/app/node_modules/express/node_modules/send/lib/send.js:348:8)
2014-02-17T14:35:43.295520+00:00 app[web.1]:     at /app/node_modules/express/node_modules/send/lib/send.js:323:10
2014-02-17T14:35:43.295520+00:00 app[web.1]:     at Object.oncomplete (fs.js:107:15)
2014-02-17T14:35:45.002412+00:00 heroku[web.1]: State changed from up to crashed
2014-02-17T14:35:44.989848+00:00 heroku[web.1]: Process exited with status 8

Upvotes: 0

Views: 235

Answers (1)

XIMRX
XIMRX

Reputation: 2192

You Can't set headers after they are sent.

This is some sort of code logic error for example there might be code lines or loops that are continuing after app page has send response to client.

See line 691 of your http.js or show your code for more specific help.

Upvotes: 1

Related Questions