SIGBUS

SIGBUS

Infobox Computing signal
description = Bus error
action = Abnormal termination of the process
BUS_ADRALN | invalid address alignment
BUS_ADRERR | non-existent physical address
BUS_OBJERR | object-specific hardware error
On POSIX-compliant platforms, SIGBUS is the signal thrown by computer programs causing a bus error. The symbolic constant for SIGBUS is defined in the header file signal.h. Symbolic signal names are used because signal numbers can vary across platforms.

Etymology

"SIG" is a common prefix for signal names. "BUS" refers to the data bus in the context of a bus error.

Usage

Computer programs may throw SIGBUS for improper memory handling:; Invalid address alignment: The program has attempted to read or write data that does not fit the CPU's memory-alignment rules.; Non-existent physical address: This is equivalent to a segmentation fault, but for a physical address rather than a virtual address.; Object-specific hardware error: This is far less common, but it is present in Solaris, when virtual memory pages have disappeared (e.g. accessing an mmaped file which has been truncated. [http://groups.google.com/group/comp.unix.internals/browse_thread/thread/6369e8f923aedcb0/54f8ed15e326dc0] )

For further discussion, see "bus error".

The operating system may inform the application of the nature of the error using the signal stack, which developers can use to debug their programs or handle errors.

The default action for a program upon receiving SIGBUS is abnormal termination. This will end the process, but may generate a core file to aid debugging, or other platform dependent action.

SIGBUS can be handled (caught). That is, applications can request what action they want to occur. Examples of such action might be ignoring it, calling a function, or restoring the default action. In some circumstances, ignoring SIGBUS results in undefined behaviour.

An example of an application that might handle SIGBUS is a debugger, which might check the signal stack and inform the developer of what happened, and where the program terminated.

SIGBUS is usually generated by the operating system, but users with appropriate permissions can use the kill system call or kill command (a userland program, or sometimes a shell builtin) to send the signal to a process at will.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • SIGBUS — Saltar a navegación, búsqueda SIGBUS Descripción: Error en el bus Acción por defecto: Terminación anormal del proceso SA SEÑALINFO macros BUS ADRALN alineamiento inválido de dirección BUS ADRERR Dirección física inexistente BUS OBJERR Error de… …   Wikipedia Español

  • SIGBUS — Описание: Сигнал ошибки шины По умолчанию: завершение с дампом памяти коды SA SIGINFO (не имеет специфических кодов) В POSIX системах, SIGBUS  сигнал, сигнализирующий об ошибке шины, при обращении к физической памяти. SIGBUS … …   Википедия

  • SIGBUS — Signal bei Bus Error (Signal Nr. 10) unter X/Open, ATT und BSD UNIX ( >xedit /usr/include/signal.h) …   Acronyms

  • SIGBUS — Signal bei Bus Error (Signal Nr. 10) unter X/Open, ATT und BSD UNIX ( >xedit /usr/include/signal.h) …   Acronyms von A bis Z

  • Signal (computing) — A signal is a limited form of inter process communication used in Unix, Unix like, and other POSIX compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When …   Wikipedia

  • SIGQUIT — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • SIGTSTP — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • Signal (Computer) — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • Kill (Unix) — En informatique, kill est une commande de certains systèmes d exploitation (particulièrement Unix et ses dérivés) utilisée pour demander l arrêt d un processus en cours d exécution. Sommaire 1 Implémentations 2 Exemples 3 Voir aus …   Wikipédia en Français

  • SIGALRM — Au sein des plateformes répondant aux normes POSIX, SIGALRM est le signal envoyé à un processus lorsqu une limite de temps est écoulée. La constante symbolique du pré processeur C pour SIGALRM est définie dans le fichier d en tête signal.h. Les… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”