Comments (11)
Thanks for the report @timbuchwaldt
Is this something you plan to PR?
from core-dump-handler.
Thinking about this a little further: putting a timer around this is fairly involved as it will need to setup a separate thread to execute the tasks on and if they don't complete then time out.
from core-dump-handler.
Hey @No9 - I'd look into working on that change, yep.
I see the complexity of this change, but from what I gathered during our outage I would say this is warranted. A system meant to help debugging problems should not cause/amplify them in any way.
from core-dump-handler.
Totally agree it's required - Just wanted to let you know what you're taking on.
I'll commit to providing a review and getting it published ASAP.
from core-dump-handler.
I have looked a bit into this, not super happy with what I found so far. Rust discourages timeouting on threads and I don't see another nice super generic way. GNU Coretuils might come in handy though: The timeout
command can wrap any binary and implement timeouting on it. I think technically it should work to switch the core_pattern
to |timeout 5 $cdc-stuff
in order t ogive it a 5s timeout, what do you think?
from core-dump-handler.
Not 100% on using timeout
as it may not be available on the all the xKS platforms which means we will end up distributing it similar to the crio exe.
Do you have any links to the conversations on timing out threads?
from core-dump-handler.
Ah mhm good point, yeah.
https://stackoverflow.com/questions/36181719/what-is-the-correct-way-in-rust-to-create-a-timeout-for-a-thread-or-a-function
https://www.reddit.com/r/rust/comments/eit5oo/any_way_to_set_a_timeout_on_a_background_thread/
from core-dump-handler.
OK - the reddit thread is talking about managing Rhai which is a script execution engine and much bigger beast than what we have.
While I agree we don't want to hand craft this the first link mentions recv_timeout
Have you looked at that as an option?
The other option is to provide what would really be our own timeout
implementation the calls the cdc but which we can distribute consistently. Bit of a lift with this as well but managing at the process level is a clean approach.
from core-dump-handler.
RE Reddit: True.
I implemented the recv_timeout
based function. I think this might benefit from a test - but that's a task for ... not tonight.
from core-dump-handler.
Hey @No9 - can I poke you on this? :D
from core-dump-handler.
Yup - thanks for the reminder. Been at some confs but should be able to look at this tomorrow.
from core-dump-handler.
Related Issues (20)
- Clarify compatibility with Google Kubernetes HOT 4
- got error Bucket Creation Failed: serde_xml: ParseIntError: invalid digit found in string with AWS IAM s3 HOT 8
- pullSecrets is not used inside daemonset.yaml HOT 6
- multi tenant support HOT 6
- latest musl images are not available HOT 3
- Support for application level artifacts HOT 3
- composer.log is missing in agent HOT 5
- Kubernetes 1.23+ does not mount service account token anymore HOT 1
- SELinux blocks cdc from running
- Additional troubleshooting advice? HOT 1
- Deployment error fails to EKS HOT 3
- Duplicate file names in generated zip files HOT 1
- Core dump files housekeeping HOT 2
- Compatibility with Oracle Kubernetes Engine. HOT 11
- Core dump generates random uuid instead of using pod uuid HOT 2
- Memory cleanup after crash dump taken
- configurable priorityClassName for daemonset pods HOT 1
- Using an s3 compatible storage - fails to connect on error upload Failed reqwest: HOT 7
- In Kubernetes: Mounts of the hostdir doubling with every restart HOT 3
- Capture proc data to be able to generate minidump HOT 4
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 core-dump-handler.