Fixing hang bugs is tricky. Normal crashes automatically send crash dumps to us via Steam and we can easily track crash frequency and try to fix the most frequent crashes first.
Hangs, on the other hand, do not automatically send minidumps to us. There is a way you can help, but it's a manual process.
1) Try running in windowed mode. It's easier to get minidumps when running windowed. To start in windowed mode, open up your games list in Steam and right-click on Team Fortress 2. Select 'Properties', then click the 'Set Launch Options...' button. Add -sw to the launch options. [Be sure to remove this launch option after you're done getting minidumps]
2) After launching Team Fortress 2, launch the Task manager. You can launch it by right-clicking on the task bar and selecting 'Task Manager'.
3) Configure the Task Manager to show process IDs. Do this by going to the View menu of the Task Manager and selecting 'Select Columns...'. Then make sure the 'PID (Process Identifier)' field is checked.
3a) When the hang occurs, check the task manager. If steam.exe is pegged at 99% or 100%, don't send us a crash dump; almost all crash dumps we've received are this bug. If you have this bug, we are looking for a repro box (as of 9/24/2007). If you've got a laptop you want to send us, or you live near Bellevue, WA, send mail to
tf2betabug@valvesoftware.com. We'll pay for shipping if necessary
4) When the hang occurs, open up a Command Prompt (using Start Menu->Programs->Accessories->Command Prompt)
5) In the Command Prompt, cd to where you have Steam installed. Typically this is stored in c:\program files\steam, so for that case, you'd type cd "\program files\steam" (the quotes are necessary because of the space in 'program files').
6) In the command prompt, type 'writeminidump <process ID> <file name>' where <process ID> is the number in the PID column next to the hung hl2.exe process in the Task Manager and <file name> is the output filename for your crash dump.
7) Mail the file you created to
tf2betabug@valvesoftware.com, along with information about your video card, your OS (Vista/XP), amount of memory, and, if possible, your driver version, which you can find under Display Properties->Settings->Advanced->Adapter->Properties->Driver on the 'Driver Version' line. Also, please send us the day + time the minidump was created so we know which set of code to test the minidump against.
Don't bother sending us more than 3 minidumps or so. Most likely you're hitting the same problem each time. Getting more than 1 is interesting, however, because if they show up in the same place each time, it makes it very likely to be a code bug. We have definitely encountered machines in the wild with bad memory that produce crashes in random places (unfortunately, there's nothing we can do about those machines).