Jump to content

Broken on Ubuntu after new patch


mikelaff72

Recommended Posts

You're missing a slash in your path.  hc-bin32cityofheroes.exe should be hc-bin32\cityofheroes.exe

 

I'm not sure how you got it installed, which loader or set of instructions you used, so it's hard to say which specific steps to take to fix it.  If you're using Play On Linux I'd say try to make a new shortcut in your virtual drive and see if that works.

 

I could not get the new 32-bit client to run for me under KUbuntu.  It crashes on load.  So I'm still using the legacy one (homecoming.exe).  You could try that one as well.

Link to comment
Share on other sites

I added a line to penguinrocks.pl to fix the slash issue.

 

Add this line::

$exe =~ s/\\/\//g;

after this existing line:

$params = $parsed_xml->{profiles}->{launch}->[$profile]->{params};

I submitted a pull request to warpshotcoh's repo:

 

https://github.com/WarpshotCoH/penguinrocks/pull/5/commits/2250434fb103dfabb23b14abf67a174d9d22957b

 

After making that change, the game is working as normal for me under vanilla wine. I haven't tried the 64bit exe.

 

 

 

 

Edited by Belarios
  • Thanks 2
Link to comment
Share on other sites

I installed a fresh wineprefix to test the 64bit client and didn't install dinput8 at first. I noticed that I could only mouselook a limited arc, about 180 degrees, or more with higher mouse sensitivity setting. I installed dinput8 into the new wineprefix and I had unlimited mouselook again.

Edited by Belarios
Link to comment
Share on other sites

23 hours ago, Belarios said:

I added a line to penguinrocks.pl to fix the slash issue.

 

Add this line::


$exe =~ s/\\/\//g;

after this existing line:


$params = $parsed_xml->{profiles}->{launch}->[$profile]->{params};

I submitted a pull request to warpshotcoh's repo:

 

https://github.com/WarpshotCoH/penguinrocks/pull/5/commits/2250434fb103dfabb23b14abf67a174d9d22957b

 

After making that change, the game is working as normal for me under vanilla wine. I haven't tried the 64bit exe.

 

 

 

 

That got me past the no slash problem.  Now im getting c:\gitlab-runner\builds\gwdc5h1s\0\homecoming\code\libs\utilitieslib\network\sock.c, 220: wine: Unhandled division by zero at address 0x973aa9 (thread 0009), error instead.

 

debug info in spoiler.

 

Spoiler

Unhandled exception: divide by zero in 32-bit code (0x00973aa9).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00973aa9 ESP:0033d228 EBP:0033d238 EFLAGS:00210246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:00000007 ECX:0033d21c EDX:00000000
 ESI:7b862720 EDI:020482f8
Stack dump:
0x0033d228:  009f3390 00000007 7bcc71e0 00000000
0x0033d238:  0033da34 0059b108 020482f0 00000007
0x0033d248:  0033d33c f7d46c3e 000000a8 0033d2cc
0x0033d258:  00000007 0033e668 0033d28c 00000000
0x0033d268:  0033d2c8 00000007 00001000 f7ca9b75
0x0033d278:  7bcbe000 7bc87a11 ff9e41b6 00000043
Backtrace:
=>0 0x00973aa9 in cityofheroes (+0x573aa9) (0x0033d238)
  1 0x0059b108 in cityofheroes (+0x19b107) (0x0033da34)
  2 0x00603322 in cityofheroes (+0x203321) (0x0033e648)
  3 0x008a89cf in cityofheroes (+0x4a89ce) (0x0033fdf4)
  4 0x009960ca in cityofheroes (+0x5960c9) (0x0033fe40)
  5 0x7b85a3ec call_process_entry+0xb() in kernel32 (0x0033fe58)
  6 0x7b85b3da ExitProcess+0xfe9() in kernel32 (0x0033fe88)
  7 0x7bc7703c call_thread_func_wrapper+0xb() in ntdll (0x0033fea8)
  8 0x7bc79e5d call_thread_func+0xfc() in ntdll (0x0033ffa8)
  9 0x7bc7701a RtlRaiseException+0x21() in ntdll (0x0033ffc8)
  10 0x7bc4d277 call_dll_entry_point+0x756() in ntdll (0x0033ffe8)
  11 0xf7d8333d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  12 0xf7d834a0 wine_switch_to_stack+0x1f() in libwine.so.1 (0xfff0b388)
  13 0x7bc528d7 LdrInitializeThunk+0x336() in ntdll (0xfff0b3e8)
  14 0x7b861019 __wine_kernel_init+0x888() in kernel32 (0xfff0c558)
  15 0x7bc52e33 __wine_process_init+0x152() in ntdll (0xfff0c5c8)
  16 0xf7d80dff wine_init+0x30e() in libwine.so.1 (0xfff0c628)
  17 0x7bf00d42 main+0x81() in <wine-loader> (0xfff0ca78)
  18 0xf7b9c637 __libc_start_main+0xf6() in libc.so.6 (0x00000000)
