Devilutionx: Release build exits because on CreateFileMapping being unimplemented

Created on 25 Apr 2019  Â·  9Comments  Â·  Source: diasurgical/devilutionX

This is just a notice that current master (0a8d45e) only works with BINARY_RELEASE=OFF on my system. If built with BINARY_RELEASE=ON, it segfaults after:

DUMMY: SetUnhandledExceptionFilter @ /redacted/diasurgical-devilutionX.git/SourceX/miniwin/misc.cpp:479
DUMMY: GetSystemInfo @ /redacted/diasurgical-devilutionX.git/SourceX/miniwin/misc.cpp:545
UNIMPLEMENTED: CreateFileMappingA @ /redacted/diasurgical-devilutionX.git/SourceX/miniwin/misc.cpp:637

All 9 comments

64bit is considered highly experimental and release ready, it has lots of crashes as the code is still making a lot of assumptions regarding the memory layout. The progress on cleaning the code can be followed here: https://github.com/diasurgical/devilution/milestone/3

However this doesn't actually relate to 64bit builds, but release builds in general. The issue is that the code includes diablo_reload_process and makes a call to CreateFileMapping which is unimplemented. Afaik this is unused/a debugger trap and we could simply implement it as returning false.

I know. I'm using 32-bit builds via the provided toolchain file – I'm not looking for trouble. ;-)

New problem:

[ 75%] Building CXX object CMakeFiles/devilutionx.dir/SourceX/miniwin/misc.cpp.o
/redacted/diasurgical-devilutionX.git/SourceX/miniwin/misc.cpp: In function 'void* dvl::CreateFileMappingA(dvl::HANDLE, dvl::LPSECURITY_ATTRIBUTES, dvl::DWORD, dvl::DWORD, dvl::DWORD, dvl::LPCSTR)':
/redacted/diasurgical-devilutionX.git/SourceX/miniwin/misc.cpp:638:9: error: cannot convert 'bool' to 'dvl::HANDLE' {aka 'void*'} in return
  return false;
         ^~~~~
make[2]: *** [CMakeFiles/devilutionx.dir/build.make:76: CMakeFiles/devilutionx.dir/SourceX/miniwin/misc.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:262: CMakeFiles/devilutionx.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Oops should have returned NULL instead of false, should be fixed now :) Thanks for reporting.

64bit is starting to come along by the way so hopefully, we start supporting that before not too long. Should make building/installing easier.

I know. I'm monitoring the “Binary identical functions” milestone: 1631 of 1877 => 86.89% done, 246 open.

I'm still on the fence if I should hack my own item highlight/auto click port or wait until everything over there is done and this is ready for @qndel to recreate Infernity.

@sergi4ua has started a mod that ports highlighting and some other features to DevilutionX

I know. I'm monitoring the “Binary identical functions” milestone: 1631 of 1877 => 86.89% done, 246 open.

I'm still on the fence if I should hack my own item highlight/auto click port or wait until everything over there is done and this is ready for @qndel to recreate Infernity.

damn, nice to know someone cares haha

Okay, then I'll probably graft the highlighting and the run in town patch onto current master.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

predator8bit picture predator8bit  Â·  22Comments

ctrl-meta-f picture ctrl-meta-f  Â·  30Comments

liberodark picture liberodark  Â·  28Comments

Chance4us picture Chance4us  Â·  27Comments

Tmkrth picture Tmkrth  Â·  25Comments