From the ALSA wiki
An "xrun" can be either a buffer underrun or a buffer overrun. In both cases an audio app was either not fast enough to deliver data to the ALSA audio buffer or not fast enough to process data from the ALSA audio buffer. Usually xruns are audible as crackles or pops.
Various kernel patches and strategies are available to minimise xruns under Jack, eg. kernel pre-emption and the Realtime Linux Security Module. At the time of writing (July 2004) these strategies are in a bit of a state of flux - see http://jackit.sourceforge.net/docs/faq.php#a5 for the latest.
Recent versions of Alsa provide a means of logging and debugging xruns through the proc tree.