0x00973aa9: divl    0x4(%edi),%eax
Modules:
Module    Address            Debug info    Name (132 modules)
PE      340000-  353000    Deferred        physxloader
PE      360000-  3b7000    Deferred        cggl
PE      400000- 16b6000    Export          cityofheroes
PE     1d50000- 1d9a000    Deferred        cudart32_30_9
PE     2200000- 2573000    Deferred        physxcore
PE    10000000-10064000    Deferred        physxcooking
PE    6a000000-6a56d000    Deferred        cg
ELF    7b800000-7ba54000    Dwarf           kernel32<elf>
  \-PE    7b810000-7ba54000    \               kernel32
ELF    7bc00000-7bcda000    Dwarf           ntdll<elf>
  \-PE    7bc10000-7bcda000    \               ntdll
ELF    7bf00000-7bf04000    Dwarf           <wine-loader>
ELF    7cfba000-7cfd0000    Deferred        libgpg-error.so.0
ELF    7cfd0000-7d045000    Deferred        libpcre.so.3
ELF    7d045000-7d0f4000    Deferred        libgcrypt.so.20
ELF    7d0f4000-7d11a000    Deferred        liblzma.so.5
ELF    7d11a000-7d123000    Deferred        librt.so.1
ELF    7d123000-7d149000    Deferred        libselinux.so.1
ELF    7d149000-7d1d7000    Deferred        libsystemd.so.0
ELF    7d1d7000-7d1e0000    Deferred        libffi.so.6
ELF    7d1e0000-7d1f9000    Deferred        libresolv.so.2
ELF    7d1f9000-7d1fe000    Deferred        libkeyutils.so.1
ELF    7d1fe000-7d258000    Deferred        libdbus-1.so.3
ELF    7d258000-7d2e4000    Deferred        libgmp.so.10
ELF    7d2e4000-7d319000    Deferred        libhogweed.so.4
ELF    7d319000-7d356000    Deferred        libnettle.so.6
ELF    7d356000-7d36b000    Deferred        libtasn1.so.6
ELF    7d36b000-7d39f000    Deferred        libidn.so.11
ELF    7d39f000-7d400000    Deferred        libp11-kit.so.0
ELF    7d400000-7d431000    Deferred        libk5crypto.so.3
ELF    7d431000-7d507000    Deferred        libkrb5.so.3
ELF    7d507000-7d51b000    Deferred        libavahi-client.so.3
ELF    7d51b000-7d673000    Deferred        libgnutls.so.30
ELF    7d673000-7d6c5000    Deferred        libgssapi_krb5.so.2
ELF    7d6c5000-7d74c000    Deferred        libcups.so.2
ELF    7d76f000-7d7a4000    Deferred        uxtheme<elf>
  \-PE    7d780000-7d7a4000    \               uxtheme
ELF    7d7a4000-7d7b0000    Deferred        libxcursor.so.1
ELF    7d7b0000-7d7c3000    Deferred        libxi.so.6
ELF    7d7c3000-7d7c7000    Deferred        libxcomposite.so.1
ELF    7d7c7000-7d7d4000    Deferred        libxrandr.so.2
ELF    7d7d4000-7d7e0000    Deferred        libxrender.so.1
ELF    7d7e0000-7d7e4000    Deferred        libxinerama.so.1
ELF    7d7e5000-7d7f2000    Deferred        libkrb5support.so.0
ELF    7d7f2000-7d7f7000    Deferred        libcom_err.so.2
ELF    7d7f7000-7d805000    Deferred        libavahi-common.so.3
ELF    7d807000-7d894000    Deferred        winex11<elf>
  \-PE    7d810000-7d894000    \               winex11
