Latest in the homeworld/wineoss saga.

Simon Britnell ughbash at
Wed Oct 24 04:36:38 CDT 2001

I've attacked homeworld for a couple of hours with IDA
free and none of the places that set the value of the
NULL pointer are remotely close to a waveOutWrite

I've run -debugmsg +wave with and without the
synchronous  wodWrite patch.  The results are fairly
large so I won't send them unless you feel they're
particularly useful.  To summarise:

Both have 2 wodOpen calls.

Both produce "Oooch buffer underrun" messages.  The
synchronous wodWrite version does only one wodWrite
and a large number of Oooch messages.  The
asynchronous one produces one Oooch per wodWrite.

Here's a more detailed description of the fault,
followed by a couple of ideas on what's really going
The game starts with a 2D animated Sierra online logo
followed by an animated relic logo and then drops into
the game menus which are 2D graphics. mode.

There are 3 distinct behaviours by the game:

1) Immediately prior to playing the Sierra logo, the
game produces an exception report complaining of a
page fault referencing 0x0000000.  The animation
starts and plays behind the exception dialog, but
there is no sound.  If the exception dialog is
ignored, it disappears when the game menu is drawn. 
The menus can be navigated until either the graphics
mode is changed or the actual game is started at which
time wine hangs.  top shows 30% of CPU taken by each
of two wine processes and a wineserver.  Tracing with
remote gdb shows WaitForSingleObject in the stack
traces, when they can be seen (Usually by running gdb
as root).  I usually have trouble getting the correct
symbols loaded.

2) As per (1) above, but no exception dialog appears.

3) The game starts and runs with sound.  There is no

While writing this, I had an idea.  More to follow in
a later post :)

Do You Yahoo!?
Make a great connection at Yahoo! Personals.

More information about the wine-devel mailing list