A class of subtle programming errors that
can arise in code that does dynamic allocation, esp. via
malloc(3) or equivalent. If several pointers address
(`aliases for') a given hunk of storage, it may happen that the
storage is freed or reallocated (and thus moved) through one alias
and then referenced through another, which may lead to subtle (and
possibly intermittent) lossage depending on the state and the
allocation history of the malloc arena. Avoidable by use of
allocation strategies that never alias allocated core, or by use of
higher-level languages, such as LISP, which employ a garbage
collector (see GC). Also called a stale pointer bug.
See also precedence lossage, smash the stack
fandango on core, memory leak,
overrun screw, spam.
Historical note: Though this term is nowadays associated with
C programming, it was already in use in a very similar sense in the
Algol-60 and FORTRAN communities in the 1960s.
Related:
aliasing bug n.
A class of subtle programming errors that
can arise in code that does dynamic allocation, esp. via
malloc(3) or equivalent. If several pointers address
(`aliases for') a given hunk of storage, it may happen that the
storage is freed or reallocated (and thus moved) through one alias
and then referenced through another, which may lead to subtle (and
possibly intermittent) lossage depending on the state and the
allocation history of the malloc arena....
fandango on core n.
[Unix/C hackers, from the Iberian
dance] In C a wild pointer that runs out of bounds, causing a
core dump, or corrupts the malloc(3) arena in such
a way as to cause mysterious failures later on, is sometimes said
to have `done a fandango on core'....
fandango on core: [UNIX/C hackers, from the Mexican dance] n.
In C, a wild pointer that runs out of bounds, causing a {core
dump}, or corrupts the `malloc(3)' {arena} in such a way as
to cause mysterious failures later on, is sometimes said to have
`done a fandango on core'....