[Bug 28388] winmm/midi.ok deadlocks and crashes occasionally?

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Oct 27 03:25:20 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=28388

--- Comment #14 from Jörg Höhle <hoehle at users.sourceforge.net> 2011-10-27 03:25:20 CDT ---
We don't know what causes the bug.  From Dan's logs:
- it always occurs after midiStreamOpen (past test line 414);
- there's never a backtrace for the main winmm thread (running the test),
  which may indicate some stack corruption;
- mark_block_free within AllocateHeap is a strange place to hang,
  as it's just a loop, except perhaps if size overflowed to MAX_INT
  and it's overwriting all memory.

>wild pointer reference buried in an ioctl in snd_ctl_pcm_info
I think we can ignore that here.

Somebody should examine closely and understand how winmm starts the 
MMSYSTEM_MidiStream_Player thread and esp. how it creates its message port:
1140 /* force thread's queue creation */
1141 PeekMessageA(&msg, 0, 0, 0, PM_NOREMOVE);
but actually Dan found the hang later in:
1154 /* for first message, block until one arrives, then process all that are
available */
1155 GetMessageA(&msg, 0, 0, 0);

May the custom WINE_MSM_HEADER/STOP messages cause serialization/pointer
issues?

Or we "simply" have a case of buffer overflow that destroys the heap arena
information, leading to a deadlock.  Oddly, warn+heap makes no difference.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list