ELF    7d91a000-7d963000    Deferred        libfontconfig.so.1
ELF    7d963000-7d98e000    Deferred        libpng12.so.0
ELF    7d98e000-7d9a9000    Deferred        libz.so.1
ELF    7d9a9000-7da59000    Deferred        libfreetype.so.6
ELF    7da59000-7da7c000    Deferred        libtinfo.so.5
ELF    7da7c000-7daa2000    Deferred        libncurses.so.5
ELF    7dac5000-7dbe3000    Deferred        opengl32<elf>
  \-PE    7dae0000-7dbe3000    \               opengl32
ELF    7dbe3000-7dd15000    Deferred        wined3d<elf>
  \-PE    7dbf0000-7dd15000    \               wined3d
ELF    7dd15000-7dd88000    Deferred        ddraw<elf>
  \-PE    7dd20000-7dd88000    \               ddraw
ELF    7dd88000-7ddb2000    Deferred        msacm32<elf>
  \-PE    7dd90000-7ddb2000    \               msacm32
ELF    7ddb2000-7de2e000    Deferred        rpcrt4<elf>
  \-PE    7ddc0000-7de2e000    \               rpcrt4
ELF    7de2e000-7df5d000    Deferred        ole32<elf>
  \-PE    7de40000-7df5d000    \               ole32
ELF    7df5d000-7e015000    Deferred        winmm<elf>
  \-PE    7df60000-7e015000    \               winmm
ELF    7e015000-7e05c000    Deferred        dsound<elf>
  \-PE    7e020000-7e05c000    \               dsound
ELF    7e05c000-7e063000    Deferred        libxdmcp.so.6
ELF    7e063000-7e067000    Deferred        libxau.so.6
ELF    7e067000-7e07c000    Deferred        libdrm.so.2
ELF    7e07c000-7e083000    Deferred        libxxf86vm.so.1
ELF    7e083000-7e0a9000    Deferred        libxcb.so.1
ELF    7e0a9000-7e0af000    Deferred        libxcb-dri2.so.0
ELF    7e0af000-7e0ca000    Deferred        libxcb-glx.so.0
ELF    7e0ca000-7e215000    Deferred        libx11.so.6
ELF    7e215000-7e218000    Deferred        libx11-xcb.so.1
ELF    7e218000-7e21f000    Deferred        libxfixes.so.3
ELF    7e21f000-7e223000    Deferred        libxdamage.so.1
ELF    7e223000-7e238000    Deferred        libxext.so.6
ELF    7e238000-7e256000    Deferred        libglapi.so.0
ELF    7e256000-7e259000    Deferred        libxshmfence.so.1
ELF    7e259000-7e283000    Deferred        libexpat.so.1
ELF    7e283000-7e2a0000    Deferred        libgcc_s.so.1
ELF    7e417000-7e487000    Deferred        libgl.so.1
ELF    7e487000-7e501000    Deferred        libglu.so.1
ELF    7e50e000-7e524000    Deferred        hid<elf>
  \-PE    7e510000-7e524000    \               hid
ELF    7e524000-7e53c000    Deferred        glu32<elf>
  \-PE    7e530000-7e53c000    \               glu32
ELF    7e53c000-7e560000    Deferred        imm32<elf>
  \-PE    7e540000-7e560000    \               imm32
ELF    7e560000-7e585000    Deferred        iphlpapi<elf>
  \-PE    7e570000-7e585000    \               iphlpapi
ELF    7e585000-7e5a0000    Deferred        wsock32<elf>
  \-PE    7e590000-7e5a0000    \               wsock32
ELF    7e5a0000-7e5d4000    Deferred        ws2_32<elf>
  \-PE    7e5b0000-7e5d4000    \               ws2_32
ELF    7e5d4000-7e610000    Deferred        winspool<elf>
  \-PE    7e5e0000-7e610000    \               winspool
