ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

DoD Crashing at random with hl.sh: line 38: 14174 Segmentation fault #2327

Closed jrewolinski closed 7 years ago

jrewolinski commented 11 years ago

I'll just be playing along just fine and my game will disappear. stdout.txt file in the /var/dumps folder shows this seg fault error. /home/jeff/.local/share/Steam/SteamApps/common/Half-Life/hl.sh: line 38: 14174 Segmentation fault ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} $@ Game removed: AppID 30 "Day of Defeat", ProcID 14174 saving roaming config store to 'sharedconfig.vdf' roaming config store 2 saved successfully Not sure if it's related to drivers or what. If there's anything I can do to better troubleshoot, let me know. Thanks.

Specs: Processor Information: Vendor: AuthenticAMD Speed: 3400 Mhz 4 logical processors 4 physical processors HyperThreading: Unsupported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Unsupported SSE4a: Supported SSE41: Unsupported SSE42: Unsupported

Network Information: Network Speed:

Operating System Version: Linux Mint 13 Maya (64 bit) Kernel Name: Linux Kernel Version: 3.2.0-40-generic X Server Vendor: The X.Org Foundation X Server Release: 11103000 X Window Manager: Muffin Steam Runtime Version: steam-runtime-release-i386_2013-03-25

Video Card: Driver: ATI Technologies Inc. ATI Radeon HD 5800 Series

Driver Version:  4.2.12173 Compatibility Profile Context 12.10.17
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 59 Hz
VendorID:  0x1002
DeviceID:  0x6899
Number of Monitors:  1
Number of Logical Video Cards:  1
Primary Display Resolution:  1680 x 1050
Desktop Resolution: 1680 x 1050
Primary Display Size: 18.66" x 11.65"  (21.97" diag)
                                        47.4cm x 29.6cm  (55.8cm diag)
Primary VRAM Not Detected

Sound card: Audio device: ATI R6xx HDMI

Memory: RAM: 3954 Mb

Miscellaneous: UI Language: English LANG: en_US.UTF-8 Microphone: Not set Total Hard Disk Space Available: 223937 Mb Largest Free Hard Disk Block: 206985 Mb

Installed software:

Recent Failure Reports: Sun Apr 14 22:10:00 2013 GMT: file ''/tmp/dumps/assert_20130414141000_1.dmp'', upload yes: ''CrashID=bp-942e3fe0-08c9-42b8-9697-5c46a2130414 '' Sun Apr 14 22:24:47 2013 GMT: file ''/tmp/dumps/assert_20130414142447_1.dmp'', upload yes: ''CrashID=bp-97975c05-e4c7-4a06-a9e3-c63a62130414 '' Sun Apr 14 22:24:47 2013 GMT: file ''/tmp/dumps/assert_20130414142447_1.dmp'', upload yes: ''CrashID=bp-88b03d3d-6105-47f1-bf09-d44712130414 ''

gdrewb-valve commented 11 years ago

Are you using voice chat?

jrewolinski commented 11 years ago

I have used voice chat once. Outside of the game though. Never while playing.
I tried disabling the Steam Friends Overlay, thinking that may be causing it, but that didn't help.

gdrewb-valve commented 11 years ago

Thanks, we'll investigate more.

jrewolinski commented 11 years ago

Not sure if these are related at all, but I've noticed when I start DoD I get these errors in the stdout.txt file.

Failed to load installscript /home/jeff/.local/share/Steam/SteamApps/common/Half-Life/installscript.vdf

[0417/082407:ERROR:resource_bundle.cc(411)] Failed to load /home/jeff/.local/share/Steam/SteamApps/common/Half-Life/cef_gtk.pak Some features may not be available.

gdrewb-valve commented 11 years ago

Neither of this is related to the crash, unfortunately.

JenniferPylko commented 11 years ago

Do you know how to use gdb? Output from that could be useful.

jrewolinski commented 11 years ago

I do not, but I can figure it out. What's the command to start DoD with gdb? gdb ./hl_linux ?? What are the parameters to start DoD?

JenniferPylko commented 11 years ago

That's what the man page seems to indicate, but it hasn't worked for me. What I do is ./hl.sh -game dod&; gdb program $(pgrep hl_linux)

jrewolinski commented 11 years ago

The only thing that seems to work for debugging is this. DEBUGGER=gdb steam
I can't seem to debug just DoD. Will report back if I get any results.

JenniferPylko commented 11 years ago

Edit the launch options of DoD to be DEBUGGER=gdb %Command%

jrewolinski commented 11 years ago

Now I'm confused. My game has crashed 4 times today and I can't seem to get gdb to work.

What are the exact steps to run gdb for DoD?

JenniferPylko commented 11 years ago

Method I have used that used to work, but now there's some weird issue with launching GoldSrc games from the command line for me:

  1. Open Terminal
  2. cd to your SteamApps/common/Half-Life/ directory
  3. Run hl.sh -game dod -steam&; sudo gdb program $(pgrep hl_linux)
  4. Make sure to type continue in gdb whenever it asks you to

Method that should work:

  1. Right click on DoD
  2. Click Properties
  3. Click Set Launch Options...
  4. Change anything there to env DEBUGGER=gdb %Command% 4.5. I think that Valve might have put in flags that prevent gdb from requiring user input
  5. Check for files outputted in your SteamApps/common/Half-Life/ directory
jrewolinski commented 11 years ago

Hmm... looks like ./hl.sh -game dod -steam && sudo gdb program $(pgrep hl_linux) Is working, or at least I'm able to launch the game from the terminal. Doesn't seem to provide anything more useful though.

./hl.sh: line 38: 31683 Segmentation fault ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} $@

