This the report of bugs that found by CrashTuner. We will give the detail of how to trigger each bug. Besides, we also give a simple version of CrashTuner in docker to show how CrashTuner find these bugs.
In the below table, we give all new bugs((all our studied bugs and their detail exists in old bugs)found by CrashTuner. You can click the Bug Id to see the bug report and Patch to see the fixing, and Detail to see how to trigger the bug. In the detail, we only show a small code snippet, you can download the whole buggy project code(which can be found in bug report) for further understanding.
There are two ways to reproduce the bugs found by CrashTuner.
- We have written some unit tests in patches, you can change the source code to re-test them.
- We have provide a docker image to reproduce all new bugs, see document or video .
Currently, we only apply CrashTuner on the distributed system that written in java, but we also investigate the distributed system written by other language, like K8s written in Golang. We find that CrashTuner can also help it improve the reliability. our studied bugs in k8s are in k8sbugs(sorry about the document is written in Chinese, English reader can click the URL in each document goto the corresponding issue) and we are implementing another version CrashTuner to detect them.
We believe that CrashTuner has good portability and we are doing large work on different distributed systems.
JIRA has 5 level Priority: Blocker, Critical, Major(Cassandra is Normal), Minor and Trivial
When we create a bug issue, JIRA will assign a default Priority as "Major". If the origin developers think the bug has more serious affection, they will change the Priority as Critical or Blocker, like YARN-9194. Of course, some bugs' affections are not serious as we think, the origin developers will change their Priority as Minor or Trivial, like HBASE-22023.
if you want CrashTuner to improve your business distributed system reliability, please contact market@tianqisoft.cn, or 0574-87630862.