ELF    7e610000-7e705000    Deferred        comctl32<elf>
  \-PE    7e620000-7e705000    \               comctl32
ELF    7e705000-7e77b000    Deferred        shlwapi<elf>
  \-PE    7e710000-7e77b000    \               shlwapi
ELF    7e77b000-7e9a4000    Deferred        shell32<elf>
  \-PE    7e790000-7e9a4000    \               shell32
ELF    7e9a4000-7ea89000    Deferred        comdlg32<elf>
  \-PE    7e9b0000-7ea89000    \               comdlg32
ELF    7ea89000-7eaf5000    Deferred        advapi32<elf>
  \-PE    7eaa0000-7eaf5000    \               advapi32
ELF    7eaf5000-7ec0c000    Deferred        gdi32<elf>
  \-PE    7eb00000-7ec0c000    \               gdi32
ELF    7ec0c000-7ed5a000    Deferred        user32<elf>
  \-PE    7ec20000-7ed5a000    \               user32
ELF    7ef5a000-7ef6d000    Deferred        libnss_files.so.2
ELF    7ef6d000-7ef88000    Deferred        libnsl.so.1
ELF    7ef88000-7efdd000    Deferred        libm.so.6
ELF    7efdf000-7efe7000    Deferred        libxcb-sync.so.1
ELF    7efe7000-7f000000    Deferred        version<elf>
  \-PE    7eff0000-7f000000    \               version
ELF    f7b70000-f7b7d000    Deferred        libnss_nis.so.2
ELF    f7b7f000-f7b84000    Deferred        libdl.so.2
ELF    f7b84000-f7d3a000    Dwarf           libc.so.6
ELF    f7d3a000-f7d57000    Deferred        libpthread.so.0
ELF    f7d57000-f7d5b000    Deferred        libxcb-present.so.0
ELF    f7d5b000-f7d5f000    Deferred        libxcb-dri3.so.0
ELF    f7d70000-f7d7a000    Deferred        libnss_compat.so.2
ELF    f7d7a000-f7f2f000    Dwarf           libwine.so.1
ELF    f7f30000-f7f55000    Deferred        ld-linux.so.2
ELF    f7f58000-f7f59000    Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) Z:\home\der\.PlayOnLinux\wineprefix\coh\drive_c\Program Files\coh\hc-bin32\cityofheroes.exe
    0000002a    0
    00000009    0 <==
0000000e services.exe
    00000024    0
    0000001d    0
    00000014    0
    00000010    0
    0000000f    0
00000012 winedevice.exe
    0000001c    0
    00000019    0
    00000017    0
    00000013    0
0000001a plugplay.exe
    00000020    0
    0000001f    0
    0000001b    0
00000027 explorer.exe
    00000029    0
    00000028    0
System information:
    Wine build: wine-1.6.2
    Platform: i386 (WOW64)
    Host system: Linux
    Host version: 4.13.0-36-generic

 

Link to comment
Share on other sites

I can't help with that specific error.

 

I'm not sure what linux you're using and what version. wine-1.6.2 could go back as far as a 2016 version of Ubuntu. I've also never used the playonlinux interface.

 

The best I could do is walk you thru the way I am used to installing.

 

Please let me know which linux distribution, what version and whether it's installed as 32 bit or 64 bit.

 

 

Link to comment
Share on other sites

1 hour ago, Belarios said:

I can't help with that specific error.

 

I'm not sure what linux you're using and what version. wine-1.6.2 could go back as far as a 2016 version of Ubuntu. I've also never used the playonlinux interface.

 

The best I could do is walk you thru the way I am used to installing.

 

Please let me know which linux distribution, what version and whether it's installed as 32 bit or 64 bit.

 

 

Im running Mint 18.3 64bit.  

 

My install was mighty cluttered.  First i tried (and failed) getting tequila to run through playonlinux.  Then i used etoh-downloader to get all the files but trying to launch the game resulted in a CTD at log in screen.   Finally i tried penguin on the rocks and everything worked just fine until the patch.

Link to comment
Share on other sites