JenniferPylko commented 11 years ago

Can you attach ALL of gdb's output as a gist, please?

jrewolinski commented 11 years ago

It doesn't appear that gdb is outputting anything. Should I be looking for a text file somewhere?

jrewolinski commented 11 years ago

Finally....I was able to get this by running the DEBUGGER=gdb steam

Steam: An X Error occurred
X Error of failed request:  BadWindow (invalid Window parameter)
Major opcode of failed request:  40 (X_TranslateCoords)
Resource id in failed request:  0x32000b8
Serial number of failed request:  216374
/home/jeff/.local/share/Steam/SteamApps/common/Half-Life/hl.sh: line 38:  3790 Segmentation fault      ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} $@
[New Thread 0xdb1a6b40 (LWP 3724)]
[Thread 0xdb1a6b40 (LWP 3724) exited]
[New Thread 0xdd762b40 (LWP 3813)]
[New Thread 0xdcce6b40 (LWP 3816)]
[New Thread 0xef3eeb40 (LWP 3836)]
[New Thread 0xd0b3fb40 (LWP 3837)]
[Thread 0xd0b3fb40 (LWP 3837) exited]
[New Thread 0xd0b3fb40 (LWP 3838)]
[Thread 0xd0b3fb40 (LWP 3838) exited]
[New Thread 0xd0b3fb40 (LWP 3839)]
[New Thread 0xcc33db40 (LWP 3840)]
[Thread 0xcc33db40 (LWP 3840) exited]
[New Thread 0xcc33db40 (LWP 3841)]
[New Thread 0xc7b3bb40 (LWP 3842)]
[Thread 0xc7b3bb40 (LWP 3842) exited]
[New Thread 0xc7b3bb40 (LWP 3849)]
[New Thread 0xc3339b40 (LWP 3850)]
[Thread 0xc3339b40 (LWP 3850) exited]
[New Thread 0xc3339b40 (LWP 3852)]
[New Thread 0xbeb37b40 (LWP 3853)]
[Thread 0xbeb37b40 (LWP 3853) exited]

Program received signal SIGTRAP, Trace/breakpoint trap.
0xeddf93cf in ?? () from /home/jeff/.local/share/Steam/ubuntu12_32/vgui2_s.so
johndrinkwater commented 11 years ago

Is that everything the backtrace command echoed? Is your system locale different than the language steam is given (en_US)?

jrewolinski commented 11 years ago

Actually I forgot about the bt command. That was just in the console after the game crashed. It didn't drop to the (gdb) prompt so not sure if bt would work. Sorry this gdb stuff is new to me. In fact linux on a desktop is. My locale is definitely en_US though. I'll report back if I get anything out of the bt command. Thanks.

jrewolinski commented 11 years ago

