[Bug 44518] Wine 3.0 can't run Aquad 7 (data analysis program)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Feb 17 07:33:25 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=44518

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net

--- Comment #11 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

I can't reproduce this, the app works as expected.

The app crashes *by design* if no printer is found.
Whoever wrote this code should really think about proper error handling.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/AQUAD_7

$ WINEDEBUG=+seh,+relay,+winspool wine ./aquad7.exe >>log.txt 2>&1
...
002d:Call KERNEL32.CreateFileA(009219cc
"C:\\AQUAD_7\\aquad7.ini",80000000,00000001,00000000,00000003,00000080,00000000)
ret=00409887
002d:Ret  KERNEL32.CreateFileA() retval=00000088 ret=00409887 
...
002d:Call
winspool.drv.EnumPrintersA(00000001,00000000,00000005,00000000,00000000,0033fd70,0033fd6c)
ret=00433cce
002d:trace:winspool:EnumPrintersA (0x1, (null), 5, (nil), 0, 0x33fd70,
0x33fd6c)
...
002d:trace:winspool:convert_printerinfo_W_to_A ((nil), (nil), 5, 0, 0)
...
002d:Ret  winspool.drv.EnumPrintersA() retval=00000001 ret=00433cce
002d:Call
winspool.drv.EnumPrintersA(00000001,00000000,00000005,00000000,00000000,0033fd70,0033fd6c)
ret=00433d3c
002d:trace:winspool:EnumPrintersA (0x1, (null), 5, (nil), 0, 0x33fd70,
0x33fd6c)
...
002d:trace:winspool:convert_printerinfo_W_to_A ((nil), (nil), 5, 0, 0)
...
002d:Ret  winspool.drv.EnumPrintersA() retval=00000001 ret=00433d3c
002d:Call KERNEL32.GetProfileStringA(00433e74 "windows",00433e6c
"device",00433e68 "",0033f960,000003ff) ret=00433d6c
002d:Ret  KERNEL32.GetProfileStringA() retval=00000000 ret=00433d6c
002d:Call
winspool.drv.EnumPrintersA(00000006,00000000,00000004,00000000,00000000,0033f914,0033f910)
ret=00433aca
002d:trace:winspool:EnumPrintersA (0x6, (null), 4, (nil), 0, 0x33f914,
0x33f910)
002d:trace:winspool:WINSPOOL_EnumPrintersW ignoring PRINTER_ENUM_CONNECTIONS
002d:Call advapi32.RegCreateKeyW(80000002,7e422da0
L"System\\CurrentControlSet\\Control\\Print\\Printers",0033f738) ret=7e417220
002d:Ret  advapi32.RegCreateKeyW() retval=00000000 ret=7e417220
002d:Call
advapi32.RegQueryInfoKeyA(00000088,00000000,00000000,00000000,0033f52c,00000000,00000000,00000000,00000000,00000000,00000000,00000000)
ret=7e41728d
002d:Ret  advapi32.RegQueryInfoKeyA() retval=00000000 ret=7e41728d
002d:trace:winspool:WINSPOOL_EnumPrintersW Found 0 printers
...
002d:trace:winspool:convert_printerinfo_W_to_A ((nil), (nil), 4, 0, 0)
...
002d:Ret  winspool.drv.EnumPrintersA() retval=00000001 ret=00433aca
002d:Call user32.LoadStringA(00400000,0000ff0b,0033f530,00000400) ret=00406a3e
002d:Ret  user32.LoadStringA() retval=0000001b ret=00406a3e
002d:Call KERNEL32.RaiseException(0eedfade,00000001,00000007,0033f918)
ret=00432db6
002d:trace:seh:raise_exception code=eedfade flags=1 addr=0x7b4465af ip=7b4465af
tid=002d
002d:trace:seh:raise_exception  info[0]=00432db6
002d:trace:seh:raise_exception  info[1]=00921ba4
002d:trace:seh:raise_exception  info[2]=00910e2c
002d:trace:seh:raise_exception  info[3]=ffffffff
002d:trace:seh:raise_exception  info[4]=009204a8
002d:trace:seh:raise_exception  info[5]=0033fd78
002d:trace:seh:raise_exception  info[6]=0033f934
002d:trace:seh:raise_exception  eax=7b434d2d ebx=00910e2c ecx=0000001c
edx=0033f874 esi=0033f918 edi=0033f8e0
002d:trace:seh:raise_exception  ebp=0033f8b8 esp=0033f854 cs=33340023 ds=33002b
es=7bd1002b fs=64320063 gs=7bd1006b flags=00000212 
...
002d:Call KERNEL32.UnhandledExceptionFilter(0033f3f0) ret=004044d0
wine: Unhandled exception 0x0eedfade in thread 2d at address 0x0000:0x7b4465af
(thread 002d), starting debugger... 
...
002d:err:seh:setup_exception_record stack overflow 876 bytes in thread 002d eip
f75cbed8 esp 00240fc4 stack 0x240000-0x241000-0x340000
--- snip ---

0x0eedfade is Delphi external exception code which crossed the module
boundaries to SEH.

In this case it's an internal exception: 'EPrinter', 'No default printer
selected' that "escaped" the Delphi runtime and the top-level SEH doesn't
understand = can't handle it.

Anyway this is not a bug, the app would behave exactly the same if all printers
are removed on a Windows machine.

--- quote ----
 Running it from terminal also throws the same error which I attached earlier
on.
--- quote ----

Which one?

The output from comment #0? -> INVALID bug -> no printer = crash is expected
The output from comment #3? -> INVALID bug -> messed up WINEPREFIX

If you don't post more specific information no one can/will help you.

Create a full relay log by running the app in terminal from installation
directory and *attach* the log file this ticket (compress if too large).

You might want to start some Wine builtin first to bootstrap "warmup" the
prefix ('wine notepad' from another terminal) to avoid too many noise from
other Wine processes (although there exist +pid to filter for).

--- snip ---
$ pwd
/home/focht/.wine/drive_c/AQUAD_7

$ WINEDEBUG=+seh,+relay,+winspool wine ./aquad7.exe >>log.txt 2>&1
--- snip ---

$ sha1sum aqd7_e_prg_setup.exe 
c32c154ac32305c65cb2500936cc848d64df653f  aqd7_e_prg_setup.exe

$ du -sh aqd7_e_prg_setup.exe 
2.0M    aqd7_e_prg_setup.exe

$ wine --version
wine-3.2

Regards

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