[Bug 28693] New: Old version Bass.dll fails to load
http://bugs.winehq.org/show_bug.cgi?id=28693 Bug #: 28693 Summary: Old version Bass.dll fails to load Product: Wine Version: 1.3.30 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dsound AssignedTo: wine-bugs(a)winehq.org ReportedBy: jiashulu(a)gmail.com Classification: Unclassified I have trouble playing an old game which uses the audio library Bass.dll. After typing "wine rpg.exe", nothing happens for a while and then an error occurs: err:ntdll:RtlpWaitForCriticalSection section 0x7efec904 "/var/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0028, blocked by 0009, retrying (60 sec) It seems that Bass.dll calls to DirectSoundEnumerate in its Dllmain and something goes wrong. An old version of Bass.dll can be downloaded from its homepage: http://www.un4seen.com/download.php?bass08 There are also some test programs for Bass.dll in the package above. They all fail to start under wine but work all right under windows. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.un4seen.com/down | |load.php?bass08 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 Andrew Nguyen <arethusa26(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 --- Comment #1 from Andrew Nguyen <arethusa26(a)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.
http://bugs.winehq.org/show_bug.cgi?id=28693 --- Comment #2 from jslu <jiashulu(a)gmail.com> 2011-10-17 05:58:07 CDT --- (In reply to comment #1) Thanks for the reply. I wonder whether the get_mmdevenum function can be made single-threaded. The fact that bass.dll can be loaded successfully under windows means that windows doesn't create a new thread to get MMDev enumerator. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 --- Comment #3 from jslu <jiashulu(a)gmail.com> 2011-10-23 20:29:40 CDT --- Created attachment 37097 --> http://bugs.winehq.org/attachment.cgi?id=37097 Make get_mmdevenum() single-threaded -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 --- Comment #4 from jslu <jiashulu(a)gmail.com> 2011-10-23 20:47:10 CDT --- A patch to make get_mmdevenum() single-threaded. Bass.dll is loaded successfully after applying the patch. One possible remaining problem is that the MMDeviceEnumerator object is not released. However, it seems that originally the MMDeviceEnumerator object will not be destroyed until the whole process is ended. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 jslu <jiashulu(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #37097|0 |1 is obsolete| | --- Comment #5 from jslu <jiashulu(a)gmail.com> 2011-10-28 20:22:26 CDT --- Created attachment 37180 --> http://bugs.winehq.org/attachment.cgi?id=37180 Update of previous patch to fix the CoInitializeEx problem This patch should work well under any circumstances. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 jslu <jiashulu(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6d391df4aaefaef1e13ff2dd357 | |1f96fdff6405d Status|NEW |RESOLVED Resolution| |FIXED --- Comment #6 from jslu <jiashulu(a)gmail.com> 2012-01-16 18:31:05 CST --- Commit 6d391df4aaefaef1e13ff2dd3571f96fdff6405d has made get_mmdevenum() single-threaded. This bug is fixed. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=28693 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #7 from Alexandre Julliard <julliard(a)winehq.org> 2012-01-27 14:16:41 CST --- Closing bugs fixed in 1.4-rc1. -- 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.
participants (1)
-
wine-bugs@winehq.org