[Wine]How to help improving Wine?

Walt Ogburn reuben at ugcs.caltech.edu
Thu Oct 28 14:58:02 CDT 2004


Hi Emanuele,

If you want to try to track down the source of the problem and fix it, you
will probably have to compile Wine from source instead of using the Debian
package, and see what happens when you make small changes.

I took a look at ALOHA, and saw the same error as you did.  This comes
from an ERR command in dlls/kernel/syslevel.c.  That means that Wine
thought something was wrong and halted, as opposed to some crashes where
the program crashes hard.  If you type "cont" (continue) into the debugger
a few times, you will end up with a more-or-less OK-looking plot, as far
as I can tell.  If you want to work on debugging, that function and the
others mentioned in the backtrace are the place to start:

Wine-dbg>bt
Backtrace:
=>1 0x404aa353 _CheckNotSysLevel+0x43(lock=0x40805f80)
[/home/reuben/project/wine/wine/dlls/kernel/../../include/winternl.h:1249]
in kernel32 (0x4067f018)
  2 0x407e0d9c GDI_CheckNotLock+0x1c [gdiobj.c:905] in gdi32 (0x4067f028)
  3 0x407c7850 DeleteDC+0x30(hdc=0x1364)
[/home/reuben/project/wine/wine/dlls/gdi/dc.c:751] in gdi32 (0x4067f048)
  4 0x407c99e6 GetDIBits+0x146(hdc=0x1358, hbitmap=0x1360, startscan=0x0,
lines=0x0, bits=0x4038f49a, info=0x4038f46a, coloruse=0x0) [dib.c:770] in
gdi32 (0x4067f0b0)
  5 0x407e8924 MFDRV_CreateBrushIndirect+0x264(dev=0x40370238,
hBrush=0x127e)
[/home/reuben/project/wine/wine/dlls/gdi/mfdrv/objects.c:197] in gdi32
(0x4067f120)
  6 0x407e89ae MFDRV_SelectBrush+0x4e(dev=0x40370238, hbrush=0x127e)
[/home/reuben/project/wine/wine/dlls/gdi/mfdrv/objects.c:249] in gdi32
(0x4067f13c)
  7 0x407c4827 BRUSH_SelectObject+0x67(handle=0x127e, obj=0x403240ce,
hdc=0x1358) [brush.c:418] in gdi32 (0x4067f15c)
  8 0x407e1afe SelectObject+0x8e(hdc=0x1358, handle=0x127e)
[/home/reuben/project/wine/wine/dlls/gdi/gdiobj.c:1215] in gdi32
(0x4067f180)
  9 0x004bd8ed (0x4067f19c)
  10 0x004bda3a (0x4067f1c4)
  11 0x004be573 (0x4067f298)
  12 0x407e517d EnumMetaFile+0xed(hdc=0x1358, hmf=0x1338,
lpEnumFunc=0x4bda56, lpData=0x0)
[/home/reuben/project/wine/wine/dlls/gdi/metafile.c:773] in gdi32
(0x4067f2e0)
  13 0x004261f1 (0x4067f364)
  14 0x0049e77d (0x4067f8c8)
  15 0x004b1ada (0x4067f978)
  16 0x004b12f6 (0x4067f99c)
  17 0x004190ae (0x4067fd3c)
  18 0x0041e187 (0x4067fd90)
  19 0x406eb8d7 WINPROC_wrapper+0x17 in user32 (0x4067fdb4)
  20 0x406ec7cc WINPROC_CallWndProc+0x5c(wParam=0x1f9, lParam=0x0)
[/home/reuben/project/wine/wine/dlls/user/../../windows/winproc.c:333] in
user32 (0x4067fdf0)
  21 0x406f0eed CallWindowProcA+0xed(func=0x407853ac, hwnd=0x10022,
msg=0x111, wParam=0x1f9, lParam=0x0)
[/home/reuben/project/wine/wine/dlls/user/../../windows/winproc.c:3288] in
user32 (0x4067fe14)
  22 0x406d3896 DispatchMessageA+0xd6(msg=0x4067fe7c)
[/home/reuben/project/wine/wine/dlls/user/../../windows/message.c:804] in
user32 (0x4067fe58)
  23 0x0041e6ea (0x4067fe98)
  24 0x004d985d EntryPoint+0x13d in aloha (0x4067ff2c)
  25 0x4049a878 start_process+0xc8(arg=0x0)
[/home/reuben/project/wine/wine/dlls/kernel/process.c:1022] in kernel32
(0x4067fff4)
  26 0x4002fc41 wine_switch_to_stack+0x11 in libwine.so.1 (0x00000000)
Wine-dbg>

- Walter




On Thu, 28 Oct 2004, Emanuele Gissi wrote:

> Hi,
> I really did my best to understand how I can help improving Wine, but I did
> not succed.
>
> Well, everything started when I installed a win application on my Debian 3.1,
> Wine 2004.07.16 deb (clean install, no dlls).
>
> The application is ALOHA (http://www.epa.gov/ceppo/cameo/aloha.htm)
> It's a free application from US-Environment Protection Agency used for
> chemical emergency planning (I am an officer firefighter).
>
> On Wine it has a problem that prevents its wide use.
> After having entered all the needed data (or loading the included prova.alo
> example in "planning mode"), Wine crashes when tring to show the chemical
> footprint result.
>
> The application works perfectly on Codeweavers Crossover Office 3.0.1 (trial).
> And I am ready to buy it (as they support the free Wine, I think.)
>
> But I would like to understand why it does not work on Wine!
>
> The included log finishes with this:
> [...]
> warn:heap:HEAP_ValidateInUseArena Heap 40360000: invalid in-use arena magic
> for 403bd120
> warn:heap:HEAP_ValidateInUseArena Heap 40360000: invalid in-use arena magic
> for 403b46f0
> warn:heap:HEAP_ValidateInUseArena Heap 40360000: invalid in-use arena magic
> for 403b6948
> warn:heap:HEAP_ValidateInUseArena Heap 40360000: invalid in-use arena magic
> for 403b1570
> warn:heap:HEAP_ValidateInUseArena Heap 40360000: invalid in-use arena magic
> for 403b11c0
> warn:gdi:GDI_GetObjPtr Invalid handle (nil)
> warn:gdi:GDI_GetObjPtr Invalid handle (nil)
> warn:gdi:GDI_GetObjPtr Invalid handle (nil)
> err:syslevel:_CheckNotSysLevel Holding lock 0x408f15e0 level 3
> wine: Unhandled exception (thread 0009), starting debugger...
>
> 1) What should I do next time I encounter a similar problem with an app? That
> is: how to use winedbg?
> 2) Why does ALOHA work on Crossover and not on Wine?
> 3) Which are the main differences between Crossover and Wine?
> 4) Does Codewaver really contribute back to Wine?
>
> I thank you in advance.
>
> (Please, CC: me as I am not on the list for now)
> --
> Ing. Emanuele Gissi - Ispettore Antincendio
> Comando Provinciale dei Vigili del Fuoco di Ravenna
> viale Randi, 25 - 48100 Ravenna - Italia
> tel: 0544 281.501 - fax: 0544 281.531
>



More information about the wine-users mailing list