[Bug 28693] Old version Bass.dll fails to load

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Oct 15 02:07:44 CDT 2011


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

Andrew Nguyen <arethusa26 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1

--- Comment #1 from Andrew Nguyen <arethusa26 at gmail.com> 2011-10-15 02:07:44 CDT ---
I see the problem in wine-1.3.30-102-g8f8e86e with the supplied sample
application mo3.exe. A deadlock occurs when bass.dll's DllMain in the
DLL_PROCESS_ATTACH notification calls DirectSoundEnumerateA, causing it to
indirectly wait on a thread which itself is waiting to take the loader critical
section:

Backtrace:
=>0 0x68001230 _dl_sysinfo_int80() in ld-linux.so.2 (0x0033eee0)
...
  4 0x7b86fab4 WaitForMultipleObjects+0x39(count=0x2, handles=0x33f2fc,
wait_all=0, timeout=0xffffffff)
[/home/arethusa/wine32-unoptimized/dlls/kernel32/../../../wine.git/dlls/kernel32/sync.c:148]
in kernel32 (0x0033f2d0)
  5 0x68b7e54c get_mmdevenum+0x10f()
[/home/arethusa/wine32-unoptimized/dlls/dsound/../../../wine.git/dlls/dsound/dsound_main.c:266]
in dsound (0x0033f310)
  6 0x68b7eda5 enumerate_mmdevices+0x19(flow=eRender, guids=0x68ba6d40,
cb=0x68b7e9cc, user=0x33f408)
[/home/arethusa/wine32-unoptimized/dlls/dsound/../../../wine.git/dlls/dsound/dsound_main.c:496]
in dsound (0x0033f3a0)
  7 0x68b7f2e6 DirectSoundEnumerateW+0xe7(lpDSEnumCallback=0x68b7e9cc,
lpContext=0x33f408)
[/home/arethusa/wine32-unoptimized/dlls/dsound/../../../wine.git/dlls/dsound/dsound_main.c:595]
in dsound (0x0033f3f0)
  8 0x68b7eb17 DirectSoundEnumerateA+0x88(lpDSEnumCallback=0x1001a6e0,
lpContext=0x0(nil))
[/home/arethusa/wine32-unoptimized/dlls/dsound/../../../wine.git/dlls/dsound/dsound_main.c:429]
in dsound (0x0033f420)
  9 0x1001c65c in bass (+0x1c65b) (0x0033fd14)
  10 0x1001c4f5 in bass (+0x1c4f4) (0x0033fd38)
  11 0x7bc4c499 call_dll_entry_point+0x14() in ntdll (0x0033fd58)
  12 0x7bc4e756 MODULE_InitDLL+0x200(wm=0x111298, reason=0x1, lpReserved=0x1)
[/home/arethusa/wine32-unoptimized/dlls/ntdll/../../../wine.git/dlls/ntdll/loader.c:978]
in ntdll (0x0033fec8)
...

The sample application does work on Windows 7. I don't have any good ideas on
how to fix the issue, as there is no obvious place in dsound to defer the
get_mmdevenum() initialization such that it does not occur when the loader
critical section is held yet with DirectSoundEnumerateA reporting non-fake
information when bass.dll loads.

-- 
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