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.

signal with pre aborted

See original GitHub issue

In one of my test, this hangs indefinitely when using a abort signal that have already been canceled togheter with polyfill (this don’t happen when using natives)

  const abortController = new AbortController()
  const signal = abortController.signal
  abortController.abort()
  const promise = rs.pipeTo(ws, { signal })
  err = await promise.catch(e=>e)
  // never gets here

version using 3.0.3 (edit: and 3.0.1 apparently)

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
jimmywartingcommented, May 30, 2021

That was half Greek/English to me. but Sound like you got it figured out 👍

possible a old duplicate of #56 that i closed and could never figure out what it was

0reactions
MattiasBuelenscommented, May 29, 2021

Aaaah, I see. The classes from two different versions are seemingly compatible: all public properties and public methods are the same, and even the internal property names like _readableStreamController are unchanged. Except for one small but crucial difference: the private symbols such as [[PullSteps]] and [[ErrorSteps]].

Thus, when version 3.0.0’s ReadableStreamPipeTo() wants to abort a WritableStream from version 3.0.1, it eventually tries to call stream._writableStreamController[ErrorSteps]() in WritableStreamFinishErroring. It will look up the ErrorSteps symbol from version 3.0.0, but that won’t exist on the WritableStream create with version 3.0.1. So this function unexpectedly errors, and the pipe promise never resolves.

I suppose I could improve IsReadableStream to check that stream._readableStreamController is an instance of our own ReadableStreamDefaultController or ReadableByteStreamController, and similarly for IsWritableStream and our own WritableStreamDefaultController. 🤔

Really looking forward to #20 being resolved so i can use that instead. (just patching the missing pieces)

I know, I know. 😛

Read more comments on GitHub >

github_iconTop Results From Across the Web

Psychosocial factors and pre-abortion psychological health
However, research consistently finds that depressive, anxiety, and stress symptoms are higher just before an abortion compared to anytime afterwards (Bradshaw & ...
Read more >
What is 'Signal 15' ? - Red Hat Customer Portal
Signal 15 is a SIGTERM (see "kill -l" for a complete list). It's the way most programs are gracefully terminated, and is relatively...
Read more >
signal — Set handlers for asynchronous events ... - Python Docs
Source code: Lib/signal.py This module provides mechanisms to use signal handlers in Python. ... Abort signal from abort(3). signal.SIGALRM¶.
Read more >
Miscarriage: Warning signs, treatments, and prevention
Underlying health conditions among pregnant woman that are associated with miscarriage include: high blood pressure.
Read more >
Recommended light signals for standing starts in circuit events
lights are replaced by green, this is the signal for cars ... If the procedure has to be aborted before the start of...
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