0

I have the latest version of Empire: Total War in Steam on Arch Linux x86_64. I have followed this Reddit guide to install DME. I have gone through each and every step (except the optional ones) and the game failed to start on launch.


Here are my specs:

$ inxi -SPARM -GCDN -v1 -xGCRS

System:    Host: archlinux Kernel: 4.12.4-1-ARCH x86_64 (64 bit gcc: 7.1.1) Desktop: Gnome 3.24.3 (Gtk 3.22.18)
           Distro: Arch Linux
Machine:   Device: desktop Mobo: ASUSTeK model: P5Q PRO TURBO v: Rev 1.xx BIOS: American Megatrends v: 0701 date: 10/08/2012
CPU:       Quad core Intel Core2 Quad Q6600 (Core 2 rev.11) (-MCP-) cache: 4096 KB
           flags: (lm nx sse sse2 sse3 ssse3 vmx) bmips: 19207
           clock speeds: max: 2403 MHz 1: 2403 MHz 2: 1603 MHz 3: 2136 MHz 4: 1603 MHz
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Juniper XT [Radeon HD 5770] bus-ID: 01:00.0
           Display Server: N/A driver: radeon tty size: 131x87
Audio:     Card-1 Advanced Micro Devices [AMD/ATI] Juniper HDMI Audio [Radeon HD 5700 Series]
           driver: snd_hda_intel bus-ID: 01:00.1
           Card-2 Intel 82801JI (ICH10 Family) HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
           Sound: Advanced Linux Sound Architecture v: k4.12.4-1-ARCH
Network:   Card: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet
           driver: ATL1E port: cc00 bus-ID: 02:00.0
Drives:    HDD Total Size: 1500.3GB (4.3% used)
           ID-1: /dev/sda model: WDC_WD5000AAKS size: 500.1GB
           ID-2: /dev/sdb model: ST1000LM024_HN size: 1000.2GB
Partition: ID-1: / size: 457G used: 60G (14%) fs: ext4 dev: /dev/sda3
           ID-2: /boot size: 202M used: 58M (31%) fs: ext4 dev: /dev/sda1
           ID-3: swap-1 size: 0.54GB used: 0.06GB (11%) fs: swap dev: /dev/sda4
RAID:      No RAID data: /proc/mdstat missing-is md_mod kernel module loaded?
Info:      Processes: 247 Uptime: 1 day Memory: 2934.5/7987.4MB Init: systemd Gcc sys: 7.1.1
           Client: Shell (fish) inxi: 2.3.27 

I ran the game from a terminal and I got:

$ ./.steam/steam/steamapps/common/Empire\ Total \ War/Empire.sh

~/.local/share/Steam/steamapps/common/Empire Total War/bin/game.i386: error while loading shared libraries: libvorbis.so.0: cannot open shared object file: No such file or directory

Apparently, I was missing some 32-bit libraries, some pacman magic and symbolic linking gave the game the libraries it needed. However, when I ran the game it returned:

$ ./.steam/steam/steamapps/common/Empire Total War/bin/game.i386

Setting breakpad minidump AppID = 10500
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198044159024 [API loaded no]
Dumped crashlog to /home/pradana/.local/share/feral-interactive/Empire/crashes//772c6081-0a79-298b-2c7a8124-23190ade.dmp
fish: “./game.i386” terminated by signal SIGSEGV (Address boundary error)

I have tried to read the .dmp file (core dump) using

$ gdb ./game.i386 ~/.local/share/feral-interactive/Empire/crashes/4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp

However, it returns the error:

"~/.local/share/feral-interactive/Empire/crashes/4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp" is not a core dump: File format not recognized

I tried to figure out the encoding of the file using

$ file --mime 4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp

4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp: application/x-dmp; charset=binary

and

$ chardetect-py2 4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp

4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp: Windows-1254 with confidence 0.299704567453

I have also used

$ iconv -c -f WINDOWS-1254 -t utf-8 4ab1b7fb-8cb4-b5b2-58c0ddd9-6767d769.dmp > dmp.txt

to try and read the log but I had no progress here.

I can't seem to progress without trying to find out what lies in hte code dump file. In any case, I'm trying find why the Steam game crashes at this point.

  • Errr... what about less on the file? Is it actually just text? Seems like a tangent though, as its probably not going to help getting the game running (unless you're the mod's developer) – derobert Aug 12 '17 at 23:54
  • It said that it may be a binary file, when I read it with less it couldn't read the encoding so it was gibberish. – Pradana Aumars Aug 13 '17 at 9:02
  • The first thing to check is whether the DME mod is compatible with both the version of Empire: Total War you are running AND the version of steam you are running. That reddit post you linked to is a year old and the game may have been updated since then. The steam client certainly has. – cas Aug 13 '17 at 9:34
  • It's been more than 5 years since DME was updated, the same goes for ETW. However, you may be right that the Steam client have had some changes that may interfere with DME. I can't say for certain that it's incompatible or not. I may have to send an email to Feral Interactive support, I've looked everywhere. – Pradana Aumars Aug 13 '17 at 9:47
0

The file is not a core dump but appears to be an internal crash file for steam or publisher reporting. The .dmp extension is a red herring

You could try to read it with a text editor


Executing with core dump requires explicitly setting it in environment

ulimit -c unlimited

Core dump is useless without debugging symbols, even if it is a real core dump you would have no way to get anything out of it without debug symbols. It is highly unlikely that published commercial software has debug symbols remaining.


SIGSEGV is a segmentation fault, caused by accessing incorrect memory, this is a very broad failure type and can be nearly infinite possibilities.

  • Thanks for the advice, I'll keep that in mind when dealing with core dumps. However, my main concern is finding out why the game crashed in the first place, not reading the .dmp file. – Pradana Aumars Aug 13 '17 at 9:21
  • @PradanaAumars Its likely just incompatible binaries or libraries. You will not be able to debug a segfault in any meaningful way. The post you reference is extremely hackish and has no guarantee that it will continue to function through API or Steam changes. One thing you could try to do is to downgrade to the exact version that was used by the OP, but unfortunately they do not say what versions of anything was used. Otherwise unless the cure for cancer is locked away in the linux build of this game it is probably not worth the effort to ressurect the port and I would just run a VM. – crasic Aug 13 '17 at 17:53
  • You could try to read your dump file as a text file and see if there is anything useful. Otherwise if it is a proprietary crash dump, the strings utility will extract all null-terminated strings from binary file, perhaps you can get some more clues that way, but in the end this will be a huge PITA. Even the most trivial changes would require reverse-engineering the entire application to understand what was going on. – crasic Aug 13 '17 at 18:01
  • @crasic ordinarily downgrading and/or virtualising would work with other programs, but the steam client (on windows, mac, AND linux) has a habit of automatically updating itself whenever you start/restart it (and it routinely checks for new versions while its running and asks if you want to upgrade now). This upgrade the Valve client itself and any libraries that it installs in its own directories (including specific versions of common free-software libs, not just Valve's proprietary libs). AFAIK there's no way to stop the upgrades, Valve wants users to always be running the latest version. – cas Aug 15 '17 at 4:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.