ET hangs when no connection to dns server


(Lagger) #1

how to reproduce:

  1. enter bogus ip address in “preferred DNS server” field OR disconnect your lan from internet
  2. start ET

(Rain) #2

Does this still happen if you disable PB? I imagine it’s the likely culprit…

(…I’m having visions of the time evenbalance’s DNS servers went down a while back, and the game would randomly freeze for 30 seconds while trying to contact the PB masters… ugh.)


(Lagger) #3

you’re right, disabling pb seems to get rid of the problem. it still sux tho… :bored:

i’m off to whine in the punkbuster forums…


(Lagger) #4

i played a little more with it. with punkbuster enabled: the game hangs.
with punkbuster disabled: it also hangs, but tapping out and back in (with windows key) seems to break the deadlock.


(Rain) #5

The other place it might be hanging is when resolving the auto-update servers (e.g. au2rtcw2.activision.com)–try setting cl_autoupdate to 0 and see if that fixes the rest of the problem.


(Lagger) #6

cl_autoupdate 0 fixes it.

:bash: bad programming, splash damage and punkbuster… shame on you.


(Rain) #7

Doing non-blocking DNS lookups is a real pain in the ass, so I don’t really blame them. RtCW’s auto-update code probably has exactly the same problem, and PB is… well…

Part of the problem is that gethostbyname() isn’t thread-safe (and, unless ET on Win32 is different, ET doesn’t spawn any additional threads anyway. Directsound might, but I imagine that’s all internal to DirectX.)