Core Known Issues List

From Valve Developer Community
Revision as of 11:25, 27 August 2006 by Bloodykenny (talk | contribs)
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.

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/
#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;
    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

The stack trace is:

>	engine.dll!0dae07c1()

bin/ fails to shut down when using threads

It looks like this would be fixed if Valve would recompile bin/ 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/ 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.