After DoD crashes, if I hit Ctrl-C I can drop to the gdb prompt and run bt. This is what I got this time. /home/jeff/.local/share/Steam/SteamApps/common/Half-Life/hl.sh: line 38: 12467 Segmentation fault ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} $@ Game removed: AppID 30 "Day of Defeat", ProcID 12467 saving roaming config store to 'sharedconfig.vdf' roaming config store 2 saved successfully bt ^C[New Thread 0xe0cffb40 (LWP 6562)] [New Thread 0xdfcffb40 (LWP 6622)] [Thread 0xe0cffb40 (LWP 6562) exited] [Thread 0xef1ffb40 (LWP 6544) exited] [New Thread 0xdd968b40 (LWP 6653)] [New Thread 0xd515cb40 (LWP 6718)] [Thread 0xd515cb40 (LWP 6718) exited] [New Thread 0xdb85eb40 (LWP 6720)] [Thread 0xdb85eb40 (LWP 6720) exited] [New Thread 0xdbbffb40 (LWP 6753)] [Thread 0xdbbffb40 (LWP 6753) exited] [New Thread 0xd5b5cb40 (LWP 6755)] [Thread 0xd5b5cb40 (LWP 6755) exited] [New Thread 0xdbafeb40 (LWP 6807)] [Thread 0xdbafeb40 (LWP 6807) exited] [New Thread 0xef1ffb40 (LWP 7128)] [New Thread 0xd5a5bb40 (LWP 7129)] [Thread 0xd5a5bb40 (LWP 7129) exited] [New Thread 0xd5a5bb40 (LWP 7130)] [Thread 0xd5a5bb40 (LWP 7130) exited] [New Thread 0xd5a5bb40 (LWP 7146)] [New Thread 0xd505bb40 (LWP 7147)] [Thread 0xd505bb40 (LWP 7147) exited] [New Thread 0xd505bb40 (LWP 7155)] [New Thread 0xd485ab40 (LWP 7156)] [Thread 0xd485ab40 (LWP 7156) exited] [New Thread 0xd485ab40 (LWP 7164)] [New Thread 0xd4059b40 (LWP 7165)] [Thread 0xd4059b40 (LWP 7165) exited] [New Thread 0xd4059b40 (LWP 7167)] [New Thread 0xd3858b40 (LWP 7168)] [Thread 0xd3858b40 (LWP 7168) exited] [New Thread 0xd3858b40 (LWP 7171)] [New Thread 0xd3057b40 (LWP 7172)] [Thread 0xd3057b40 (LWP 7172) exited] [New Thread 0xd3057b40 (LWP 7192)] [New Thread 0xb3e3ab40 (LWP 7193)] [Thread 0xb3e3ab40 (LWP 7193) exited] [New Thread 0xb3e3ab40 (LWP 7201)] [New Thread 0xaf638b40 (LWP 7202)] [Thread 0xaf638b40 (LWP 7202) exited] [New Thread 0xaf638b40 (LWP 7212)] [New Thread 0xaae36b40 (LWP 7218)] [Thread 0xaae36b40 (LWP 7218) exited] [New Thread 0xaae36b40 (LWP 7222)] [New Thread 0xa6634b40 (LWP 7223)] [Thread 0xa6634b40 (LWP 7223) exited] [New Thread 0xa6634b40 (LWP 7230)] [New Thread 0xa1e32b40 (LWP 7231)] [Thread 0xa1e32b40 (LWP 7231) exited] [New Thread 0xa1e32b40 (LWP 7237)] [New Thread 0x9d630b40 (LWP 7238)] [Thread 0x9d630b40 (LWP 7238) exited] [New Thread 0x9d630b40 (LWP 7241)] [New Thread 0x98e2eb40 (LWP 7242)] [Thread 0x98e2eb40 (LWP 7242) exited] [New Thread 0x98e2eb40 (LWP 7243)] [New Thread 0x9462cb40 (LWP 7244)] [Thread 0x9462cb40 (LWP 7244) exited] [New Thread 0x9462cb40 (LWP 7250)] [New Thread 0x8fe2ab40 (LWP 7251)] [Thread 0x8fe2ab40 (LWP 7251) exited] [New Thread 0x8fe2ab40 (LWP 7252)] [New Thread 0x8b628b40 (LWP 7253)] [Thread 0x8b628b40 (LWP 7253) exited] [New Thread 0x8b628b40 (LWP 7274)] [New Thread 0x86e26b40 (LWP 7275)] [Thread 0x86e26b40 (LWP 7275) exited] [New Thread 0x86e26b40 (LWP 7276)] [New Thread 0x82624b40 (LWP 7277)] [Thread 0x82624b40 (LWP 7277) exited] [New Thread 0x82624b40 (LWP 7279)] [New Thread 0x7de22b40 (LWP 7282)] [Thread 0x7de22b40 (LWP 7282) exited] [New Thread 0x7de22b40 (LWP 7283)] [New Thread 0x79620b40 (LWP 7284)] [Thread 0x79620b40 (LWP 7284) exited] [New Thread 0x79620b40 (LWP 7285)] [New Thread 0x74e1eb40 (LWP 7286)] [Thread 0x74e1eb40 (LWP 7286) exited] [New Thread 0x74e1eb40 (LWP 7288)] [New Thread 0x7061cb40 (LWP 7289)] [Thread 0x7061cb40 (LWP 7289) exited] [New Thread 0x7061cb40 (LWP 7294)] [New Thread 0x6be1ab40 (LWP 7295)] [Thread 0x6be1ab40 (LWP 7295) exited] [New Thread 0x6be1ab40 (LWP 7296)] [New Thread 0x67618b40 (LWP 7297)] [Thread 0x67618b40 (LWP 7297) exited] [New Thread 0x67618b40 (LWP 7298)] [New Thread 0x62e16b40 (LWP 7299)] [Thread 0x62e16b40 (LWP 7299) exited] [New Thread 0x62e16b40 (LWP 7300)] [New Thread 0xd2856b40 (LWP 7301)] [Thread 0xd2856b40 (LWP 7301) exited] [New Thread 0xd2856b40 (LWP 7302)] [New Thread 0x5e614b40 (LWP 7303)] [Thread 0x5e614b40 (LWP 7303) exited] [New Thread 0x5e614b40 (LWP 7317)] [New Thread 0x5de13b40 (LWP 7318)] [Thread 0x5de13b40 (LWP 7318) exited]

Program received signal SIGINT, Interrupt. 0xf7fdb425 in __kernel_vsyscall () (gdb) bt

0 0xf7fdb425 in __kernel_vsyscall ()

1 0xf7c5fe01 in select () from /lib/i386-linux-gnu/libc.so.6

2 0xed9fde08 in ?? () from /home/jeff/.local/share/Steam/ubuntu12_32/vgui2_s.so

3 0xeda0c6b6 in ?? () from /home/jeff/.local/share/Steam/ubuntu12_32/vgui2_s.so

4 0xf2f9f607 in ?? () from /home/jeff/.local/share/Steam/ubuntu12_32/steamui.so

5 0xf305b88e in ?? () from /home/jeff/.local/share/Steam/ubuntu12_32/steamui.so

6 0xf305c968 in ?? () from /home/jeff/.local/share/Steam/ubuntu12_32/steamui.so

7 0x08067858 in RunSteam(int, char**, bool, bool) ()

8 0x080503b5 in main ()

JenniferPylko commented 11 years ago

SIGINT is you hitting ctrl+c, wait for it to drop to the gdb prompt after it segfaults, rather than interrupting it.

jrewolinski commented 11 years ago

It doesn't drop to the gdb prompt (unless I exit steam)....since I'm debugging Steam and not DoD directly. How can I debug just the game?

Since I can't find ANY documentation on debugging Valve games.......finally found this article on how to debug. https://github.com/ValveSoftware/steam-for-linux/issues/993

LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" gdb ./hl_linux and r -game dod -dev -steam Seems to be working now...will give that a try.

jrewolinski commented 11 years ago

Program received signal SIGSEGV, Segmentation fault. CreateDebrisWallPuff (origin=..., vVelocity=..., vColor=..., iPuff=3) at ../dod/cl_dll/tri.cpp:734 734 ../dod/cl_dll/tri.cpp: No such file or directory. (gdb) bt

0 CreateDebrisWallPuff (origin=<error reading variable: Cannot access memory at address 0xffffd0a0>,

vVelocity=<error reading variable: Cannot access memory at address 0xffffd0a4>, vColor=<error reading variable: Cannot access memory at address 0xffffd0a8>, iPuff=3)
at ../dod/cl_dll/tri.cpp:734

1 0xee8f3281 in EV_BasicPuff (pTrace=<error reading variable: Cannot access memory at address 0xffffd110>,

pTrace@entry=<error reading variable: Cannot access memory at address 0xffffd10c>, scale=<error reading variable: Cannot access memory at address 0xffffd114>)
at ../dod/cl_dll/ev_hldm.cpp:641</code>
jrewolinski commented 11 years ago

