question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Receiving a RST_STREAM on a pushed stream causes a crash

See original GitHub issue
/Users/hurley/src/node-http2/lib/protocol/stream.js:627
      throw new Error('Sending illegal frame (' + frame.type + ') in ' + this.
            ^
Error: Sending illegal frame (DATA) in CLOSED state.
    at Stream.transition [as _transition] (/Users/hurley/src/node-http2/lib/protocol/stream.js:627:13)
    at Stream._pushUpstream (/Users/hurley/src/node-http2/lib/protocol/stream.js:230:8)
    at Stream._finishing (/Users/hurley/src/node-http2/lib/protocol/stream.js:351:10)
    at Stream.emit (events.js:104:17)
    at finishMaybe (_stream_writable.js:484:14)
    at endWritable (_stream_writable.js:493:3)
    at Stream.Writable.end (_stream_writable.js:459:5)
    at OutgoingResponse._finish (/Users/hurley/src/node-http2/lib/http.js:348:17)
    at OutgoingResponse.emit (events.js:129:20)
    at finishMaybe (_stream_writable.js:484:14)

This happens when Firefox refuses a pushed stream (using RST_STREAM), either because of configuration (disabling network.http.spdy.allow-push) or because of a bug in firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=1127618). Presumably, this happens with any other UA that refuses pushes in a similar fashion.

My first suspicion is that there’s a race between receipt of the RST_STREAM (which sets the stream state to CLOSED) and stopping sending of data on the pushed stream that causes us to hit this state, but I have to investigate further to be sure.

Issue Analytics

  • State:open
  • Created 8 years ago
  • Comments:8 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
nirsharmacommented, Oct 8, 2016
0reactions
ghostcommented, Oct 8, 2016

Me too, I am not pushing anything, just fastly making several regular requests:

$('#image').attr('src','http://192.168.1.102:8080/image.jpg?version='+i);

I got this:

Error: Sending illegal frame (DATA) in CLOSED state.
    at Stream.transition [as _transition] (/home/jondoe/node_modules/http2/lib/protocol/stream.js:628:33)
    at Stream._pushUpstream (/home/jondoe/node_modules/http2/lib/protocol/stream.js:230:8)
    at Stream._finishing (/home/jondoe/node_modules/http2/lib/protocol/stream.js:351:10)
    at emitNone (events.js:86:13)
    at Stream.emit (events.js:185:7)
    at finishMaybe (_stream_writable.js:488:14)
    at endWritable (_stream_writable.js:498:3)
    at Stream.Writable.end (_stream_writable.js:463:5)
    at OutgoingResponse._finish (/home/jondoe/node_modules/http2/lib/http.js:352:17)
    at emitNone (events.js:86:13)
    at OutgoingResponse.emit (events.js:185:7)
Read more comments on GitHub >

github_iconTop Results From Across the Web

How to fix : Received RST_STREAM with error code 2 when ...
I have no problem when calling simple method, but when calling a streaming method like StreamingDetectIntent, I got an error during the ...
Read more >
How To FIX CRASHES and ERRORS in STREAMLABS OBS ...
TIRED OF GETTING ERRORS AND CRASHES ? You have come to the right place ! I have learned in the 2 years of...
Read more >
The HTTP crash course nobody asked for - fasterthanli.me
A sender MUST track the negative flow-control window and MUST NOT send new flow-controlled frames until it receives WINDOW_UPDATE frames that ...
Read more >
BIG-IP 15.0.1.4 Fixes and Known Issues - AskF5 - F5 Networks
811701-2, 2-Critical, AWS instance using xnet driver not receiving ... 745923-5, 3-Major, Connection flow collision can cause packets to be sent with source ......
Read more >
QueryBus problem: Received Rst Stream - AxonIQ Discuss
Hi all, we have a setup with a REST API running queries through the Axon QueryBus. The query permits setting the maximum number...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found