hapijs / hapi

The Simple, Secure Framework Developers Trust
https://hapi.dev
Other
14.53k stars 1.33k forks source link

Node 14 Error: write EPIPE #4309

Open aaestrada opened 2 years ago

aaestrada commented 2 years ago

When move my app to node 14.18.1 or node version 14.15.1 i receive errors in the server.

err: { "type": "Error", "message": "write EPIPE", "stack": Error: write EPIPE at internals.end (/path-to-node_modules/@hapi/hapi/lib/transmit.js:322:21) "errno": -32, "code": "EPIPE", "syscall": "write" }

this is the same with @hapi/hapi:20.0.0 or @hapi/hapi: 20.2.1

How to reproduce this error?

If you ran a capacity test with the below config:

concurrency: 1000 ramp-up: 15m throughput: 500

Blazemeter ui will show you errors like:

conection refused, conection reset , server timeout

The origin of the problem is in the transmit file Line 322.

And the application logs will show: err: { "type": "Error", "message": "write EPIPE", "stack": Error: write EPIPE "errno": -32, "code": "EPIPE", "syscall": "write" } And i'll doing my tests with this forked

Originally posted by @kanongil in https://github.com/hapijs/hapi/issues/4296#issuecomment-954571808

kanongil commented 2 years ago

Thanks, but I asked you to create an issue, not just say the same thing again.

In order to fix this, we need a lot of more details, and preferably a reproducible test case.

aaestrada commented 2 years ago

Now i update let me know if i can do something more to help with these!

kanongil commented 2 years ago

Thanks, this helps a bit. From what you describe, it is an issue that can happen under extreme load.

I would still like some more insight into the server config and route that triggers this. Or is it a generic issue?

Also, what are you using for the capacity test? And you say you move to node v14 – from v12?

aaestrada commented 2 years ago

kanongil Thanks, this helps a bit. From what you describe, it is an issue that can happen under extreme load. aaestrada Thanks That true! This happen when run a higth capacity tests kanongil I would still like some more insight into the server config and route that triggers this. Or is it a generic issue? aaestrada Yeah that's happen when stress the server with request kanongil Also, what are you using for the capacity test? And you say you move to node v14 – from v12? aaestrada Also that's true in node 12 looks like my app support but in node 14 fail with the request come up for a lot of time.

I'm using blazemeter to run this capacity test

batrudinych commented 3 months ago

upvoting. Experiencing same errors. Not necessarily under load. Node v16.17.1, @hapi/hapi v18.4.1

hasanify commented 2 months ago
Error: write EPIPE
    at afterWriteDispatched (internal/stream_base_commons.js:154:25)
    at writeGeneric (internal/stream_base_commons.js:145:3)
    at Socket._writeGeneric (net.js:786:11)
    at Socket._write (net.js:798:8)
    at doWrite (_stream_writable.js:403:12)
    at writeOrBuffer (_stream_writable.js:387:5)
    at Socket.Writable.write (_stream_writable.js:318:11)
    at PDF.PdfExec [as exec] (C:\Programming Stuff\modbus\firecal\node_modules\html-pdf\lib\pdf.js:156:15)
    at PDF.PdfToFile [as toFile] (C:\Programming Stuff\modbus\firecal\node_modules\html-pdf\lib\pdf.js:85:8)
    at C:\Programming Stuff\modbus\firecal\node_modules\pdf-creator-node\index.js:69:20 {
  errno: 'EPIPE',
  code: 'EPIPE',
  syscall: 'write'
}

I'm getting the same error and it only occurs when the dataset i pass into the document is relatively large. Does anybody have any solutions?

Nargonath commented 2 months ago

@hasanify Can you submit a repro repo with the large document you're sending, please? This way we can reproduce the problem on our end and find the bug if there is one.