protonscr

problem with stdout log which leads to system crush/hang

steamclosed Distro Family: Arch
ValveSoftware/steam-for-linux#6384 · opened 2019-07-12 by jNullj · updated 2019-07-18 · 3 comments · github
JjNullj 2019-07-12 github

Your system information

  • Steam client version (build number or date): arch package = steam 1.0.0.61-1 (latest) - build 8 jul 2019, steam API v019, package version 1562626460
  • Distribution (e.g. Ubuntu): archlinux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes, package maneger didnt report any avilable updates, 1.0.0.61-1 is latest

Please describe your issue in as much detail as possible:

Noticed slowness and incresing swap usage, even when most of the ram is free.
after a bit of thinkering i found my /tmp is full (altho it has 5.6gb of space)
the file responsible for the system slowness and drive's fullness was
/tmp/dumps/{username}_stdout.txt ({username} is my login user)
which is all stdout output of the steam client and running games that was launched using the client!
the filesize was about 5GB!!!
was able to reproduce agian, just by launching steam

was able to fix by going into /usr/lib/steam and commenting out lines 194-200 and line 202
basicly avoiding the creation of the log in the first place. It's not the right fix becouse it doesnt create a log at all. But its good as a quickfix to avoid system crush.

# go to the install directory and run the client
cp "$LAUNCHSTEAMBOOTSTRAPFILE" "$LAUNCHSTEAMDIR/bootstrap.tar.xz"
cd "$LAUNCHSTEAMDIR"
#if [ "`command -v tee`" != "" ]; then
#	mkdir -p --mode=777 /tmp/dumps
#    if [[ -f "/tmp/dumps/${USER}_stdout.txt" ]]; then
#        rm -f "/tmp/dumps/${USER}_stdout.txt"
#    fi 
#	exec "$LAUNCHSTEAMDIR/$STEAMBOOTSTRAP" "$@" 2>&1 | tee "/tmp/dumps/${USER}_stdout.txt"
#else
	exec "$LAUNCHSTEAMDIR/$STEAMBOOTSTRAP" "$@"
#fi

Steps for reproducing this issue:

  1. install archlinux
  2. install the steam package
  3. run steam for a long time (prefered with games opened)
Kkisak-valve maintainer 2019-07-12 github

Hello @jNullj, /tmp/dmp/<username>_stdout.txt is a general catch for stdout/stderr from Steam and games launched from Steam. What was in your log in excess?

JjNullj 2019-07-12 github

Hello @jNullj, /tmp/dmp/<username>_stdout.txt is a general catch for stdout/stderr from Steam and games launched from Steam. What was in your log in excess?

i removed the 5GB file, but i can see as i write this replay the file filling up at a rate of about 0.1mb/min
i get there lots of data related to running games for example:
this data looks like its from Tap Adventure (running using proton 4.2-9)

values:
abilityBaseCooldown = 360
critChargesBaseLimit = 5
currentHealth = 6.76047972584276e+33
defenderRunesChance = 0.001
defenderSkillpoints = 1.1
enchantRunesChance = 0.001
enchantSkillpoints = 1.1
fieryfoxRunesChance = 0.001
fieryfoxSkillpoints = 1.1
goldDropBonus = 1.0219
groupAbilityCooldownBonus = 0.05
groupCritPower = 0.002
groupDefense = 0.02
groupHealthBonus = 2.65
guerillaRunesChance = 0.001
guerillaSkillpoints = 1.1
hermitRunesChance = 0.001
hermitSkillpoints = 1.1
heroArmorCurrentHealth = 0.11
heroBaseCooldown = 3
heroBastion = 0.03
heroCritCharges = 3
heroHealthBonus = 0.92
heroLocationBonus = 0.88
heroProtection = 0.0472
heroTauntBase = 1
heroTauntDpsMod = 0.0402293637412012
heroTauntSkill = 0.13
hunterRunesChance = 0.001
hunterSkillpoints = 1.1
magicArt = 1.3063
magicCritPower = 0.526
magicOverload = 0.005
materialArt = 1.5574
thiefRunesChance = 0.001
thiefSkillpoints = 1.1
unitDamage = 4.43797469794779e+30
unitMaxHealth = 9.64680326176192e+32

methods:
DPS() = 1.13496764925317e+31
DPSBonus() = 2.5574
HPBonus() = 7.008
abilityCooldown() = 342.857142857143
activeDamageBonus() = 1
armorValue() = 7.43652769842703e+32
artifactsDamageBonus() = 1.5574
attackCooldown() = 3
attackDamage() = 3.4049029477595e+31
attackDamageMod() = 1
critChargesLimit() = 5
critPower() = 1
damageBonus() = 2.5574
defenseValue() = 1.02
enemyTypeBonus() = 1
healthBonus() = 2.65
healthValue() = 1
heroBastionValue() = 6.76047972584276e+33
heroMedicineValue() = 1.13496764925317e+31
heroTauntRateValue() = 0.0402293637412012
incomeDamage() = -7.29071342983042e+32
locationBonus() = 1
magicCritChance() = 0.005
maxHealth() = 6.76047972584276e+33
passiveDamageBonus() = 1
powerBonus() = 1
protectionChanceValue() = 0.0472
skillsDamageBonus() = 1

Debug.hx:50: unitDamage * (heroMiracle + groupMiracle) * locationBonus() * (heroDamageBonus + 1)
Debug.hx:50: 4.43797469794779e+30 * (0 + 0) * 1 * (0 + 1)
Debug.hx:50: unitDamage * (heroMiracle + groupMiracle) * locationBonus() * (heroDamageBonus + 1)
Debug.hx:50: 6.00650974477042e+30 * (0.014 + 0) * 1 * (1.325 + 1)
Debug.hx:32: magicDamageFromHero,hermit,1.95511892192277e+29,flags:
isWeak = true

also some of that line repeats alot near the end of the log, i also saw lots of it in the 5GB log (at the beginning)
enum_names.cpp (2101) : Assertion Failed: Missing String for EOSType (-187)

since i started up steam today the file is 51.7Mb and has a bit over 1 million lines of logged data

Kkisak-valve maintainer 2019-07-12 github

If Tap Adventure is the source of the excessive logging, then this should be evaluated on the Proton issue tracker. Please open a compatibility report for that game. There's another game that also causes excessive logging.

Closing as this does not read as a steam client issue.

Proton versions

Upstream links