[Bug 26350] Dungeons demo doesn't run

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jun 29 13:36:39 CDT 2011


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

Louis Lenders <xerox_xerox2000 at yahoo.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |xerox_xerox2000 at yahoo.co.uk

--- Comment #1 from Louis Lenders <xerox_xerox2000 at yahoo.co.uk> 2011-06-29 13:36:39 CDT ---

> With dotnet35, fails with:
> Unhandled Exception: System.MissingMethodException: Method not found: 'Void
> System.Runtime.GCSettings.set_LatencyMode(System.Runtime.GCLatencyMode)'.
>    at Realmforge.MogreUtil.Application.MainApplication`3.Run()
>    at Realmforge.Dungeons.DungeonsMain.Main(String[] args)

This seems to be due to improperly .net installation (.net 2.0 SP1 missing).
After installing .net 2.0 sp1 it gets a bit further, do crash into the
following:

18:05:45.985:         > Ogre: Loading library
dlls/Plugin_OctreeSceneManager.dll
18:05:45.988: *ERROR* > Ogre: OGRE EXCEPTION(7:InternalErrorException): Could
not load dynamic library dlls/Plugin_OctreeSceneManager.dll.  System Error:
Module not found

The module  dlls/Plugin_OctreeSceneManager.dll is however present in the
directory. A +relay log showed:

0009:Call KERNEL32.LoadLibraryExA(04e94580
"dlls/Plugin_OctreeSceneManager.dll",00000000,00000008) ret=046dfd84
0009:Ret  KERNEL32.LoadLibraryExA() retval=00000000 ret=046dfd84
0009:Call KERNEL32.GetLastError() ret=046dfbb2
0009:Ret  KERNEL32.GetLastError() retval=0000007e ret=046dfbb2

LoadLibraryEx fails to load the library with LOAD_WITH_ALTERED_SEARCH_PATH flag
and relative path. MSDN says that in this case the behavior is undefined, but
maybe windows just always happily loads the dll. This needs some tests.


With the hack below to workaround this, it gets a tiny bit further again to
crash into:

18:03:08.729: *ERROR* > Ogre: OGRE EXCEPTION(3:RenderingAPIException): Cannot
reset device! in D3D9RenderWindow::reset at
..\..\..\Ogre\RenderSystems\Direct3D9\src\OgreD3D9Device.cpp (line 421)
18:03:08.730: *ERROR* > Error during RenderOneFrame in frame 0:
System.Runtime.InteropServices.SEHException: External component has thrown an
exception.


Probably a d3d bug (Cannot reset device!).

Using a virtual desktop the game however starts fine for me.

Let's make this bug about the LoadLibraryEx bug; you can open other bugreports
for d3d and/or mono failure


diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c
index 8ee0fcd..4fa0e8d 100644
--- a/dlls/kernel32/module.c
+++ b/dlls/kernel32/module.c
@@ -859,7 +859,7 @@ static HMODULE load_library( const UNICODE_STRING *libname,
DWORD flags )
     if( flags & unsupported_flags)
         FIXME("unsupported flag(s) used (flags: 0x%08x)\n", flags);

-    load_path = MODULE_get_dll_load_path( flags &
LOAD_WITH_ALTERED_SEARCH_PATH ? libname->Buffer : NULL );
+    load_path = MODULE_get_dll_load_path(0);// flags &
LOAD_WITH_ALTERED_SEARCH_PATH ? libname->Buffer : NULL );

     if (flags & LOAD_LIBRARY_AS_DATAFILE)


I tracked this down

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