Core Known Issues List
This page concerns bugs in the HL2 Core, ie the closed-source side of things that can't be directly fixed via SDK code changes.
Contents
- 1 Source Crashes when alt+tab during background map loading
- 2 srcds does not inform you that your mod failed to load
- 3 HL2.exe mysteriously segfaults if you forget to put the client.dll and server.dll in your mod's bin directory
- 4 Typing +showbudget in srcds causes an instantaneous crash
- 5 bin/tier0_i486.so fails to shut down when using threads
- 6 Other info and links
Source Crashes when alt+tab during background map loading
- When you alt + tab out of the game when the background map is loading, you will end up with a crash. Debug points to a frame count hack that I have no idea how to fix. Someone that knows how to add a curTime event may be able to fix this bug.
Here's a stack trace following a screen change and a crash:
> engine.dll!0da99893() engine.dll!0db000e2() engine.dll!0db0046f() engine.dll!0dafba15() engine.dll!0da9995a() engine.dll!0da6247d() engine.dll!0db2e05c() engine.dll!0d9e3907() engine.dll!0da6f816() engine.dll!0da7a31c() engine.dll!0da7a9b3() engine.dll!0da853b5() engine.dll!0da854a2() engine.dll!0da8553f() engine.dll!0db2309c() engine.dll!0db22c67() MaterialSystem.dll!0d58d0c5() engine.dll!0daa50fb() engine.dll!0db22eee() engine.dll!0db22d24() engine.dll!0db22d2f() engine.dll!0db22dcc() launcher.dll!1000369b() launcher.dll!10007f70() launcher.dll!10007f70() launcher.dll!100057f8()
The stack trace I get now is
> materialsystem.dll!0d81f7a6() materialsystem.dll!0d8210ca() materialsystem.dll!0d81ea9f() materialsystem.dll!0d81edb3() materialsystem.dll!0d821356() materialsystem.dll!0d82f0f5() materialsystem.dll!0d81bb34() shaderapidx9.dll!2a01c693() shaderapidx9.dll!2a00f918() shaderapidx9.dll!2a0166ec() engine.dll!0da70d72() materialsystem.dll!0d80cd3c() materialsystem.dll!0d80cd4a() engine.dll!0db2e25c() engine.dll!0db2e962() engine.dll!0db3b795() engine.dll!0db3b8c3() engine.dll!0db3b96f() engine.dll!0dbdf943() engine.dll!0dbde787() materialsystem.dll!0d80ea35() engine.dll!0db4df7b() engine.dll!0dbde884() engine.dll!0dc41d21() engine.dll!0dbdef9e() engine.dll!0dbdf05c() launcher.dll!100083e1() launcher.dll!100083e1() launcher.dll!10005cf2()
srcds does not inform you that your mod failed to load
You can use the following program to see the message that srcds brokenly fails to display:
// gcc modtest.c -ldl -o modtest // env LD_LIBRARY_PATH=~/source/bin ./modtest ~/source/xxx/bin/server_i486.so #include <dlfcn.h> #include <stdio.h> int main(int argc, char* argv[]) { void* handle = dlopen(argv[1], RTLD_LAZY); if (!handle) { fprintf(stderr, "error loading .so: %s\n", dlerror()); return 1; } void* sym = dlsym(handle, "CreateInterface"); if (!sym) { fprintf(stderr, "error loading symbol - %s\n", dlerror()); return 1; } printf("success\n"); return 0; }
HL2.exe mysteriously segfaults if you forget to put the client.dll and server.dll in your mod's bin directory
Fix: Don't do that.
Update: the behavior here seems to have changed - now HL2 gives an equally mysterious "Server uses different class tables" message. Can anyone else confirm this?
Confirmed. I scrapped a mod due to the mysterious "Missing SendTable for DT_Local/m_iFOV" Just set your Visual Studio to break at any access violations.
Typing +showbudget in srcds causes an instantaneous crash
Fix: Don't do that.
The stack trace is:
> engine.dll!0dae07c1() engine.dll!0d98c7f3() engine.dll!0d98c9e0() dedicated.dll!100a53cf() dedicated.dll!100a5b81() dedicated.dll!100a5657() dedicated.dll!100a5bd0()
bin/tier0_i486.so fails to shut down when using threads
It looks like this would be fixed if Valve would recompile bin/tier0_i486.so with the -fuse-cxa-atexit gcc option. I can't wait for Valve to fix this, so instead:
Workaround: In the mean time what I've done with my mod is add an alarm(10);
to the bottom of void CServerGameDLL::DLLShutdown(void)
so that if bin/tier0_i486.so fails to exit, it will be killed.
Other info and links
See also SDK Known Issues List for the list of SDK Known Issues in the SDK.
See also this nice general HL2 bug list on the steam forums.