Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam sometimes misleads: “DISK WRITE ERROR” #7958

Open
dsalt opened this issue Jul 31, 2021 · 6 comments
Open

Steam sometimes misleads: “DISK WRITE ERROR” #7958

dsalt opened this issue Jul 31, 2021 · 6 comments

Comments

@dsalt
Copy link

dsalt commented Jul 31, 2021

I've just been having a problem when trying to download updates for Proton Experimental (see #7956). The thing which I'm reporting here is that “DISK WRITE ERROR” isn't necessarily an actual disk write error, but I have to assume that it may be; consequently, my first action on seeing this is to check the kernel log.

Steam needs to be better at reporting these things to the user.

In my specific case, there's a lot of text in …Steam/logs/content_log.txt looking like

[2021-07-31 02:59:03] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /path/to/Steam/steamapps/downloading/1493710/files/lib/wine/shlwapi.dll

This is EMFILE, “Too many open files”. (Steam is allowed 2048 open files; the usual limit is 1024. It could be that there's a resource leak somewhere.)

I suggest fixing this by doing something like mapping possible errno values to severities and, on seeing an error which is more severe than any already received for the current operation, storing that one for display. Or perhaps just reporting the first one…

As for error display,, I'd show the text associated with the recorded errno value, i.e. the output of strerror(). Or at least some text which isn't “DISK WRITE ERROR” when the error is something else.

@nklock
Copy link

nklock commented Jul 31, 2021

I'm running into the same issue on Ubuntu 20.04. I've verified the file system is clean (ext4), the LVM is in good shape, and there are no SMART errors on the underlying disks. I'm seeing these in my steam logs:

[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/tundra hill/generic/afri_tundra_hill_3_5_t1.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/frigidplanet/ocean/generic/ocean_barren_3_2_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/grass hill/generic/afri_grass_hill_3_5_t_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/tundra hill/generic/afri_tundra_hill_2_1_t_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/plains hill/generic/afri_plains_hill_3_2_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/plains hill/generic/afri_plains_hill_3_2_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/snow hill/generic/snow_hill_3_2_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/snow hill/generic/snow_hill_3_2_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/tundra/generic/afri_tundra 02_t1.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/frigidplanet/desert/generic/afri_desert_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/plains/generic/afri_plains_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/desert/generic/afri_desert_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/snow/generic/snow_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/grass/generic/afri_grass_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/frigidplanet/grass/generic/afri_grass_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/frigidplanet/snow/generic/snow_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/forest/frigid/forest_overlay_frigid.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/terraintextures/frigid_plain_d.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/volcanicplanet/tundra/generic/afri_tundra 02_t_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/frigidplanet/tundra/generic/afri_tundra 02_t_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/frigidplanet/plains/generic/afri_plains_3_3_h_blend.dds
[2021-07-31 11:23:47] CGenericAsyncFileIOThread::AllocateResource() failed for CFileWriter: errno: 24, File: /home/username/.steam/debian-installation/steamapps/downloading/65980/steamassets/assets/dlc/expansion1/terrain/heightmappieces/fungusplanet/grass hill/generic/afri_grass_hill_3_1_t1.dds

@SimplyCorbett
Copy link

I'm running into the same issue. It only affects the beta version of steam - the official version works fine.

Using a secondary library (mdadm, xfs filesystem) I get disk write errors. If I "retry" the download the game will eventually install.

Again, only affects the beta version of steam.

@kisak-valve
Copy link
Member

Hello @nklock, the issue you're seeing is being tracked in #7956, which is separate from this feature request for Steam to be more verbose when a disk write error occurs.

@h1z1
Copy link

h1z1 commented Aug 1, 2021

@dsalt Steam may be allowed upto 2048 (hard limit) but what is the default. How are you determining it's steam specifically leaking descriptors and not a user limit?

Kisak would know more if Steam is resetting ulimit somewhere but I recall needing to force a default for something unrelated to this. Same core issue though.

lsof output should give some idea where they are being consumed.

@dsalt
Copy link
Author

dsalt commented Aug 1, 2021

@h1z1, wrong report. (That said, I'll need to run lsof or at least keep an eye on relevant /proc/*/fd if it happens again: the offending update was completed after restarting Steam.)

@dsalt
Copy link
Author

dsalt commented May 18, 2024

#10906 is another instance of only the fact that an error has occurred being recorded: neither the error number nor description are present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants