In Steam's output, do you see messages containing "semaphore creation failed" or "created as both manual and auto reset" ?
Can you possibly post me a full output log of you running Steam?
I've ran steam a few more times with full strace on, but the semaphore issue hasn't happened again. The only EINVALs I'm seeing are for readlink and mkdir calls. And EACCES for bind on a port number below 1024 (although the port number changes each time) and for files in /var/cache/fontconfig which are only readable by root. If you still want one or more of these full straces, let me know. I'd prefer not to publicly disclose these straces, but I can e.g. e-mail you a download link. (1GB uncompressed, 35MB bzip2-ed).
I did find this though in the steam.log; this is when exiting the steam client (extra line endings removed):
CsComm Session Feb-14-2013 11:14:16.674 [4008139584] ReconnectThread (4008139584) Told to exit
CsComm Session Feb-14-2013 11:14:53.790 [4007930688] ReconnectThread (4007930688) Starting
DebugAssert, Name: ?, Line: 4615, Expr: lReleaseCount >= 1, File: /home/buildbot/buildslave_steam/steam2_rel_beta_linux/build/Projects/GazelleProto/Client/Engine/../../../Common/Misc/PosixWin32.cpp
DebugAssert, Name: ?, Line: 4624, Expr: pSem->m_pPThreadSem->m_cSem > 0, File: /home/buildbot/buildslave_steam/steam2_rel_beta_linux/build/Projects/GazelleProto/Client/Engine/../../../Common/Misc/PosixWin32.cpp
CsComm Session Feb-14-2013 11:15:11.366 [4007930688] ReconnectThread (4007930688) Told to exit
I do have the strace leading up to that. And later (no strace for this one):
CsComm Session Feb-14-2013 11:35:46.822 [4008323904] ReconnectThread (4008323904) Starting
DebugAssert, Name: ?, Line: 3220, Expr: !"non-0 return from pthread_create", File: /home/buildbot/buildslave_steam/steam2_rel_beta_linux/build/Projects/GazelleProto/Client/Engine/../../../Common/Misc/PosixWin32.cpp
Hello @ManInTheGitHub, have you seen this issue with an up to date client?
No; I've retested it with the client built om March 22 and the strace now shows all the expected stuff and none of the unexpected EINVAL or EACCESS or similar.
Thanks for the effort!
Thanks for retesting, closing.
Nothing extracted yet.
I was trying to debug why Steam is unwilling to install TF2 (validation results in: "validated succesfully", "steam servers busy" and "no disk space available" (although steam reports 740GB free) ALL at the same time; but I'll make a separate bug report for that) and I was using strace to find out what file might be causing problems and couldn't help notice the following:
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491034006}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491115024}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491189406}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491261344}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491334470}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491408712}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491482955}) = 0
[pid 26713] semop(4063238, {{0, -1, IPC_NOWAIT}}, 1) = -1 EINVAL (Invalid argument)
[pid 26713] clock_gettime(CLOCK_MONOTONIC, {605579, 491557268}) = 0
It keeps doing this all the time; the strace output is unreadable because of the enormous amount of clock_gettime, semop calls with invalid arguments and nanosleep calls.
When closing steam to retry (but with strace rerouted to a file and filtered on file access calls) I also noticed the following:
[pid 26569] bind(15, {sa_family=AF_INET, sin_port=htons(881), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EACCES (Permission denied)
Since the latest version Steam won't be running as root anymore and ports under 1024 are root only, so this is not going to work.