* will be better solved in mpd 1.16.4

--- mpd-0.16.2.orig/src/output/alsa_plugin.c	2011-03-19 01:41:53.000000000 +0100
+++ mpd-0.16.2/src/output/alsa_plugin.c	2011-05-14 13:44:14.000000000 +0200
@@ -646,8 +646,9 @@ alsa_play(void *data, const void *chunk,
 	while (true) {
 		snd_pcm_sframes_t ret = ad->writei(ad->pcm, chunk, size);
 		if (ret > 0) {
-			ad->period_position = (ad->period_position + ret)
-				% ad->period_frames;
+			// SIGFPE!
+			//ad->period_position = (ad->period_position + ret)
+			//	% ad->period_frames;
 			return ret * ad->frame_size;
 		}
 
