Yard sale windows app fun: Lotus SmartSuite '96. 1-2-3 works, WordPro doesn't.

Dan Kegel dank at kegel.com
Sat Jun 19 18:22:01 CDT 2004

I went to a yard sale today, and that's always dangerous.
Today I ended up buying a copy of Lotus SmartSuite '96.
I then installed Wine-20040615.tar.gz and tried installing my new disc with
   $ wine d:\\install.exe
It got all confused, started iterating through every file underneath my
home directory, and printed out
   err:shell:SHGetFileInfoW pidl is null!
for each one!
On a hunch, I made my home directory look empty,
   $ mkdir .blort
   $ mv * .blort
   $ wine d:\\install.exe
That seemed much better; Wine only printed out the SHGetFileInfoW error
once, presumably for the lotustmp.000 directory it created in my home

The next problem was when a dialog box
   "Select a Program Group..."
popped up.  At about the same time, an error box with title
"Setup Message" and body
"Setup has encountered a problem.
Please report File='COMMON\SYMTAB11.C',Line='618' to Microsoft
Product Support Services."
This looks a bit lot like
which happens when GetWindowsDirectory() returns a string with lowercase letters,
but clicking OK let me past with no ill affects, and I was able to install.

At least when all I installed was Word Pro.
When I also tried installing 1-2-3 and ScreenCam, I
got the error "Lotus Setup" : "Install encountered an error trying to start Regedit.exe."
That popped up twice, after which install thought for a long time, then warned
fixme:ole:CoCreateInstance no classfactory created for CLSID {00021401-0000-0000-c000-000000000046}, hres is 0x80040154
and seemed to get stuck.  Still, things seemed to be more or less well installed,
so I tried running two of the apps.

$ cd c/lotus/123/programs
$ wine 123w.exe
worked quite nicely.  (Well, it did say the date was 6/17/104, but nobody's perfect!)

Next I tried Word Pro:
$ cd ~/.wine/c/lotus/wordpro
$ wine wordpro.exe

That failed immediately, so quickly that
   WINEDEBUG=+all wine wordpro.exe
was practical to run.  Here's part of its output.  It looks as if
the very first instruction accesses a null pointer in a strange

0009:Starting process L"C:\\lotus\\wordpro\\wordpro.exe" (entryproc=0x7a6aee)
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x7a6aee
0009:trace:seh:EXC_RtlRaiseException  info[0]=00000001
0009:trace:seh:EXC_RtlRaiseException  info[1]=00000000
0009:trace:seh:EXC_RtlRaiseException  eax=00000000 ebx=403f1668 ecx=400c0be8 edx=400c0c37 esi=400c1000 edi=007a6aee
0009:trace:seh:EXC_RtlRaiseException  ebp=4070fff4 esp=4070ff30 cs=0023 ds=002b es=002b fs=003b gs=0033 flags=00010246
0009:trace:seh:EXC_CallHandler calling handler at 0x403e1708 code=c0000005 flags=0
0009:Call ntdll.NtQueryVirtualMemory(ffffffff,00000000,00000000,4070fac0,0000001c,4070fa84) ret=4037aeb8
0009:Ret  ntdll.NtQueryVirtualMemory() retval=00000000 ret=4037aeb8
0009:Call ntdll.RtlImageDirectoryEntryToData(00000000,00000001,00000002,4070fabc) ret=4033fbbe
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x40091368
0009:trace:seh:EXC_RtlRaiseException  info[0]=00000000
0009:trace:seh:EXC_RtlRaiseException  info[1]=00000000
0009:trace:seh:EXC_RtlRaiseException  eax=00000000 ebx=400beec4 ecx=00000001 edx=00000000 esi=00000000 edi=00000002
0009:trace:seh:EXC_RtlRaiseException  ebp=4070f9e4 esp=4070f928 cs=0023 ds=002b es=002b fs=003b gs=0033 flags=00010246
0009:trace:seh:EXC_CallHandler calling handler at 0x40089948 code=c0000005 flags=0
0009:trace:seh:EXC_RtlUnwind code=c0000005 flags=2
0009:trace:seh:EXC_CallHandler calling handler at 0x40088fc0 code=c0000005 flags=2
0009:trace:seh:EXC_CallHandler handler returned 1
0009:Ret  ntdll.RtlImageDirectoryEntryToData() retval=00000000 ret=4033fbbe
0009:Call ntdll.NtCreateEvent(4070fac0,001f0003,4070fac4,00000001,00000000) ret=4033f836
0009:Ret  ntdll.NtCreateEvent() retval=00000000 ret=4033f836
wine: Unhandled exception (thread 0009), starting debugger...
Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x007a6aee).
In 32 bit mode.
Register dump:
  CS:0023 SS:002b DS:002b ES:002b FS:003b GS:0033
  EIP:007a6aee ESP:4070ff30 EBP:4070fff4 EFLAGS:00010246(   - 00      -RIZP1)
  EAX:00000000 EBX:403f1668 ECX:400c0be8 EDX:400c0c37
  ESI:400c1000 EDI:007a6aee
