otya128 / winevdm

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
GNU General Public License v2.0
2.67k stars 152 forks source link

VM Context error while running 16 bits applications on Windows server 2019 x64 #871

Open thorgal747 opened 3 years ago

thorgal747 commented 3 years ago

Dear all,

I have some programs written with SQLWindows (compiled in 16 bits) that are running now on server Windows server 2008 32 bit operating system. Now I need to move those programs to a new server Windows 2019 64 bits operating system x64. I copied all needed programs files (dll, exe) to the new server. I tried to use the solution otya128 / Winevdm to run my 16 bits exe under the new x64 server. Find hereinafter the trace of execution of my program. Can someone help me about my issue ?

Thanks, Regards Soung

version: 1056
1be8:fixme:toolhelp:NotifyRegister16 474: (11df,12272cee,0), semi-stub.
SReg Load (03c3dc86): Segment is not a data segment or readable code segment.
=====dump all modules=====
Module Flags Name Flag
 188f   8021    STORAGE     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 184f   8305    MFCOLEUI    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 1837   8021    COMPOBJ     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 181f   8021    OLE2        NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 17c7   8301    SRVCAP30    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 179f   8309    SQLSST30    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 1777   8301    IMGMAN2     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 175f   8021    COMMDLG     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1747   8021    OLECLI      NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 16ef   8309    GTIOBJ30    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 1687   8309    GCTRL30     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 166f   8021    SHELL       NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1587   8301    SQLAPIW     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 138f   030a    SqlRun50    NE_FFLAGS_MULTIPLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI
 1357   8021    TOOLHELP    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 132f   8301    SWIN41      NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 1317   8021    VER         NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 12ff   8021    WIN87EM     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1297   8309    GTOOLS30    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 1237   8301    SQLNUM30    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 120f   8301    SWIN50      NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
 119f   030a    SWLOADER    NE_FFLAGS_MULTIPLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI
 1187   8021    SOUND       NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 116f   8021    MMSYSTEM    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1157   8021    MOUSE       NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 113f   8021    KEYBOARD    NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1127   8021    DISPLAY     NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 110f   8021    USER        NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 10f7   8021    GDI         NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 10c7   8021    TIMER       NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 10af   8021    COMM        NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1097   8021    SYSTEM      NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
 1007   8021    KERNEL      NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
=====dump all modules=====
22: vm86.dll!load_x87function+0x5589 - 0x73301cb0 (null)(0)
21: ntdll.dll!RtlUnwind+0x1da - 0x776d7e30 (null)(0)
20: ntdll.dll!KiUserExceptionDispatcher+0x26 - 0x776e3bc0 (null)(0)
=============================
19: vm86.dll!dasm_buffer_dump+0x646 - 0x73307aa0 (null)(0)
18: vm86.dll!vm_inject+0x94e - 0x73308130 (null)(0)
17: vm86.dll!wine_call_to_16_regs_vm86+0x4d - 0x73307850 (null)(0)
16: krnl386.exe16!K32WOWCallback16Ex+0x3c7 - 0x7420eea0 (null)(0)
15: krnl386.exe16!MapHModuleSL+0x1bed - 0x741f6e70 (null)(0)
14: krnl386.exe16!MapHModuleSL+0x1cb5 - 0x741f6e70 (null)(0)
13: krnl386.exe16!MapHModuleSL+0x1c98 - 0x741f6e70 (null)(0)
12: krnl386.exe16!MapHModuleSL+0x1c98 - 0x741f6e70 (null)(0)
11: krnl386.exe16!InitTask16+0x126 - 0x74201f30 (null)(0)
10: krnl386.exe16!RegFlushKey16+0x732 - 0x741f9a10 (null)(0)
9: krnl386.exe16!vm_debug_get_entry_point+0x82b - 0x741fa190 (null)(0)
8: vm86.dll!vm_inject+0xe91 - 0x73308130 (null)(0)
7: vm86.dll!wine_call_to_16_regs_vm86+0x4d - 0x73307850 (null)(0)
6: krnl386.exe16!K32WOWCallback16Ex+0x3c7 - 0x7420eea0 (null)(0)
5: krnl386.exe16!LoadModule16+0x6ff - 0x741f4bc0 (null)(0)
4: krnl386.exe16!RestoreThunkLock+0xb82 - 0x74200e70 (null)(0)
3: KERNEL32.DLL!BaseThreadInitThunk+0x19 - 0x76c00400 (null)(0)
2: ntdll.dll!RtlGetAppContainerNamedObjectPath+0xed - 0x776d7400 (null)(0)
1: ntdll.dll!RtlGetAppContainerNamedObjectPath+0xbd - 0x776d7400 (null)(0)
0: !RtlGetAppContainerNamedObjectPath+0xffffffff88928c00 - 0x776d7400 (null)(0)
========================
address=752D25F2
access address=73310B4C
VM context
EAX:1057741C,ECX:1797,EDX:55C206B0,EBX:EEE0
ESP:AF8C,EBP:AF8C,ESI:741C,EDI:EEE0
ES:1057,CS:178F,SS:157F,DS:1797,FS:0000,GS:0000
IP:D3D6, address:7331FC2D
EFLAGS:00003246

Interrupt 0D #GP (178F:D3D3) flags 3246 err 741C
lds     bx,[bp+6h]
cracyc commented 3 years ago

Need a trace.

Edit Just noticed version: 1056. Please try the newest version first from https://ci.appveyor.com/project/otya128/winevdm/.

thorgal747 commented 3 years ago

Thank you for your reply. Sorry since I am not familiar with the way to compile Winevdm, is it possible to have a link to get the last compile version ? Find in attach the trace file.

trace.txt

cracyc commented 3 years ago

Get the zip from https://ci.appveyor.com/project/otya128/winevdm/build/job/eavdbdq6kkd8rekv/artifacts.

thorgal747 commented 3 years ago

trace_winevdm.txt

Hi,

Thank you for your help. I got the version: 1946. Is it the last version ? It is better I succeded to run my application but noticed that it is quite instable and slow,while executing ...randomaly close my window. My application need to connect to database and execute sql query. I guess that errors occurs while executing sql query.

FInd in attach trace file. Thanks Regards,

cracyc commented 3 years ago

You need to make a trace with the instructions from https://github.com/otya128/winevdm/blob/master/.github/ISSUE_TEMPLATE/bug_report.md and try whpx, https://github.com/otya128/winevdm/issues/699, which should help performance.