Postmedia/timbits — Issue #14: Timbits with Connect-ESI under IISNode is Broken
Author: pmwilliamson
Created: 2012-02-06 15:45:07+00:00
State: open

Timbits with connect-esi under iisnode is having an issue.

Everything works as expected when just run with node.

Temporary solution for iisnode:

Comment out line 42 in timbits\lib\timbits.coffee and recompile.
#@server.use connectESI.setupESI()

Error details:

iisnode encountered an error when processing the request.
HRESULT: 0xb
HTTP status: 500
HTTP reason: Internal Server Error
You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.
In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.
The last 64k of the output generated by the node.exe process to stdout and stderr is shown below:
[x1B][36m[Mon, 06 Feb 2012 14:56:53 GMT][x1B][1m NOTICE [x1B][0m[x1B][0m Initializing the Pantry[x1B][0m
[x1B][32m[Mon, 06 Feb 2012 14:56:53 GMT][x1B][1m INFO [x1B][0m[x1B][0m Configuration: shelfLife=60, maxLife=300, capacity=1000, ideal=900[x1B][0m
[x1B][32m[Mon, 06 Feb 2012 14:56:54 GMT][x1B][1m INFO [x1B][0m[x1B][0m Timbits server listening on port undefined in development mode[x1B][0m
Press Ctrl+C to Exit
[x1B][32m[Mon, 06 Feb 2012 14:56:54 GMT][x1B][1m INFO [x1B][0m[x1B][0m Loading dynamic helpers: handy[x1B][0m
[x1B][36m[Mon, 06 Feb 2012 14:56:54 GMT][x1B][1m NOTICE [x1B][0m[x1B][0m Placing cherry in the box[x1B][0m
[x1B][36m[Mon, 06 Feb 2012 14:56:54 GMT][x1B][1m NOTICE [x1B][0m[x1B][0m Placing chocolate in the box[x1B][0m
[x1B][36m[Mon, 06 Feb 2012 14:56:55 GMT][x1B][1m NOTICE [x1B][0m[x1B][0m Placing dutchie in the box[x1B][0m
[x1B][36m[Mon, 06 Feb 2012 14:56:55 GMT][x1B][1m NOTICE [x1B][0m[x1B][0m Placing plain in the box[x1B][0m

IISNode ETW trace:

Trace is 43 pages, here are the interesting bits:

{00000000-0000-0000-4801-0080010000F2}: iisnode failed to parse response status line

{00000000-0000-0000-4801-0080010000F2}: iisnode failed to process http response status line

{00000000-0000-0000-4801-0080010000F2}: iisnode request processing failed for reasons unrecognized by iisnode

Fiddler:

Returns a 504 status.

GET http://localhost/iisnode/timbits/help HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Pragma: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: MovieSuperChannel=Location=Toronto; connect.sid=K6qKQHZhsO4as6RoFvnNqb18.67sJxr1ZJ1c4JUT1V2wUTqgqWllEnDoy45xVTdhN6Cc

[Fiddler] ReadResponse() failed: The server did not return a response for this request.

IIS Web.config:

Please let me know if you need any other info or would like me test anything.