Skip to content

Streams not properly being closed for static files when browser gets cache hit #789

@chiahrens

Description

@chiahrens

If the static file is retrieved properly, everything goes through the normal flow where the Stream._transmit is invoked and the stream is closed after the data is piped.

However, if there is a cache hit from the browser on the static file, Hapi executes Generic._transmit, and the readStream opened in response/File is never closed. This eventually results in an error that terminates node:
Error: EMFILE, open '/private/tmp/UIaaS/presentation/serving/lib/client/componentPageMixins.js'

I was able to reproduce this with the following combo:
Node v0.10 with Hapi 0.16
Node v0.10 with Hapi 1.0.0 (cloned from master as of yesterday morning)

Metadata

Metadata

Assignees

Labels

bugBug or defect

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions