• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Hero lab freezes after install on WINE

anivair

Member
I've got hero lab installed on ubuntu linux under wine. Install went fine (or so it seemed) but when I start the program I get to the screen that says "Building User Interface ..." and then it just stops.

not sure what to do to even troubleshoot that. here's my command line output for anyone that can make heads or tails of it:

*******

anivair@anivair-desktop:~/.wine/drive_c/HeroLab$ wine "/home/anivair/.wine/drive_c/HeroLab/HeroLab.exe"
preloader: Warning: failed to reserve range 00000000-60000000
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
fixme:spoolsv:serv_main (0 (nil))
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
err:region:CombineRgn Invalid rgn=(nil)
err:region:CombineRgn Invalid rgn=(nil)
err:region:CombineRgn Invalid rgn=(nil)
err:region:CombineRgn Invalid rgn=(nil)
err:region:CombineRgn Invalid rgn=(nil)

*******

And then it just carries on like that till I stop it.

I have one suggestion from the wine pages that suggests I edit xorg.conf. I'm going to try that and if it works, I'll post it here so we have it for others.
 
Still nothing. I've just opted to use VMware instead to make it work. I'll keep working on wine solutions. I suspect it has to do with fiddling with winecfg, but I can't find it.
 
anivair wrote:
>
>
> Still nothing. I've just opted to use VMware instead to make it work.
> I'll keep working on wine solutions. I suspect it has to do with
> fiddling with winecfg, but I can't find it.


I don't have any experience with WINE, so I'm afraid I can't help :(
Does anyone else run Hero Lab under it that could lend their experiences?


--
Colen McAlister, colen@wolflair.com
Chief Engineer, Lone Wolf Development
 
Hero Lab *does* make use of memory-mapped files within Windows. While a proper implementation of WINE should fundamentally support memory-mapped files, it's the only thing that HL does that isn't very vanilla - aside from our licensing mechanism. You might try writing a very simple Windows program that leverages memory-mapped files and test it out under WINE. Beyond that, I'm not sure what else HL could be doing that would get WINE fundamentally confused.
 
I'm having the exact same problem. Is there a list of what .dlls are used? Often replacing a WINE dll with one from a Windows install takes care of quirks like this.
 
I have run into the same problem with the demo version. Interestingly, Savage Worlds, Cortex, and the authoring kit have no problems getting past that point, but even they freeze eventually.


Dan
 
Also just noticed that when it hangs, the HeroLab process is sitting there holding one core of my CPU at 100% load.


Dan
 
Also just noticed that when it hangs, the HeroLab process is sitting there holding one core of my CPU at 100% load.

Can you send us a stack trace when it hangs?

I have never played with WINE, and I don't have a Linux system available to test anything with. However, if you sent me a stack trace, I could reconcile that against the code and see if there is anything interesting about where/how the hang is occurring. If that uncovers something meaningful, we can take a look at the code in that location and see what might be special that's going on.
 
I'm having the exact same problem. Is there a list of what .dlls are used? Often replacing a WINE dll with one from a Windows install takes care of quirks like this.

Hero Lab is linked against the following system DLL libraries:
-kernel32
-user32
-gdi32
-advapi32
-shlwapi
-winspool
-comdlg32
-comsupp
-shell32
-wininet
-ole32
-oleaut32
-uuid
-odbc32
-odbccp32

The last five libraries should *not* be getting used by Hero Lab. However, they are included in the link because we use them with other in-house components and the link list is generic across all of our components.

Hope this proves helpful....
 
I tried replacing the listed dlls with those from a working WinXP install, but I get the same results. Only problem is I was unable to locate comsupp or uuid. I also noticed both of the odbc libraries in your list were not included by default in the WINE installation.

Can you tell me how to do a stack trace in ubuntu? I'd be happy to do one, i just don't know how.
 
Here is what I get from wine when I run HeroLab.exe and it freezes/crashes:

~/.wine/drive_c/HeroLab$ wine HeroLab.exe
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:HTTPREQ_QueryOption Semi-STUB INTERNET_OPTION_SECURITY_FLAGS: 0
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_SECURITY_FLAGS; STUB
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0
fixme:bitmap:CreateBitmapIndirect planes = 0


The "fixme:bitmap:CreateBitmapIndirect planes = 0" is where it begins failing. It is working ok until that point. This is the output from wine. For some reason I can't get winedbg to run HeroLab.exe. Not sure why, though I'm far from a wine expert.
 
I got winedbg going with HeroLab.exe (I was using the Linux pid not the Win32 pid, doh!). Not sure if this helps any but here it is:

This GDB was configured as "x86_64-linux-gnu".
(no debugging symbols found)
00000008:00000019: create thread D @(nil)
00000008:0000001c: create thread D @(nil)
0008:0009: loads DLL C:\HeroLab\LFBMP13N.DLL @0x1feb0000 (0<0>)
0008:0009: loads DLL C:\HeroLab\LFCMP13N.DLL @0x1fcb0000 (0<0>)
0008:0009: loads DLL C:\windows\system32\localspl.dll @0x7e2c0000 (0<0>)
0008:0009: loads DLL C:\windows\system32\spoolss.dll @0x7e2b0000 (0<0>)
0008:0009: loads DLL C:\windows\system32\ole32.dll @0x7e390000 (0<0>)
0008:0009: loads DLL C:\windows\system32\rpcrt4.dll @0x7e310000 (0<0>)
0008:0009: loads DLL C:\windows\system32\uxtheme.dll @0x7e490000 (0<0>)
0008:0009: loads DLL C:\windows\system32\winex11.drv @0x7e680000 (0<0>)
0008:0009: loads DLL C:\windows\system32\imm32.dll @0x7e4f0000 (0<0>)
0008:0009: loads DLL C:\windows\system32\wininet.dll @0x7e840000 (0<0>)
0008:0009: loads DLL C:\windows\system32\mpr.dll @0x7e800000 (0<0>)
0008:0009: loads DLL C:\windows\system32\comdlg32.dll @0x7e890000 (0<0>)
0008:0009: loads DLL C:\windows\system32\winspool.drv @0x7e950000 (0<0>)
0008:0009: loads DLL C:\windows\system32\shell32.dll @0x7ea50000 (0<0>)
0008:0009: loads DLL C:\windows\system32\comctl32.dll @0x7e980000 (0<0>)
0008:0009: loads DLL C:\windows\system32\shlwapi.dll @0x7ebe0000 (0<0>)
0008:0009: loads DLL C:\HeroLab\LTDIS13N.dll @0x1ff70000 (0<0>)
0008:0009: loads DLL C:\HeroLab\ltfil13n.DLL @0x1ffc0000 (0<0>)
0008:0009: loads DLL C:\HeroLab\LTKRN13N.dll @0x1fff0000 (0<0>)
0008:0009: loads DLL C:\windows\system32\user32.dll @0x7ed40000 (0<0>)
0008:0009: loads DLL C:\windows\system32\gdi32.dll @0x7ec90000 (0<0>)
0008:0009: loads DLL C:\windows\system32\advapi32.dll @0x7ec40000 (0<0>)
0008:0009: loads DLL C:\windows\system32\KERNEL32.dll @0x7b820000 (0<0>)
0008:0009: loads DLL C:\windows\system32\ntdll.dll @0x7bc10000 (0<0>)
00000008:00000009: exception code=0x80000003
warning: Target reported unsupported offsets: Text=7bc6ba41;Data=00000005;Bss=0032fd64
[New Thread 9]
 
It may help to know that while the D20 system stops while "Building User Interface", the Savage Worlds system loads just fine - however, it freezes as soon as I click on anything that would trigger a popup.
 
By "trigger a popup", do you mean "allow you to add new skills / gear / etc", or do you mean something else?

Based on my reading of the above error messages, it looks like we're doing something that WINE doesn't support. We only call the CreateBitmapIndirect function in one place, and that's in code which shouldn't be getting called at all here; so my guess is that we're calling some function that calls CreateBitmapIndirect in a way that WINE doesn't support.

I've registered an account on the WINE forums and posted these logs in an attempt to figure out what the problem is - thanks very much for these, they've been very helpful. :)
 
By "trigger a popup", do you mean "allow you to add new skills / gear / etc"

Yes - exactly this. I've only tried d20 and Savage Worlds so far but can try some more if you think it helpful. I don't know how to get all the debug info that gabesword posted though.
 
I've just set up an ubuntu virtual machine that runs WINE inside (running windows on linux in windows... hmm) and I've reproduced the errors. Hopefully the WINE developers will be able to help me solve this issue. :)
 
I've registered an account on the WINE forums and posted these logs in an attempt to figure out what the problem is - thanks very much for these, they've been very helpful. :)

You're of course very welcome. Asking the WINE guys & gals is great. With a little luck maybe Hero Lab can get running for us Linux users.
 
Back
Top