Comments (3)
@dinhani Thanks for your issue report!
I would say that this is definitely incorrect on console-api
side, even in debug mode we should be more resilient.
This will only happen if the console-subscriber
is receiving traces that aren't from Tokio, since in the Tokio instrumentation we only use events and spans, but if we're going to have this assertion in place, we should be filtering out non-event/non-span callsites and not sending them on to the aggregator (we won't do anything with them anyway).
If you're interested in working on this, I propose that we check that the metadata received by register_callsite
is either an event or a span, and otherwise we return Interest::never()
and don't do any more:
console/console-subscriber/src/lib.rs
Line 531 in a0d20fd
We could add a test for this behaviour, although it looks like our test set-up doesn't fail the test when the subscriber thread panics, which is weird. I'll look at that separately.
from console.
I tested my project with the suggested change at register_callsite
and it worked. There are no more panics.
I sent the suggested PR, but I still need to check how to test it properly in this project.
from console.
This has been fixed in #554. Thanks for fixing your own report @dinhani!
from console.
Related Issues (20)
- Improve attributes sorting in the resources tab
- subscriber: add grpc-web support to console-subscriber HOT 4
- a global default trace dispatcher has already been set HOT 8
- RUSTSEC-2021-0145: Potential unaligned read
- Console doesn't detect self wakes from `tokio::task::yield_now()` after Tokio 1.23 HOT 5
- Key presses happen twice on Windows HOT 4
- `blocking` and `block_on` tasks have false positive lints HOT 1
- Autodetection of new execution not always working
- Make better use of space in task detail screen HOT 1
- Format "last woken" time prettily HOT 4
- tokio::task::spawn_blocking() tasks show as 'warning: task has never yielded' HOT 2
- Analyze log files and log playback HOT 1
- tokio-console cannot handle window path correctly
- tokio-console cannot show the pause status correctly HOT 5
- The application panicked (crashed) when trying to `ENTER` on a resource HOT 1
- Crash when selecting a task that no longer exists HOT 2
- Improve Task Diagnostics UI readability for Location and other columns with dynamic widths
- `tokio-console` fails to compile HOT 3
- Max Width Restriction? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from console.