Corvax Posted April 11, 2019 Share Posted April 11, 2019 Release build made in Visual Studio 2019 (ver. 16.0.1) for x86 is crashing. Steps to reproduce: 1) Create new default UNIGINE project. 2) Open project source code in VS2019. 3) Build Release configuration for x86 platform. 4) Run. After loading world there is an error - "Memory::allocate(): Can't allocate 134217728 bytes". The stack trace is: > msvcr120.dll!memset(unsigned char * dst, unsigned char value, unsigned long count)Строка 87 Нет данных Unigine_double_x86.dll!MicroProfileLogPut(unsigned __int64,unsigned __int64,unsigned __int64,struct MicroProfileThreadLog *) C++ Unigine_double_x86.dll!MicroProfileEnter(unsigned __int64) C++ Unigine_double_x86.dll!Physics::update(void) C++ Unigine_double_x86.dll!Physics::update_thread(int,int) C++ Unigine_double_x86.dll!CPUThread::process(void) C++ Unigine_double_x86.dll!Thread::thread_handler(void *) C++ kernel32.dll!@BaseThreadInitThunk@12() Нет данных ntdll.dll!__RtlUserThreadStart() Нет данных ntdll.dll!__RtlUserThreadStart@8() Нет данных P.S.: Release build for x64 is OK as well as Debug builds. Link to comment
binstream Posted April 11, 2019 Share Posted April 11, 2019 We would strongly recommend considering moving to x64 only, as we plan to drop x86 support in future releases. Regarding the mentioned problem we will figure out how to help you here shortly. Link to comment
silent Posted April 12, 2019 Share Posted April 12, 2019 Hi Corvax, By default when you create new project Development engine binaries are used (with Microprofile support). When engine starts Microprofile allocates very large amount of RAM to store performance data. Since RAM allocations is very limited in size on x86 systems that can cause crash. Could you please try to reconfigure project and switch from Development to Release binaries (without Microprofile) and rebuild your app? As Denis said, we would like to remove x86 support in the future releases (more likely in 2.9). There is no modern GPU drivers available for x86 platform anyway (nVidia drops support almost year ago, AMD 6 month ago). Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
Corvax Posted April 13, 2019 Author Share Posted April 13, 2019 On 4/12/2019 at 6:53 AM, silent said: Could you please try to reconfigure project and switch from Development to Release binaries (without Microprofile) and rebuild your app? With Release binaries there is no crash. On 4/12/2019 at 6:53 AM, silent said: By default when you create new project Development engine binaries are used (with Microprofile support). When engine starts Microprofile allocates very large amount of RAM to store performance data. Since RAM allocations is very limited in size on x86 systems that can cause crash. 134217728 byte = 128 MB. Not so huge amount of RAM. The memory allocation for process before crash is about 1GB and for sure there is enough free memory to allocate 128 MB more (tested on PC with 32 GB RAM). Link to comment
silent Posted April 15, 2019 Share Posted April 15, 2019 I've added this issue to our internal bug tracker with low priority. We will recommend to use Release builds without Microprofile for x86 architecture. Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
helmut.bressler Posted April 15, 2019 Share Posted April 15, 2019 Hello, did you try to set the /LARGEADDRESSAWARE flag in the linker settings for the visual studio project? I think it is safe to use if non of the libraries conusmed by Unigine is doing some fancy pointer math (like using bit number 31 to encode some additional information). Link to comment
Recommended Posts