for the last 6 years, I managed to run the German tax software ("ELSTER" with the "ERiC" DLLs) - Windows version - with WINE on Linux (and Mac).
During the ongoing upgrade from ERiC 31 to ERiC 32, my software just terminates without any message. With some debugging, WINE says "unknwon reason", and with some very more debugging (WINEDEBUG=+all or nearly all), I guess the "faulty" position where the crash happens is
Code: Select all
0009:Call ucrtbase.wcsrtombs(4affc033,0032ecf4,1fffffed,0032 ece0) ret=0083be51
0009:Ret ucrtbase.wcsrtombs() retval=00000001 ret=0083be51
0009:Call ucrtbase.malloc(40000000) ret=0083d3ce
0009:Call ntdll.RtlAllocateHeap(00cd0000,00000000,40000000) ret=7d263918
0009:warn:heap:allocate_large_block Could not allocate block for 40000000 bytes
0009:trace:heap:RtlAllocateHeap (0xcd0000,70000062,40000000): returning (nil)
0009:Ret ntdll.RtlAllocateHeap() retval=00000000 ret=7d263918
0009:Ret ucrtbase.malloc() retval=00000000 ret=0083d3ce
0009:Call ucrtbase._callnewh(40000000) ret=0083d3c1
0009:Ret ucrtbase._callnewh() retval=00000000 ret=0083d3c1
0009:Call ucrtbase._CxxThrowException(0032ec88,008d0c34) ret=0083e56a
0009:Call KERNEL32.RaiseException(e06d7363,00000001,00000003 ,0032ec20) ret=7d248071
0009:Call ntdll.memcpy(0032eb70,0032ec20,0000000c) ret=7b03399d
0009:Ret ntdll.memcpy() retval=0032eb70 ret=7b03399d
0009:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b0339ac ip=7b0339ac tid=0009
If I can't find the problem, I'll lose my Linux and Mac users next April (when the use of ERiC 31 will not be allowed any more).
Any thoughts for further debugging? Or even a solution to this?
Thanks in advance,
-Matt
PS: If someone wants to try out or investigate further himself, I have put the complete log files on https://www.hanft.de/eric/test3132.zip and a test program on https://www.hanft.de/eric/TestEricApi.zip (start with "wine TestEricApi" after renamig the desired ERiC version from ERiC31 resp. ERiC32 to ERiC).