All of lore.kernel.org
 help / color / mirror / Atom feed
* emu10k1 moudle oops.
@ 1999-08-15 19:40 frodo1
  0 siblings, 0 replies; only message in thread
From: frodo1 @ 1999-08-15 19:40 UTC (permalink / raw)
  To: linux-sound

I am currently running suse 6.1 with kernel version 2.2.11-ac3 and the
sblive moudle emu10k1. When running the following program (which is part
of SDL .10 - http://www.devolution.com/~slouken/SDL/):

/* Program to load a wave file and loop playing it using SDL sound */

/* loopwaves.c is much more robust in handling WAVE files -- 
	This is only for simple WAVEs
*/

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

#include "SDL.h"
#include "SDL_audio.h"

struct {
	SDL_AudioSpec spec;
	Uint8   *sound;			/* Pointer to wave data */
	Uint32   soundlen;		/* Length of wave data */
	int      soundpos;		/* Current play position */
} wave;

void fillerup(void *unused, Uint8 *stream, int len)
{
	Uint8 *waveptr;
	int    waveleft;

	/* Set up the pointers */
	waveptr = wave.sound + wave.soundpos;
	waveleft = wave.soundlen - wave.soundpos;

	/* Go! */
	while ( waveleft <= len ) {
		SDL_MixAudio(stream, waveptr, waveleft, SDL_MIX_MAXVOLUME);
		stream += waveleft;
		len -= waveleft;
		waveptr = wave.sound;
		waveleft = wave.soundlen;
		wave.soundpos = 0;
	}
	SDL_MixAudio(stream, waveptr, len, SDL_MIX_MAXVOLUME);
	wave.soundpos += len;
}

static int done = 0;
void poked(int sig)
{
	done = 1;
}

main(int argc, char *argv[])
{
	/* Load the SDL library */
	if ( SDL_Init(SDL_INIT_AUDIO) < 0 ) {
		fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());
		exit(1);
	}
	atexit(SDL_Quit);

	if ( argv[1] = NULL ) {
		fprintf(stderr, "Usage: %s <wavefile>\n", argv[0]);
		exit(1);
	}

	/* Load the wave file into memory */
	if ( SDL_LoadWAV(argv[1],
			&wave.spec, &wave.sound, &wave.soundlen) = NULL ) {
		fprintf(stderr, "Couldn't load %s: %s\n",
						argv[1], SDL_GetError());
		exit(1);
	}
	wave.spec.callback = fillerup;

	/* Set the signals */
#ifdef SIGHUP
	signal(SIGHUP, poked);
#endif
	signal(SIGINT, poked);
#ifdef SIGQUIT
	signal(SIGQUIT, poked);
#endif
	signal(SIGTERM, poked);

	/* Initialize fillerup() variables */
	if ( SDL_OpenAudio(&wave.spec, NULL) < 0 ) {
		fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError());
		SDL_FreeWAV(wave.sound);
		exit(2);
	}
	SDL_PauseAudio(0);

	/* Let the audio run */
	while ( ! done )
		SDL_Delay(1000);

	/* Clean up on signal */
	SDL_CloseAudio();
	SDL_FreeWAV(wave.sound);
	exit(0);
}


I recive an oops which i use ksymoops, the output is as follows:

WARNING: This version of ksymoops is obsolete.
WARNING: The current version can be obtained from ftp://ftp.ocs.com.au/pub/ksymoops
Options used: -V (default)
              -o /lib/modules/2.2.11-ac3/ (default)
              -k /proc/ksyms (default)
              -l /proc/modules (default)
              -m /usr/src/linux/System.map (default)
              -c 1 (default)

You did not tell me where to find symbol information.  I will assume
that the log matches the kernel and modules that are running right now
and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Oops: 0000
CPU:    0
EIP:    0010:[<d08455d6>]
EFLAGS: 00010202
eax: 00000000   ebx: d0850000   ecx: c2456000   edx: ccac5620
esi: ccac5620   edi: c2456000   ebp: c1633f28   esp: c1633f18
ds: 0018   es: 0018   ss: 0018
Process loopwave (pid: 8213, process nr: 46, stackpage¡633000)
Stack: 00000003 00000004 c1633fa8 00000023 00000000 c012dc57 ccac5620
c2456000
       00000023 00000004 caa21758 00000023 00000145 00000003 c1632000
7fffffff
       c2456000 c2456000 c012e128 00000004 c1633fa8 c1633fa4 c1632000
00000000
Call Trace: [<c012dc57>] [<c012e128>] [<c0124ab7>] [<c0108ee4>]
Code: 8b 40 1c 83 c0 4c 85 ff 74 0f 85 c0 74 0b 57 50 56 e8 ec 83

>>EIP: d08455d6 <mod_firmware_load+70b6/????>
Trace: c012dc57 <do_select+133/214>
Trace: c012e128 <sys_select+3f0/548>
Trace: c0124ab7 <sys_write+db/100>
Trace: c0108ee4 <system_call+34/40>
Code:  d08455d6 <mod_firmware_load+70b6/????>  00000000 <_EIP>: <=Code:  d08455d6 <mod_firmware_load+70b6/????>     0:	8b 40 1c          	movl   0x1c(%eax),%eax <=Code:  d08455d9 <mod_firmware_load+70b9/????>     3:	83 c0 4c          	addl   $0x4c,%eax
Code:  d08455dc <mod_firmware_load+70bc/????>     6:	85 ff             	testl  %edi,%edi
Code:  d08455de <mod_firmware_load+70be/????>     8:	74 0f             	je      d08455ef <mod_firmware_load+70cf/????>
Code:  d08455e0 <mod_firmware_load+70c0/????>     a:	85 c0             	testl  %eax,%eax
Code:  d08455e2 <mod_firmware_load+70c2/????>     c:	74 0b             	je      d08455ef <mod_firmware_load+70cf/????>
Code:  d08455e4 <mod_firmware_load+70c4/????>     e:	57                	pushl  %edi
Code:  d08455e5 <mod_firmware_load+70c5/????>     f:	50                	pushl  %eax
Code:  d08455e6 <mod_firmware_load+70c6/????>    10:	56                	pushl  %esi
Code:  d08455e7 <mod_firmware_load+70c7/????>    11:	e8 ec 83 00 00    	call    d084d9d8 <END_OF_CODE+f4b8/????>


4 warnings issued.  Results may not be reliable.

Sincerly,
Michael

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1999-08-15 19:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-08-15 19:40 emu10k1 moudle oops frodo1

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.