CVS from 05-02-02 compiled on cygwin using gcc 3.4.1
running MAX 1.04d among others) with any core and
pcspeaker=false.
I haven't extensively tested all sound combinations,
but the bug happens with MAX configured to no sound and
gus sound while with pcspeaker=true both work as expected.
Looking at the code it crashes because
PCSPEAKER_SetCounter is called while spkr.chan is null
which only gets initialized with pcspeaker=true. The
workaround is to simply set pcspeaker=true. The correct
fix is probably to either prevent calling
PCSPEAKER_SetCounter in write_latch or initialize
spkr.chan to some noop implementation in the
pcspeaker=false case (the second variant should have no
performance impact on the pcspeaker=true case).
The gdb stack trace (using core=normal) looks as follows:
_yesno=true) at mixer.cpp:137
mode=2) at pcspeaker.cpp:161
at timer.cpp:163
iohandler.cpp:167
core_normal/prefix_none.h:922
at callback.cpp:103
name=0x22db10 ".\DOS32A", args=0x22ebf8 " MAXRUN -f.")
at shell_misc.cpp:441
line=0x22ebf8 " MAXRUN -f.") at shell_cmds.cpp:98
line=0x22ebf0 ".\DOS32A MAXRUN -f.") at shell.cpp:146
shell.cpp:209
setup.cpp:327
sdlmain.cpp:1127
at win32/SDL_win32_main.c:249
szCmdLine=0x241ef6 "MAX -noconsole", sw=10) at
win32/SDL_win32_main.c:361
Sorry if this is a duplicate, but I couldn't find
anything related to this after a brief search.
Logged In: YES
user_id=535630
2005-02-03 11:34 qbix79
channel if it
actually is present. Fixes some crashes with pcspeaker
disabled
I didn't saw this report actually, but could you test a
current cvs to see wether my changes influence the behaviour ?
Logged In: YES
user_id=839597
Yes, that fixes it. Sorry that my report was late.
Logged In: YES
user_id=535630
good. no need to appologize.
I was just "amazed" as I read the report after I commited
the fix.
I'm glad it's fixed. Will close the report now.