-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fetch error seldomly causes deno panic.... #60
Comments
So I scanned other code bases reporting similar issue, First I can safely conclude two of each bugs are seperated issue. About the first one, In this instance, if we look at that line of threadsafe_functions.rs, that line is ominously commented as "this call should not fail", which actually failed in our case. There was a long babble about what unbound_send() even means, but simply put it's the process of inter-thread communication, and as it try to 'unwrap' the 'unbounded_send(call)', As far as I deduct, it expects "Err" and unwrap the actual error, but because of unsafe call_js_cb, which calls callback as it's name, possibly callback function being async function, and since await is not used before unwrap that thing, so it panics while try to unwrap some asynchronous function call instead of bubbling up it's error. On contrary, since this caused while handling result of unbound_send(), which is inter-thread operation, so call stack couldn't be properly given because of, y'know, multi-threaded execution flow thingy. In short, it seems bug in Deno as that log says. |
Possibly Relevant Issues:
And I personally think this is very crucial observation. It even also commented in threadsafe_functions.rs this reciever might have already dropped. So I guess this panic happends when reciever dropped before unbound_send able to do anything. |
Anyway, sadly this is barely comprehensible for me, I have no single idea to mitigate this issue. At least we know it happens when we tries to unwrap the content of fetch error, can we just ignore error temporarily and prevent that thing from getting executed? |
The text was updated successfully, but these errors were encountered: