You are not logged in.

#1 2017-09-29 22:50:18

apocalyptech
Member
Registered: 2017-01-24
Posts: 6

Civilization VI segfaulting immediately on start

Hello all!  I actually did post this over in the Steam forums as well, so apologies for the sort-of cross post.  I'll update both if I do find a solution, though: http://steamcommunity.com/app/289070/di … 7689155973

So I'm attempting to run Civ 6 on my Arch desktop, using binary nVidia drivers, and the game is segfaulting almost immediately on start regardless of what I do.  I've tried using the native runtime vs. Steam runtime (and yeah, I've got the steam-native-runtime package installed, and have tried launching w/ the provided steam-native launcher), I've tried all the suggestions at https://wiki.archlinux.org/index.php/St … ization_VI , I've tried other LD_* environment options related to those, just in case...  One of the more frustrating things is that there's no useful output to speak of.  The game does get as far as creating a "~/.local/share/aspyr-media/Sid Meier's Civilization VI/Logs" directory, but not as far as creating a logfile.  (There's an "AppOptions.txt" file above that which is populated, but it's pretty basic stuff.)

The output from the terminal on Steam's side just looks like this:

GameAction [AppID 289070, ActionID 6] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 289070, ActionID 6] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 289070, ActionID 6] : LaunchApp waiting for user response to CreatingProcess ""
GameAction[AppID 289070, ActionID 6] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 0
Game update: AppID 289070 "Sid Meier's Civilization VI", ProcID 22693, IP 0.0.0.0:0
ERROR: ld.so: object '/usr/local/games/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/usr/local/games/Steam/SteamApps/common/Sid Meier's Civilization VI/./Civ6: /usr/lib/libcurl-gnutls.so.4: no version information available (required by /usr/local/games/Steam/SteamApps/common/Sid Meier's Civilization VI/./Civ6)
Game update: AppID 289070 "Sid Meier's Civilization VI", ProcID 22694, IP 0.0.0.0:0
>>> Adding process 22693 for game ID 289070
GameAction [AppID 289070, ActionID 6] : LaunchApp changed task to WaitingGameWindow with ""
>>> Adding process 22694 for game ID 289070
Setting breakpad minidump AppID = 289070
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197982540582 [API loaded no]
GameAction [AppID 289070, ActionID 6] : LaunchApp changed task to Completed with ""
Game removed: AppID 289070 "Sid Meier's Civilization VI", ProcID 22694 

If I slap a "steam_appid.txt" file in Civ6's root folder, I can run it from the CLI as well, but that's not helpful either:

./Civ6: /usr/lib/libcurl-gnutls.so.4: no version information available (required by ./Civ6)
Setting breakpad minidump AppID = 289070
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197982540582 [API loaded no]
Segmentation fault (core dumped)

From what I've seen online, that warning about library version information isn't actually fatal and can generally be ignored, though perhaps I'm wrong about that?  If I add in an LD_LIBRARY_PATH of Steam's runtime while running from the CLI, I can get even that to go away, but it still segfaults.

Interestingly, if I run it inside gdb, I can get this backtrace after it segfaults:

#0  0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) ()
#1  0x000000000200c796 in AppHost::_INTERNAL::SetupFXSPlatform(AppHost::AppEnvironment const*, AppHost::AppOptions*) ()
#2  0x000000000200fea0 in AppHost::RunApp(int, char**, AppHost::Application*) ()
#3  0x000000000200f9bc in AppHost::RunApp(char*, AppHost::Application*) ()
#4  0x0000000001112d98 in WinMain ()
#5  0x00000000010bdab0 in ?? ()
#6  0x00000000010bfb31 in ThreadHANDLE::ThreadProc(void*) ()
#7  0x00007ffff488608a in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff3a421bf in clone () from /usr/lib/libc.so.6

Which makes it seem to me like the segfault is actually occurring inside the error-handling routines.  So there's some error happening during startup, which is handled properly, but the dialog which intends to submit a bug properly is segfaulting it.

I should mention, perhaps, that Civ5 continues to work great for me - launches without problems, regardless of runtime, and doesn't even require any of the fixes mentioned on that Arch wiki page.  Looks like CIv 5 is still a 32-bit app, though, whereas Civ 6 is 64-bit, so they may have plenty that's not in common.

So yeah, at the moment I'd just like to know if this is something happening to my specific system, or if it's something more widespread which may be affecting other folks on Arch.  My system's fully updated as of this afternoon (September 29, 2017), including glibc 2.26-4, which apparently fixed some rpath stuff for Feral ports.  (And yeah, I rebooted after.)

Last edited by apocalyptech (2017-09-29 22:51:57)

Offline

#2 2017-09-30 04:25:15

Ropid
Member
Registered: 2015-03-09
Posts: 1,069

Re: Civilization VI segfaulting immediately on start

The game works for me. I also use NVIDIA drivers. I use the normal Steam with its runtime, not the "native" one. I use the following as the "launch options" in the Steam client for Civ VI:

LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%

I just made sure right now that the game still runs here for me. It started and I could start a new game and scroll around the map a bit and everything seemed to work without crashing.

Another thing I remember, I had to comment out the following line in pulseaudio's "default.pa" file:

### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle

Without doing this, the narrator that sometimes says something in the game is very quiet and virtually inaudible.

Offline

#3 2017-09-30 04:30:29

apocalyptech
Member
Registered: 2017-01-24
Posts: 6

Re: Civilization VI segfaulting immediately on start

Ropid wrote:

The game works for me. I also use NVIDIA drivers. I use the normal Steam with its runtime, not the "native" one. I use the following as the "launch options" in the Steam client for Civ VI:

Awesome, many thanks for checking!

It's always a mixed bag with confirmations like this - on the one hand, I know it should work and it's just something screwy on my system, but on the other hand, it's something screwy on my system which Google has clearly never seen before.  smile

Anyway, thanks again.  If I ever figure this out I'll post a followup here.

Offline

#4 2017-11-23 03:31:35

apocalyptech
Member
Registered: 2017-01-24
Posts: 6

Re: Civilization VI segfaulting immediately on start

Aha!  Well, I decided to actually try digging into this some more today, and found a ridiculous workaround!

I'd thought that the error in AppHost::BugSubmissionPackager::BugSubmissionPackager had meant that an error was happening first, and the segfault was happening because it was trying to actively handle whatever the problem was.  Well, while investigating some more I noticed that there was an config var named "EnableBugCollection" inside "~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt", and I figured I had nothing to lose by setting it to 0.

Well, turns out doing so lets the game start up just fine, and it looks totally solid now!

Would still love to know what was causing that SEGV, and it remains a pretty weird problem, but I'll take it.  If anyone else happens to have this problem and finds out more about the root cause, I'd love to hear more, but I'm a happy camper at the moment.

Offline

#5 2017-11-23 23:02:13

headkase
Member
Registered: 2011-12-06
Posts: 1,975

Re: Civilization VI segfaulting immediately on start

apocalyptech wrote:

I'd thought that the error in AppHost::BugSubmissionPackager::BugSubmissionPackager had meant that an error was happening first, and the segfault was happening because it was trying to actively handle whatever the problem was.  Well, while investigating some more I noticed that there was an config var named "EnableBugCollection" inside "~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt", and I figured I had nothing to lose by setting it to 0.

Well, turns out doing so lets the game start up just fine, and it looks totally solid now!

If you are absolutely sure, you can reproduce it at will, then it really should be added to the wiki: https://wiki.archlinux.org/index.php/St … ization_VI

Offline

#6 2017-11-24 15:33:30

apocalyptech
Member
Registered: 2017-01-24
Posts: 6

Re: Civilization VI segfaulting immediately on start

headkase wrote:

If you are absolutely sure, you can reproduce it at will, then it really should be added to the wiki: https://wiki.archlinux.org/index.php/St … ization_VI

Ah, good call!  It's definitely 100% reproduceable for me, so I've written it up on the wiki as you suggested.  I still have no idea what the prerequisites are for running into this bug in the first place...  It seems like it's definitely a weird corner case of some sort, because I've not found any other Arch user with the same problem, but something on my system just doesn't like it otherwse.

Offline

#7 2017-11-24 21:07:46

headkase
Member
Registered: 2011-12-06
Posts: 1,975

Re: Civilization VI segfaulting immediately on start

Right on, thanks for the detailed write-up.  The Arch wiki is the envy of every other distribution because it's what we make it.  smile

Offline

Board footer

Powered by FluxBB