Program received signal SIGPIPE, Broken pipe. 0xf7fdb425 in __kernel_vsyscall () (gdb) bt

0 0xf7fdb425 in __kernel_vsyscall ()

1 0xf7ec4e88 in send () from /lib/i386-linux-gnu/libpthread.so.0

2 0xf25995eb in ?? () from /home/jeff/.local/share/Steam/linux32/steamclient.so

Cannot access memory at address 0xffff7c1c (gdb)

jrewolinski commented 11 years ago

Program received signal SIGSEGV, Segmentation fault. CreateDebrisWallPuff (origin=..., vVelocity=..., vColor=..., iPuff=3) at ../dod/cl_dll/tri.cpp:734 734 ../dod/cl_dll/tri.cpp: No such file or directory. (gdb) bt

0 CreateDebrisWallPuff (

origin=<error reading variable: Cannot access memory at address 0xffffd0a0>, 
vVelocity=<error reading variable: Cannot access memory at address 0xffffd0a4>, vColor=<error reading variable: Cannot access memory at address 0xffffd0a8>, 
iPuff=3) at ../dod/cl_dll/tri.cpp:734

1 0xedf0e281 in EV_BasicPuff (

pTrace=<error reading variable: Cannot access memory at address 0xffffd110>, 
pTrace@entry=<error reading variable: Cannot access memory at address 0xffffd10c>, scale=<error reading variable: Cannot access memory at address 0xffffd114>)
at ../dod/cl_dll/ev_hldm.cpp:641

gdrewb-valve commented 11 years ago

Thanks, the CreateDebrisWallPuff is most likely the culprit and that will hopefully let us figure out what's wrong in the game.

jrewolinski commented 11 years ago

So any idea when this might be fixed?

viccuad commented 9 years ago

A little bump here, this issue has been open for more than a 1.5 years.

If you want to reproduce it, just get in front of a shooting mg or shoot with one a bit.

taberrr commented 9 years ago

This crash also happens in Mac OS X Yosemite, every 20 minutes or so, it is most unfortunate!

Crashed Thread:        0  MainThrd  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

VM Regions Near 0:
--> 
    __TEXT                 0000000000001000-0000000000004000 [   12K] r-x/rwx SM=COW  /Users/USER/Library/Application Support/Steam/*

Thread 0 Crashed:: MainThrd  Dispatch queue: com.apple.main-thread
0   client.dylib                    0x13aa4bca CreateDebrisWallPuff(Vector, Vector, Vector, int) + 394
1   client.dylib                    0x13a66627 EV_BasicPuff(pmtrace_s*, float) + 343
2   client.dylib                    0x13a66081 EV_HLDM_DoDSurfaceFX(pmtrace_s*, int, char) + 145
3   client.dylib                    0x13a6596a EV_HLDM_GunshotDecalTrace(pmtrace_s*, char*, float*, float*, int) + 1626
4   client.dylib                    0x13a69427 EV_HLDM_FireBullets(int, float*, float*, float*, int, float*, float*, float*, float, int, int, int*) + 1703
5   client.dylib                    0x13a6a582 EV_FireMG34 + 690
6   hw.dylib                        0x07ef61a0 CL_FireEvents + 304
7   hw.dylib                        0x07e8b69d _Host_Frame + 285
8   hw.dylib                        0x07e8b911 Host_Frame + 129
9   hw.dylib                        0x07eb8599 CEngine::Frame() + 185
10  hw.dylib                        0x07eb51d6 RunListenServer(void*, char*, char*, char*, IBaseInterface* (*)(char const*, int*), IBaseInterface* (*)(char const*, int*)) + 598
11  hw.dylib                        0x07eb5316 CEngineAPI::Run(void*, char*, char*, char*, IBaseInterface* (*)(char const*, int*), IBaseInterface* (*)(char const*, int*)) + 150
12  hl_osx                          0x00002c26 main + 982
13  hl_osx                          0x000026f5 start + 53
davidclothier commented 8 years ago

I returned to dod after 5 years and now I have a Mac. It happens to me exactly what is discussed here. I have noticed that usually spend more on large maps that small. Do you think correct this bug? It's a shame because you can not play like that.

Is there a command that can be activated and to eliminate or reduce the potential for this problem to happen?

Thanks and regards.

kisak-valve commented 7 years ago