[Bug 43408] Quest 5.7.x (.NET 4.0 WPF app) crashes on direct access of MIL4 (Media Integration Layer, wpfgfx_v0400.dll) to internal bitmap struct/class impl ( depends on exact layout)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Jul 23 06:42:56 CDT 2017
https://bugs.winehq.org/show_bug.cgi?id=43408
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |focht at gmx.net
URL| |https://github.com/textadve
| |ntures/quest/releases/downl
| |oad/v5.7.1/quest571.exe
Keywords| |download
Status|UNCONFIRMED |NEW
Component|-unknown |windowscodecs
Summary|Running Quest with Dotnet |Quest 5.7.x (.NET 4.0 WPF
|4.0 crashes |app) crashes on direct
| |access of MIL4 (Media
| |Integration Layer,
| |wpfgfx_v0400.dll) to
| |internal bitmap
| |struct/class impl (depends
| |on exact layout)
Ever confirmed|0 |1
--- Comment #4 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
initial bug report -> dupe of bug 37988 ("Jeskola Buzz Build 1499 (.NET 4.0
app) fails to run (samba/winbind package not installed with distro)")
Comment #2 relates to bug 34764 (".NET Framework 3.5 SP1 based WPF applications
crash on direct access of MIL (Media Integration Layer) to internal bitmap
struct/class impl (depends on exact layout)") but it's not an exact dupe.
Wine-staging patchset still causes crash here.
Maybe they changed layout again when updating MILCore for WPF 4.0.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Quest 5
$ wine ./Quest.exe
...
Unhandled Exception: System.AccessViolationException: Attempted to read or
write protected memory. This is often an indication that other memory is
corrupt.
at MS.Win32.PresentationCore.UnsafeNativeMethods.MILUnknown.Release(IntPtr
pIUnkown)
at
MS.Win32.PresentationCore.UnsafeNativeMethods.MILUnknown.ReleaseInterface(IntPtr&
ptr)
at
System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri,
Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean&
isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream&
unmanagedMemoryStream, SafeFileHandle& safeFilehandle)
at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri
baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions,
BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean
insertInDecoderCache)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapImage.EndInit()
at GameBrowser.GameListItem.m_imageClient_DownloadDataCompleted(Object
sender, DownloadDataCompletedEventArgs e)
at
System.Net.WebClient.OnDownloadDataCompleted(DownloadDataCompletedEventArgs e)
at System.Net.WebClient.DownloadDataOperationCompleted(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate
callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,
Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
...
--- snip ---
-> 'winetricks -q windowscodecs'
After that:
--- snip ---
System.InvalidOperationException: An error occurred creating the form. See
Exception.InnerException for details. The error is: Parameter is not valid.
---> System.ArgumentException: Parameter is not valid.
at System.Drawing.Image.get_RawFormat()
at System.Windows.Forms.ToolStripItem.set_ImageTransparentColor(Color value)
at TextAdventures.Quest.Toolbar.InitializeComponent()
at TextAdventures.Quest.Toolbar..ctor()
at TextAdventures.Quest.Player..ctor()
at TextAdventures.Quest.Main.InitializeComponent()
at TextAdventures.Quest.Main..ctor()
--- End of inner exception stack trace ---
at TextAdventures.Quest.My.MyProject.MyForms.Create__Instance__[T](T
Instance)
at TextAdventures.Quest.My.MyApplication.OnCreateMainForm()
at
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
--- snip ---
--- snip ---
...
004d:Call gdiplus.GdipLoadImageFromStream(05c00030,0033e460) ret=05c1b73b
...
004d:trace:gdiplus:initialize_decoder_wic
0x5c00030,{1b7cfaf4-713f-473c-bbcd-6137425faeaf}
004d:Call KERNEL32.LoadLibraryA(7d8fee10 "windowscodecs.dll") ret=7d8da1af
...
004d:Ret rpcrt4.NdrDllGetClassObject() retval=80040111 ret=530144f6
004d:err:ole:apartment_getclassobject DllGetClassObject returned error
0x80040154
...
004d:err:ole:CoGetClassObject no class object
{3692ca39-e082-4350-9e1f-3704cb083cd5} could be created for context 0x1
004d:Ret ole32.CoCreateInstance() retval=80040154 ret=5302d97b
...
004d:Ret gdiplus.GdipLoadImageFromStream() retval=00000001 ret=05c1b73b
...
004d:Call KERNEL32.GetProcAddress(7d880000,03c7cc32 "GdipGetImageRawFormat")
ret=79171e1e
004d:Ret KERNEL32.GetProcAddress() retval=7d88d9b0 ret=79171e1e
...
004d:Call gdiplus.GdipGetImageRawFormat(00000000,0033eac4) ret=05c1d2b3
004d:trace:gdiplus:GdipGetImageRawFormat ((nil), 0x33eac4)
004d:Ret gdiplus.GdipGetImageRawFormat() retval=00000002 ret=05c1d2b3
--- snip ---
Native Windows Imaging Component (WIC) for Windows XP installed by 'winetricks'
doesn't implement PNG gAMA metadata reader hence 'gdiplus' must be here native
too.
https://msdn.microsoft.com/en-us/library/windows/desktop/dn280986(v=vs.85).aspx
-> 'winetricks -q gdiplus'
After that the main user interface is black due to other insufficiencies.
I'm too lazy to find the dupes here though.
Wine-Staging 2.x makes the user interface fully appear and usable with the
aforementioned native overrides.
$ sha1sum quest571.exe
828639754a27f3576a7a86a876ee240d3a8e978e quest571.exe
$ du -sh quest571.exe
30M quest571.exe
$ wine --version
wine-2.13
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