Stack dump:
0x00000000:  00000000 00000000 00000000 00000000
0x00000010:  00000000 00000000 00000000 00000000
0x00000020:  00000000 00000000 00000000 00000000
0x00000030:  00000000 00000000 00000000 00000000
0x00000040:  00000000 00000000 00000000 00000000
0x00000050:  00000000 00000000 00000000 00000000

=>1 0x007a6aee (0x4070fff4)
   2 0x4002e83d (0x00000000)
0x007a6aee: addb        %al,0x0(%eax)
0x40070000-400c2000     Deferred        ntdll
0x40320000-403f3000     Deferred        kernel32
0x00400000-00888000     --none--        wordpro
0x402f0000-403f3000     Deferred        kernel32<elf>
0x40019000-40025000     Deferred        libnss_files.so.2
0x401b5000-401d7000     Deferred        libm.so.6
0x400c2000-401b5000     Deferred        libwine_unicode.so.1
0x40053000-400c2000     Deferred        ntdll<elf>
0x40000000-40016000     Deferred        ld-linux.so.2
0x4004f000-40052000     Deferred        libdl.so.2
0x420155f0-841485f0     Deferred        libc.so.6
0x40042000-4004f000     Deferred        libpthread.so.0
0x4002a000-40042000     Sym             libwine.so.1
0x420155f0-841485f0     Deferred        libc.so.6
Module  Address                 Debug info      Name (14 modules)
PE      0x00400000-00888000     --none--        wordpro
ELF     0x40000000-40016000     Deferred        ld-linux.so.2
ELF     0x40019000-40025000     Deferred        libnss_files.so.2
ELF     0x4002a000-40042000     Sym             libwine.so.1
ELF     0x40042000-4004f000     Deferred        libpthread.so.0
ELF     0x4004f000-40052000     Deferred        libdl.so.2
ELF     0x40053000-400c2000     Deferred        ntdll<elf>
   \-PE  0x40070000-400c2000     Deferred        ntdll
ELF     0x400c2000-401b5000     Deferred        libwine_unicode.so.1
ELF     0x401b5000-401d7000     Deferred        libm.so.6
ELF     0x402f0000-403f3000     Deferred        kernel32<elf>
   \-PE  0x40320000-403f3000     Deferred        kernel32
ELF     0x420155f0-841485f0     Deferred        libc.so.6
ELF     0x420155f0-841485f0     Deferred        libc.so.6
process  tid      prio (all id:s are in hex)
0000000b (D) C:\lotus\wordpro\wordpro.exe
         00000009    0 <==
         00000011    0
WineDbg terminated on pid 0xb

So I guess I got a couple hours worth of entertainment out of
my $5, and I can now run Lotus 1-2-3 if I feel like it.
- Dan

My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change

More information about the wine-devel mailing list