![KDE Crash Handler screenshot](https://upload.wikimedia.org/wikipedia/commons/4/42/KDE_Crash_Handler_screenshot.png)
A crash reporter is usually a
system software
System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android and Microsoft Windows, computational science software, game engines, search engin ...
whose function is to identify
reporting crash
Crash or CRASH may refer to:
Common meanings
* Collision, an impact between two or more objects
* Crash (computing), a condition where a program ceases to respond
* Cardiac arrest, a medical condition in which the heart stops beating
* Couch su ...
details and to alert when there are crashes, in production or on development / testing environments. Crash reports often include data such as
stack traces
In computing, a stack trace (also called stack backtrace or stack traceback) is a report of the active stack frames at a certain point in time during the execution of a program. When a program is run, memory is often dynamically allocated in two p ...
, type of crash, trends and version of software. These reports help
software developers
A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software.
A programmer is someone who writes/creates ...
- Web, SAAS, mobile apps and more, to diagnose and fix the underlying problem causing the crashes. Crash reports may contain sensitive information such as passwords, email addresses, and contact information, and so have become objects of interest for researchers in the field of computer security.
Implementing crash reporting tools as part of the development cycle has become a standard, and crash reporting tools have become a commodity, many of them are offered for free, like
Crashlytics
Crashlytics was a Boston, Massachusetts-based software company founded in May 2011 by entrepreneurs Wayne Chang and Jeff Seibert. Crashlytics helps collecting, analyzing and organizing app crash reports.
Its main product is a software develop ...
.
Many giant industry players, that are part of the software development eco-system have entered the game. Companies such as Twitter, Google and others are putting a lot of efforts on encouraging software developers to use their APIs, knowing this will increase their revenues down the road (through advertisements and other mechanisms). As they realize that they must offer elegant solutions for as many as possible development issues, otherwise their competitors will take actions, they keep adding advanced features. Crash reporting tools make an important development functionality that giant companies include in their portfolio of solutions.
Many crash reporting tools are specialized in mobile app. Many of them are
SDKs.
macOS
In
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
there is a standard crash reporter in . Crash Reporter.app sends the
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
crash logs to
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
for their
engineer
Engineers, as practitioners of engineering, are professionals who invent, design, analyze, build and test machines, complex systems, structures, gadgets and materials to fulfill functional objectives and requirements while considering the l ...
s to look at. The top text field of the window has the crash log, while the bottom field is for user comments. Users may also copy and paste the log in their email client to send to the application vendor for them to use. Crash Reporter.app has 3 main modes: display nothing on crash, display "Application has crashed"
dialog box
The dialog box (also called dialogue box (non-U.S. English), message box or simply dialog) is a graphical control element in the form of a small window that communicates information to the user and prompts them for a response.
Dialog boxes are ...
or display Crash Report window.
Windows
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
includes a crash reporting service called
Windows Error Reporting
Windows Error Reporting (WER) (codenamed Watson) is a crash reporting technology introduced by Microsoft with Windows XP and included in later Windows versions and Windows Mobile 5.0 and 6.0. Not to be confused with the Dr. Watson debugging ...
that prompts users to send crash reports to Microsoft for online analysis. The information goes to a central database run by Microsoft. It consists of diagnostic information that helps the company or development team responsible for the crash to
debug
In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems.
Debugging tactics can involve int ...
and resolve the issue if they choose to do so. Crash reports for third party software are available to third party developers who have been granted access by Microsoft.
The system considers all parts of the debug and release process, such that targeted bug fixes can be applied through
Windows Update
Windows Update is a Microsoft service for the Windows 9x and Windows NT families of operating system, which automates downloading and installing Microsoft Windows software updates over the Internet. The service delivers software updates for Wind ...
. In other words, only people experiencing a particular type of crash can be offered the bug fix, thus limiting exposure to an issue.
According to ''
Der Spiegel
''Der Spiegel'' (, lit. ''"The Mirror"'') is a German weekly news magazine published in Hamburg. With a weekly circulation of 695,100 copies, it was the largest such publication in Europe in 2011. It was founded in 1947 by John Seymour Chaloner ...
'', the Microsoft crash reporter has been exploited by NSA's
Tailored Access Operations
The Office of Tailored Access Operations (TAO), now Computer Network Operations, and structured as S32, is a cyber-warfare intelligence-gathering unit of the National Security Agency (NSA). It has been active since at least 1998, possibly 1997 ...
(TAO) unit to hack into the computers of
Mexico's Secretariat of Public Security. According to the same source, Microsoft crash reports are automatically harvested in NSA's
XKeyscore
XKeyscore (XKEYSCORE or XKS) is a secret computer system used by the United States National Security Agency (NSA) for searching and analyzing global Internet data, which it collects in real time. The NSA has shared XKeyscore with other intellige ...
database, in order to facilitate such operations.
CrashRpt
Another error reporting library for
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
is CrashRpt. CrashRpt library is a light-weight
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
error handling framework for applications created in
Microsoft Visual C++
Microsoft Visual C++ (MSVC) is a compiler for the C, C++ and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both tria ...
and running under
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. The library is distributed under
New BSD License
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
.
CrashRpt intercepts
unhandled exception
In computing and computer programming, exception handling is the process of responding to the occurrence of ''exceptions'' – anomalous or exceptional conditions requiring special processing – during the execution of a program. In general, an ...
s, creates a crash minidump file, builds a crash descriptor in
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
format, presents an interface to allow user to review the crash report, and finally it compresses and sends the crash report to the software support team.
CrashRpt also provides a server-side command line tool for crash report analysis named crprober. The tool is able to read all received crash reports from a directory and generate a summary file in text format for each crash report. It also groups similar crash reports making it easier to determine the most popular problems. The crprober tool does not provide any graphical interface, so it is rather cryptic and difficult to use.
There is also an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
server software named CrashFix Server that can store, organize and analyze crash reports sent by CrashRpt library. It can group similar crash reports, has a built-in bug tracker and can generate statistical reports. CrashFix server provides a web-based user interface making it possible for several project members to collaborate (upload debugging symbols, browse crash reports and associate bugs with crash reports).
Linux
ABRT
![ABRT on Fedora 31 (2019-10)](https://upload.wikimedia.org/wikipedia/commons/7/7a/ABRT_on_Fedora_31_%282019-10%29.png)
ABRT (Automated Bug Reporting Tool) is an error reporting tool made for
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
and
Red Hat Enterprise Linux
Red Hat Enterprise Linux (RHEL) is a commercial open-source Linux distribution developed by Red Hat for the commercial market. Red Hat Enterprise Linux is released in server versions for x86-64, Power ISA, ARM64, and IBM Z and a desktop version ...
. The developers do not currently have plans for porting it to other Linux distributions. ABRT intercepts core dumps or tracebacks from applications and (after user-confirmation) sends bug reports to various bug-tracking systems, such as Fedora Bugzilla
'.
Ubuntu Error tracker
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: ''Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All the ...
hosts a public error tracker at
errors.ubuntu.com' which collects hundreds of thousands of error reports daily from millions of machines. If a program crashes on Ubuntu, a crash handler (such as Apport) will notify the user and offer to report the crash. If the user chooses to report the crash, the details (possibly including a core dump) will be uploaded to an Ubuntu server (''daisy.ubuntu.com'') for analysis. A core dump is automatically processed to create a stack trace and crash signature. The crash signature is used to classify subsequent crash reports caused by the same error.
GNOME
Bug Buddy is the crash reporting tool used by the
GNOME
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
platform. When an application using the GNOME libraries crashes, Bug Buddy generates a stack trace using
gdb
The GNU Debugger (GDB) is a Software portability, portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada (programming language), Ada, C (programming language), C, C++, Objective-C, Free Pasc ...
and invites the user to submit the report to the GNOME
bugzilla
Bugzilla is a web-based general-purpose bug tracking system and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License.
Released as open-source software by Netscape Communications in 1998 ...
. The user can add comments and view the details of the crash report.
KDE
The crash reporting tool used by
KDE
KDE is an international Free software movement, free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-know ...
is called Dr. Konqi. When an application using the KDE libraries crashes, Dr. Konqi generates a backtrace using gdb and invites the user to submit the report to the KDE bugzilla. The user can add comments and view the details of the crash report.
Mozilla
Talkback
''Talkback'' (also known as the ''Quality Feedback Agent'') was the crash reporter used by
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, wi ...
software up to version 1.8.1 to report crashes of its products to a centralized
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients
Role
* Waiting staff, those who work at a restaurant or a bar attending customers and su ...
for aggregation or case-by-case analysis. Talkback is
proprietary software
Proprietary software is software that is deemed within the free and open-source software to be non-free because its creator, publisher, or other rightsholder or rightsholder partner exercises a legal monopoly afforded by modern copyright and int ...
licensed to the Mozilla Corporation by
SupportSoft
Support.com, Inc. is a technical support company for businesses and consumers. It is headquartered in Wilmington, Delaware with administrative office in Sunnyvale, California. The company's services are performed on Windows, macOS, iOS, and Andro ...
. If a Mozilla product (e.g.
Mozilla Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and a ...
,
Mozilla Thunderbird
Mozilla Thunderbird is a free and open-source cross-platform email client, personal information manager, news client, RSS and chat client developed by the Mozilla Foundation and operated by subsidiary MZLA Technologies Corporation. The project s ...
) were to crash with Talkback enabled, the Talkback agent would appear, prompting the user to provide optional information regarding the crash. Talkback does not replace the native OS crash reporter which, if enabled, will appear along with the Talkback agent.
Talkback has been replaced by Breakpad in
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and ...
since version
3.
Breakpad
''Breakpad'' (previously called ''Airbag'') is an open-source replacement for Talkback. Developed by
Google
Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
and Mozilla, it is used in current Mozilla products such as Firefox and Thunderbird. Its significance is being the first open source multi-platform crash reporting system.
Since 2007, Breakpad is included in Firefox on Windows and Mac OS X, and Linux. Breakpad is typically paired with
Socorro which receives and classifies crashes from users.
Breakpad itself is only part of a crash reporting system, as it includes no reporting mechanism.
Crashpad
Crashpad is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
crash reporter used by
Google
Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
in
Chromium
Chromium is a chemical element with the symbol Cr and atomic number 24. It is the first element in group 6. It is a steely-grey, lustrous, hard, and brittle transition metal.
Chromium metal is valued for its high corrosion resistance and hardne ...
. It was developed as a replacement for
Breakpad due to an update in macOS 10.10 which removed
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
's used by
Breakpad. Crashpad currently consists of a crash-reporting client and some related tools for macOS and Windows, and is considered substantially complete for those platforms. Crashpad became the crash reporter client for Chromium on macOS as of March 2015, and on Windows as of November 2015.
World of Warcraft
''
World of Warcraft
''World of Warcraft'' (''WoW'') is a massively multiplayer online role-playing game (MMORPG) released in 2004 by Blizzard Entertainment. Set in the ''Warcraft'' fantasy universe, ''World of Warcraft'' takes place within the world of Azeroth ...
'' is another program to use its own crash reporter, "Error Reporter". The error reporter may not detect crashes all the time; sometimes the OS crash reporter is invoked instead. Error Reporter has even been known to crash while reporting errors.
Mobile OSs
Android and
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
operating systems also have built in crash reporting functionality.
References
External links
How to create useful crash reports using KDEKernelOops Linux kernel bug count siteABRT - Automated Bug-Reporting ToolA review of mobile crash reporting tools
{{DEFAULTSORT:Crash Reporter
Operating system technology
Software anomalies