Core Known Issues List

From Valve Developer Community
Revision as of 01:27, 4 September 2006 by Bloodykenny (talk | contribs) (config.cfg fails if two keys map to the same function)

Jump to: navigation, search

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.

config.cfg fails if two keys map to the same function

Ie, if you bind 'f' and 'SPACE' to be both be "+jump", then when you launch/quit HL2, one of the two binds mysteriously vanishes from the config.cfg.


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?


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.