Four causes of crash dumps
Sponsored link: Memory Dump Analysis Services
Debugging Experts Magazine Online
Obviously the appearance of crash dumps on your computer was caused by something. A bug, fault, defect or something else?
Aristotle suggested 4 types of causation 2 millennia ago and they are:
Material cause - presence of some substance, usually material one (hardware) but can be machine code (software). The distinction between hardware and software is often blurred today because of virtualization.
Formal cause - some form or arrangement (an algorithm)
Efficient cause - an agent (data flow or event caused an algorithm to be executed)
Final cause - the desire of someone (or something, operating system, for example).
We skip material causes because hardware and software are always involved. Obviously final causality should be among of crash dump causes because they were either anticipated or made deliberately. Let’s look at 3 examples with possible causes:
Buffer Overflow
-
Formal cause - a defect in code which might have arisen from incomplete or wrong model
-
Efficient cause - data is too big to fit in a buffer
-
Final cause - operating system and runtime library support decided to save a crash dump
Bugcheck (NMI)
-
Formal cause - NMI handler
-
Efficient cause - a button on a hardware panel or KeBugCheckEx
-
Final cause - “I need a memory dump” desire. Also crash dump saving functions were written before by kernel developers in anticipation of future crash dumps.
Bugcheck (A)
-
Formal cause - a defect in code again or particular disposition of threads
-
Efficient cause - Driver Verifier triggered paging out data
-
Final cause - deliberate OS bugcheck (here we can also say that it was anticipated by OS designers)
Concrete causes depend on the organizational level you use: software/hardware systems/components, modeling act by humans, etc.
- Dmitry Vostokov @ DumpAnalysis.org -
_1125.png)
Museum of Debugging and Memory Dumps
7/7/2010 - 8/8/2010 Annual Competition: Tell Your Windows Debugging Story
Crash and Hang Analysis Audit Service
CARE: Crash Analysis Report Environment
Crash Dump and Software Trace Analysis Training and Seminars
Access OpenTask Titles on Safari Books Online
DATA (Dump Analysis + Trace Analysis) Facebook group
Please join the community of memory (dump) and trace analysis engineers. This group promotes scientific methods and memory dump-based worldview.
Twitter @ DumpAnalysis You can now follow portal and blog news at DumpAnalysis on Twitter
LinkedIn Group Dr. Watson Enthusiasts All about Dr. Watson errors and more. Get news, excerpts and progress reports about the forthcoming book The Science of Dr. Watson: An Illustrated History of Debugging (ISBN 978-1906717070)
2010 (0x7DA) - The Year of Dump Analysis 2011 (0x7DB) - 2020 (0x7E4) The Debugging Decade
International Memory Analysts and Debuggers Day: 07.07 and/or 08.08 starting from The Year of Dump Analysis, 2010, 7DA
AnnouncementsComing Soon:
Management Bits: An Anthology from Reductionist Manager
Debugging Notebook: Essential Concepts, WinDbg Commands and Tools
Crash Dump Analysis for System Administrators and Support Engineers
New Magazines:
Debugged! MZ/PE: MagaZine for/from Practicing Engineers
New Books:
Memory Dump Analysis Anthology: Color Supplement for Volumes 1-3
Memory Dump Analysis Anthology, Volume 3
First Fault Software Problem Solving: A Guide for Engineers, Managers and Users
x64 Windows Debugging: Practical Foundations
Also available:
Windows Debugging: Practical Foundations
DLL List Landscape: The Art from Computer Memory Space
Dumps, Bugs and Debugging Forensics: The Adventures of Dr. Debugalov
WinDbg: A Reference Poster and Learning Cards
Memory Dump Analysis Anthology, Volume 2
Memory Dump Analysis Anthology, Volume 1
New Children's Book:



November 27th, 2007 at 4:47 pm
interesting and cool
but i don’t see the explanation for turing machine of two states
for non congruent solutions on the set for all solution in base 2
obiviously
where S(a) ={0,1}
(for any) S(a) exist at least a solution exist a solution S(b) that is not a member for all the solutions S(a)
the non congruent porcacchia’s solution for algorithm in loop or in a crash
Cheers