When using the fakelag cvar the weapon prediction code breaks and the wrong weapon is used to predict events, usually resulting in one weapon's model and sounds playing while another's server side events occur.
This also causes crashes, apparently when the engine tries to free a null pointer. It seems to be a bit more complex than just passing null to free or some variation thereof:
> ntdll.dll!RtlpInsertFreeBlock() Unknown
ntdll.dll!RtlpDeCommitFreeBlock() Unknown
ntdll.dll!RtlpFreeHeap() Unknown
ntdll.dll!RtlFreeHeap() Unknown
hw.dll!02926087() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for hw.dll] Unknown
hw.dll!0288285c() Unknown
hw.dll!028b22eb() Unknown
hw.dll!028b8d5b() Unknown
This may actually be memory corruption of some sort.
I've recorded a video showing this in vanilla Half-Life:
https://www.youtube.com/watch?v=FBEFc9mT87c&feature=youtu.be
Why does such feature exist in the first place xd
To test how the game performs when there's lag.
Most helpful comment
To test how the game performs when there's lag.