[Bug 45365] New: Multiple .NET XNA 3.x/ 4.x games using Microsoft.Xna.Framework.Media classes crash due to IWMPCore3 ::newMedia stub
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Jun 23 08:42:12 CDT 2018
https://bugs.winehq.org/show_bug.cgi?id=45365
Bug ID: 45365
Summary: Multiple .NET XNA 3.x/4.x games using
Microsoft.Xna.Framework.Media classes crash due to
IWMPCore3::newMedia stub
Product: Wine
Version: 3.10
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: wmp&wmvcore
Assignee: wine-bugs at winehq.org
Reporter: focht at gmx.net
Distribution: ---
Hello folks,
A.R.E.S. Extinction Agenda 1.x (.NET 2.0, XNA 3.1 game):
https://www.fileplanet.com/217883/download/A.R.E.S:-Extinction-Agenda-Demo
After working around 34622 ("Multiple games need CLSID_DMOWrapperFilter/DMO
Wrapper Filter '{94297043-bd82-4dfd-b0de-8177739c6d20}', 'qasf.dll'") the game
runs into this:
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/ARES - Demo
$ file *.{dll,exe}
AssetLoader.dll: PE32 executable (DLL) (console) Intel 80386 Mono/.Net
assembly, for MS Windows
FlatRedBall.dll: PE32 executable (DLL) (console) Intel 80386 Mono/.Net
assembly, for MS Windows
X10.FRB.dll: PE32 executable (DLL) (console) Intel 80386 Mono/.Net
assembly, for MS Windows
ARES.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS
Windows
unins000.exe: PE32 executable (GUI) Intel 80386, for MS Windows
$ wine ./ARES.exe
...
Unhandled Exception: System.NotImplementedException: The method or operation is
not implemented.
at Microsoft.Xna.Framework.Media.Song..ctor(String name, String filename,
Int32 duration)
at Microsoft.Xna.Framework.Content.SongReader.Read(ContentReader input, Song
existingInstance)
at
Microsoft.Xna.Framework.Content.ContentReader.InvokeReader[T](ContentTypeReader
reader, Object existingInstance)
at
Microsoft.Xna.Framework.Content.ContentReader.ReadObjectInternal[T](Object
existingInstance)
at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T]()
at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T]()
at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String
assetName, Action`1 recordDisposableObject)
at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)
at FlatRedBall.Content.ContentManager.LoadFromProject[T](String assetName)
at FlatRedBall.Content.ContentManager.Load[T](String assetName)
at FlatRedBall.FlatRedBallServices.Load[T](String assetName, String
contentManagerName)
at FlatRedBall.FlatRedBallServices.Load[T](String assetName)
at Trashman.SoundLibrary.LoadMusic(String filename)
at Trashman.Screens.SplashScreen.LoadContent()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
wine: Unhandled exception 0xe0434f4d in thread 43 at address 0x7b446fe6 (thread
0043), starting debugger...
--- snip ---
Trace log:
--- snip ---
$ WINEDEBUG=+seh,+relay,+wmp,+quartz wine ./ARES.exe >>log.txt 2>&1
...
003d:Call KERNEL32.LoadLibraryExW(09cdf0ce
L"C:\\windows\\system32\\wmp.dll",00000000,00000008) ret=7e183052
003d:Call PE DLL (proc=0x7b00567d,module=0x7aff0000
L"wmp.dll",reason=PROCESS_ATTACH,res=(nil))
003d:trace:wmp:DllMain (0x7aff0000 1 (nil))
...
003d:Call wmp.DllGetClassObject(09cdf438,7e264488,09cdf448) ret=7e18523f
003d:trace:wmp:DllGetClassObject (CLSID_WindowsMediaPlayer
{00000001-0000-0000-c000-000000000046} 0x9cdf448)
003d:trace:wmp:ClassFactory_QueryInterface (0x7b01f120)->(IID_IClassFactory
0x9cdf448)
003d:trace:wmp:ClassFactory_AddRef (0x7b01f120)
003d:Ret wmp.DllGetClassObject() retval=00000000 ret=7e18523f
...
003d:trace:wmp:WMPFactory_CreateInstance ((nil)
{6c497d62-8919-413c-82db-e935fb3ec584} 0x9cdf44c)
...
003d:trace:wmp:OleObject_QueryInterface (0x70c1d60)->(IID_IWMPPlayer4
0x9cdf44c)
003d:trace:wmp:OleObject_AddRef (0x70c1d60) ref=2
003d:trace:wmp:OleObject_Release (0x70c1d60) ref=1
003d:trace:wmp:ClassFactory_Release (0x7b01f120)
003d:Ret ole32.CoCreateInstance() retval=00000000 ret=031c26e6
...
003d:trace:wmp:WMPPlayer4_get_settings (0x70c1d60)->(0x9cdf600)
003d:trace:wmp:OleObject_AddRef (0x70c1d60) ref=2
003d:trace:wmp:WMPPlayer4_get_controls (0x70c1d60)->(0x9cdf604)
003d:trace:wmp:OleObject_AddRef (0x70c1d60) ref=3
003d:fixme:wmp:WMPSettings_put_enableErrorDialogs (0x70c1d60)->(0)
...
003d:Ret window proc 0x1002a270
(hwnd=0x20096,msg="Microsoft.Xna.Framework.Media.WmpProxyThread",wp=00000000,lp=00000000)
retval=00000000
...
003d:Call oleaut32.SysAllocStringLen(00df76f8 L"c:\\program files\\ares -
demo\\content\\aud\\menu.wma",00000031) ret=031c38b9
...
003d:fixme:wmp:WMPPlayer4_newMedia (0x70c1d60)->(0x9cdf650)
...
0044:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b446fe6
ip=7b446fe6 tid=0044
0044:trace:seh:raise_exception info[0]=80004001
0044:trace:seh:raise_exception eax=7b4356b1 ebx=06f56a68 ecx=00000000
edx=0d4ff2a0 esi=0d4ff2a0 edi=0d4ff260
0044:trace:seh:raise_exception ebp=0d4ff238 esp=0d4ff1d4 cs=d4f0023 ds=d4f002b
es=f7bd002b fs=f7bd0063 gs=f7bd006b flags=00000216
0044:trace:seh:call_stack_handlers calling handler at 0x79f9a3c8 code=e0434f4d
flags=1
0044:Call
msvcr80._except_handler4_common(7a381240,79e717fb,0d4ff1e0,0d4ff2d8,0d4feefc,0d4fedec)
ret=79f9a3e7
0044:trace:seh:_except_handler4_common exception e0434f4d flags=1 at 0x7b446fe6
handler=0x79f9a3c8 0xd4feefc 0xd4fedec cookie=2a1f6232 scope table=0x79f97080
cookies=-2/0,-72/0
0044:trace:seh:_except_handler4_common level 0 prev -2 filter 0x79f9709c
0044:trace:seh:_except_handler4_common filter returned CONTINUE_SEARCH
0044:trace:seh:_except_handler4_common reached -2, returning
ExceptionContinueSearch
...
--- snip ---
NOTE: the exception is on a different thread by design. XNA media framework
uses a proxy thread ('Microsoft.Xna.Framework.Media.WmpProxyThread') for
Windows Media player, calling into unmanaged code and communicates via windows
messages to the other threads which handle the errors/raise exceptions.
Source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/wmp/player.c#l346
--- snip ---
346 static HRESULT WINAPI WMPPlayer4_newMedia(IWMPPlayer4 *iface, BSTR url,
IWMPMedia **ppMedia)
347 {
348 WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
349 FIXME("(%p)->(%p)\n", This, ppMedia);
350 return E_NOTIMPL;
351 }
--- snip ---
$ sha1sum ARES_Demo_setup.exe
042abbabd5f6b1bbe7418acba7c4cdd9d9df34f6 ARES_Demo_setup.exe
$ du -sh ARES_Demo_setup.exe
118M ARES_Demo_setup.exe
$ wine --version
wine-3.11
Regards
--
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