Decided to come back to this after a few months, I spent almost an hour typing my findings and then the site logged me out and I lost everything. I will summarize everything here:
[*] I compiled with -DCMAKE_BUILD_TYPE=Debug and used gdb to get some debug information.
[*] Simply launching the program with start got me this:
Code: Select all
Starting program: /root/Sources/zandronum_build/zandronum/buildserver/zandronum-server
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff6516700 (LWP 4431)]
[Thread 0x7ffff6516700 (LWP 4431) exited]
[Inferior 1 (process 4426) exited with code 0377]
[*] I couldn't get a stack trace for some reason, all I got was "No stack."
[*] So I did the next best thing and stepped through the program's start up process, and found the exact function that tripped things up.
Code: Select all
272 Args = new DArgs(argc, argv);
DObject::operator new (len=56) at /root/Sources/zandronum_build/zandronum/src/./dobject.h:496
496 return M_Malloc(len);
M_Malloc_Dbg (size=56,
file=0x555555da8e48 "/root/Sources/zandronum_build/zandronum/src/./dobject.h", lineno=496)
at /root/Sources/zandronum_build/zandronum/src/m_alloc.cpp:135
135 void *block = _malloc_dbg(size, _NORMAL_BLOCK, file, lineno);
[New Thread 0x7ffff6516700 (LWP 6696)]
[Thread 0x7ffff6516700 (LWP 6696) exited]
[Inferior 1 (process 6544) exited with code 0377]
[*] I confirmed that what I was compiling was 64-bit, it can definitely see more then 4GB.
[*] I created a 10GB swapfile to rule out the possibilty that it is geniunely running out of memory.
[*] I tried running somebody else's Docker container and got the same error.
I've never had to debug a program in this way before, so if please tell me if there are ways in which I can provide more useful information.