Lets try updating wine. The Mint 18.x series is based on Ubuntu 16.04 "Xenial" so that would explain why you're on wine version 1.6.2. You shouldn't need to upgrade your whole operating system for CoH (but installing the latest version of Mint would give you an almost current wine). The current version of wine is 4.0.2 as you can see from WineHQ.

 

I'm going to put some optional steps inside spoiler tags that I'd use to get more information, but they probably aren't necessary.

 

First things first, open up a terminal and update all local package lists from the remote repositories and upgrade all out of date packages with

sudo apt update

and

sudo apt upgrade

Now, confirm your current version of wine with

wine --version

We're expecting it to say 1.6.2. I don't know where you got your package of wine from, but lets assume that you used an apt repository and that Mint gets it from the Ubuntu 16.04 "Xenial" repositories.

 

Spoiler

If you have some custom install of wine that intercepts the package from the repositories, that might cause an issue, but we won't worry about that yet.

 

To see available versions of packages and get a good idea where they come from, you can use


apt-cache showpkg wine

and you should see a whole bunch of information about different versions in different packages. The names of the packages probably include "xenial". After we add the packages from winehq.org there will be versions that say winehq.org.

 

It's possible that you installed wine from source code and not from a package and you can see where the wine executable (and links to it) are located with


whereis wine

If you had multiple weird versions of wine, that would show you locations. It's probably fine. To see which one would execute when you just type "wine" in the terminal you can do


which wine

 

 

So now we want to upgrade to the latest version of wine and that is easy because the wine project maintains its own Ubuntu-type repositories and should be fully compatible with Mint according to the WineHQ Ubuntu Installation Page.

 

The WineHQ installation page recommends uninstalling existing versions of wine and packages that depend on it. I would do this:

sudo apt remove wine wine-mono wine-gecko winetricks
Spoiler

The "remove" option will uninstall the package but leave configuration files intact. I'm recommending that first to see if we can get CoH working with the least amount of disruption. If problems persist then I'd say we need to start wiping out configurations and start fresh.

 

I'll copy the installation steps from that page here:

 

If your system is 64 bit, enable 32 bit architecture (if you haven't already):

sudo dpkg --add-architecture i386 

Download and add the repository key:

wget -nc https://dl.winehq.org/wine-builds/winehq.key

sudo apt-key add winehq.key

Add the repository:

 sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' 

Update packages:

sudo apt update

and install the current package:

sudo apt install --install-recommends winehq-stable

Now you can confirm that you have the newest version of wine with:

wine --version

and it should say 4.0.2 as of August 24, 2019.

 

Now you can try your usual method of starting CoH and see if the new version of wine solved the problem.

 

If not then the next step would be creating a fresh new wineprefix. wineprefixes allow you to create separate windows environments, for example for 32-bit and 64-bit, or just to keep programs separate. I think that wine will update your wineprefix environment for the new version of wine just fine, but creating a new one would ensure that it's nice and up to date.

 

Let me know if that fixes your current issue.

Edited by Belarios
  • Thanks 1
Link to comment
Share on other sites

uninstalling and reinstalling worked!

 

I thought i had been at 4.0 for several months, hell i thought that was the reason i was able to get the game running in first place.  After looking through eveything i had 4.0.2 and 4.0.8 also installed but was still using 1.6.2 so im guessing that was the issue.  Not sure why that patch would have caused it though!

 

thanks for your help.

Link to comment
Share on other sites

  • 3 months later

Everything was working beautifully until the Patch of 29 Nov 2019.  Now when running penguin on the rocks i get this error:

 Bad EXE format for C:\Program Files\coh\hc-bin64\cityofheroes.exe

Anybody else run into this problem?  I have a Windows box with CoH installed but its a rinky-dink machine.  Any help would be greatly appreciated!!

Link to comment
Share on other sites

Try running

penguinrocks.pl --profile 1

I suspect that they switched the order of the 64bit and 32bit clients in the manifest so now it runs 64bit by default. That command above will run the 32bit client which is now in the "1" position instead of the "0" default position.

 

You can also create a new 64bit wineprefix and run "--profile 0" from the new 64bit prefix to get the advantages of the 64bit client.

 

Let me know if you need instructions.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...