Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Repeated stress leads to unknown error code #12

Open
splitice opened this issue Jul 23, 2018 · 3 comments
Open

Repeated stress leads to unknown error code #12

splitice opened this issue Jul 23, 2018 · 3 comments

Comments

@splitice
Copy link

On heavy usage (stream create, server write, server read, stream end) the server ends up getting into a state where it constantly errors for the session. The error is:

qtunnel:server INVALID_ERROR_CODE: 4294967295
    at Function.fromBuffer (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/internal/error.js:487:16)
    at Function.fromBuffer (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/internal/frame.js:881:41)
    at Object.parseFrame (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/internal/frame.js:56:35)
    at RegularPacket.parseFrames (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/internal/packet.js:325:36)
    at ServerSession._handleRegularPacket (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/session.js:199:16)
    at serverOnMessage (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/server.js:252:17)
    at Socket.socket.on.on.on (/opt/qtunnel/localtunnel-server/node_modules/quic/dist/server.js:77:44)
    at Socket.emit (events.js:180:13)
    at UDP.onMessage [as onmessage] (dgram.js:659:8) +217ms
@splitice
Copy link
Author

The error code is the RST invalid code. It looks like the server is not correctly handling RST's.

@splitice
Copy link
Author

I fixed the cause, however the handling could be alot better. I'll leave this open until you have investigated.

@splitice
Copy link
Author

Another way this error occurs is if the client sends "QUIC_TOO_MANY_AVAILABLE_STREAMS: The peer created too many available streams". This is either not encoded correctly - or not decoded correctly.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant