Comments (5)
Its unclear from the description whether checkpoints are done automatically whenever a sync() or fsync() happens, or whether they are called manually. It would be great if it is automatic.
from crashmonkey.
If we want checkpointing to be done automatically, we have 2 options:
- require the user to tell us what sort of sync operation they want to perform, and on what
- 'tap into' what the program is doing via something like
ptrace
to monitor for sync/fsync calls
If neither of the above are implemented, CrashMonkey won't have any idea what the user program is doing. It will only know that the user program requested a checkpoint, and it will assume that the preconditions for a checkpoint (ex. some sort of sync) has been completed.
from crashmonkey.
If it doesn't degrade performance too much, I was thinking of something like strace/ptrace to identify fsync() or sync() calls. It doesn't matter which file they are calling fsync() on, we want checkpoints at that point anyway.
But perhaps we should do this as a later optimization. Lets just do manual checkpoints for now.
from crashmonkey.
I agree that having ptrace watching the workload would be great. Despite that, I also feel that we should first get manual checkpoints working before we try to work in ptrace. Almost all of the infrastructure created for manual checkpoint operations will be used by automatic checkpoints. This is pretty much the only part that will not be used anymore I think.
from crashmonkey.
Agreed. Lets get manual checkpoints working.
from crashmonkey.
Related Issues (20)
- CrashMonkey test faililng due to assertion error in RandomPermuter HOT 1
- insmod ERROR: “disk_wrapper.ko: Cannot allocate memory” HOT 3
- Make multiple instances of CrashMonkey run in a single machine HOT 1
- Have CrashMonkey behave more like a fuzzer HOT 1
- Write an adaptor for Crashmonkey for dm-flakey HOT 2
- ACE fails on fsync HOT 3
- ACE fails on "nested" mode HOT 1
- report two Ace bugs HOT 15
- Build error happening HOT 2
- Failed test cases - "Unable to remove wrapper device" HOT 1
- Port CrashMonkey to Linux 5.6.6
- Update documentation and scripts to reflect changes in xfsMonkey.py for btrfs
- Build error "No such file or directory" on CentOS7 HOT 1
- xfstest adapter produces incorrect output files because of erroring commands
- Memory access violation HOT 1
- False positive tests
- The xfstest does not support _supported_os
- Use xfstests to create a test suite HOT 2
- future bugs to investigate when CrashMonkey is more complete HOT 1
- Clean up logs
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 crashmonkey.