Types of Computer Errors

Tagged: , , ,

This topic was published by and viewed 11272 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author
    Posts

  • DevynCJohnson
    Keymaster
    • Topics - 437
    • @devyncjohnson

    Computers have errors occasionally. Often times, they have errors that the user does not know about. Usually, the user is only alerted of major errors. These computer errors can be classified many ways. It may be beneficial to have a general understanding of computer errors.

    Errors can be classified as hardware, software, or both. Hardware errors pertain to the hardware such as a faulty component, physical wear and tear, improper installation, incompatibility, etc. There are numerous software errors (most of this article will focus on software errors). Some errors pertain to both hardware and software, such as driver issues with the hardware, firmware, BIOS issues, etc.

    Errors an also be classified by severity like warnings, mild/general errors, fatal errors, critical errors, alerts, etc. Every operating system and program has a different way of classifying the severity/importance of an error. In general, fatal errors cause software to crash and warnings are more or less suggestions and cautions. Alerts are usually major warnings that may turn into critical errors. The syslog daemon on Linux systems classifies errors as seen below (most to least severe). Again, every system may have a different naming scheme and importance for each error type.

    Syslog Errors (rfc5424) as defined by the IETF

    http://tools.ietf.org/html/rfc5424

    • Emergency - unusable/crashed system
    • Alert - immediate action required
    • Critical - critical conditions
    • Error - general errors
    • Warning - caution, warning, possible error
    • Notice - significant condition (not an error)
    • Info - information
    • Debug - useful debugging messages

    Errors occur all the time. To see for yourself, view the logs of your system. Unixoid (Unix and Unix-like systems) users can view the logs under /var/log/. On Windows systems, users can look at the errors by opening the Event-Viewer (http://windows.microsoft.com/en-us/windows/open-event-viewer). Notice that most of the data in the logs are general info and debugging messages. However, some warnings and errors can be seen.

    On my system, running the "dmesg" command revealed many warnings and errors. The last few lines alone show warnings.

    [40993.995417] perf interrupt took too long (2559 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
    [42304.006054] systemd-hostnamed[6046]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
    [42308.078323] EXT4-fs (sda5): warning: maximal mount count reached, running e2fsck is recommended
    [42308.079147] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)

    Many GTK-based applications have errors when opening as can be seen below.

    collier@Nacho-Linux:~$ nautilus
    Initializing nautilus-open-terminal extension
    ** (nautilus:6604): CRITICAL **: nautilus_menu_provider_get_background_items: assertion 'NAUTILUS_IS_MENU_PROVIDER (provider)' failed

    Even servers have errors as can be seen on my Voxiworld game server.

    22:50:16: WARNING: Undeclared global variable "mobf_spawn_deep_water" accessed at ...Voxiworld_game/mods/mobf/spawn_algorithms/deep_water.lua:284
    22:50:16: WARNING: Undeclared global variable "mgen_none" accessed at ...minetest/games/Voxiworld_game/mods/mobf/mov_gen_none.lua:17
    00:10:32: ERROR[CurlFetchThread]: servers.minetest.net/announce not found (Timeout was reached) (response code 0)
    00:20:33: ERROR[CurlFetchThread]: servers.minetest.net/announce not found (Timeout was reached) (response code 0)

    Most errors are ID10T (pronounced "I-dee-ten-tea") errors. This means that the error originated from human-error. The ID10T is a joke/fake error code. Notice that the code almost looks like "idiot". There are other errors of the same type such as PEBCAK (Problem Exists Between Chair And Keyboard), PICNIC (Problem in Chair; Not in Computer), and EBKAC (Error between keyboard and chair). In computer networking, "layer 8 issues" (like OSI layers) refer to the same concept (user error).

    Glitches are short-lived errors. Most glitches are not detected. The term "bug" refers to any error, flaw, glitch, fault, etc. whether minor or severe.

    Common Software Errors

    Many software errors exist. Some common ones are explained below.

    • Access denied - Permission problems and file locks may trigger this error.
    • Device not ready - This is an error that is both hardware and software. This occurs when software tries to access hardware that is non-existent or not ready.
    • File not found - This error is triggered when accessed/requested files are either corrupted, non-existent, mistyped, etc.
    • HTTP 404 - This is a networking error that is seen when a non-existent address is requested.
    • IO Error - Read and write errors belong to this general error category.
    • Logic Errors - Logic Errors are ID10T errors that exist in the code of software. Such software runs without crashing, but the software does not behave as intended.
    • Low disk space - When storage units are almost full, this error will be called.
    • Out of memory - This error appears when the memory is full, almost full, or when more is needed.
    • Overflow Error (or Arithmetic Overflow) - This error occurs when a mathematical calculation produces a value that is too large to store in a register or other storage unit.
    • Runtime Error - These are errors that happen during the time a program is running/executing.
    • Segmentation Fault - This error occurs when software tries to access protected memory. In other words, this is a memory access violation error.
    • Syntax Error - Syntax errors are errors pertaining to improper programming format such as mis-matched parenthesis, invalid tokens, etc.
    • Zero Division Error - This error is seen when something is divided by zero.

    Fatal Errors

    Fatal errors are severe errors that cause a program or the whole operating system to crash/fail. Low-level system wide errors are rare, but when they occur, that means there are major errors. Fatal system errors may trigger special error screens discussed below.

    Black Screen of Death - The Black Screen of Death is seen on many systems such as iOS, Nintendo GameCube, Win95/97, and Windows 3.x.

    Blue Screen of Death - Windows and ReactOS operating systems display a blue screen containing and error message when the operating system crashes. This fatal system error can be triggered by faulty hardware, driver issues, power-supply issues, kernel bugs, etc. Each trigger/cause for the error is given a hexadecimal code as listed below.

    • 00: Division fault
    • 02: Non-Maskable Interrupt
    • 04: Overflow Trap
    • 05: Bounds Check Fault
    • 06: Invalid Opcode Fault
    • 07: "Coprocessor Not Available" Fault
    • 08: Double Fault
    • 09: Coprocessor Segment Overrun
    • 0A: Invalid Task State Segment Fault
    • 0B: Not Present Fault
    • 0C: Stack Fault
    • 0D: General Protection Fault
    • 0E: Page Fault
    • 10: Coprocessor Error Fault
    • 11: Alignment Check Fault

    Guru Meditation - Commodore Amiga systems and Nintendo DS Homebrew systems use the "Guru Meditation" upon fatal system errors.

    Kernel Panic - Unixoid systems (such as Linux, BSD, etc.) have kernel panics when low-level fatal system errors occur. The code for the kernel panic error in Unix v6 was very simplistic (as seen below). Newer Unix systems have more advanced coding.

    /*
    * In case console is off,
    * panicstr contains argument to last
    * call to panic.
    */
    char *panicstr;
    /*
    * Panic is called on unresolvable
    * fatal errors.
    * It syncs, prints "panic: mesg" and
    * then loops.
    */
    panic(s)
    char *s;
    {
    panicstr = s;
    update();
    printf("panic: %s\n", s);
    for(;;)
    idle();
    }

    White Screen of Death - This fatal error message screen appears when errors occur in the BIOS. Some operating systems use this screen for operating-system-level errors.

    Further Reading

Viewing 1 post (of 1 total)