Occasionally, my game will freeze and use 100% CPU until it's force killed. During this time, it doesn't respond to SIGUSR2 to print a backtrace, so I attached gdb and got:
#0 0xf6dde4e7 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1 0xf74c05ac in ProtoStrCompSigned(ProtoStr*, ProtoStr*) ()
from /usr/local/lib/libbyond.so
#2 0xf73d3c1c in DelProtoStr(unsigned long) () from /usr/local/lib/libbyond.so
#3 0xf73f4217 in DeallocateObj(unsigned long) ()
from /usr/local/lib/libbyond.so
#4 0xf7450d11 in ?? () from /usr/local/lib/libbyond.so
#5 0xf744a5bd in CallByNameWithCallback_Attach(Value, unsigned char, unsigned long, Value, Value*, unsigned long, void (*)(Value, void*), void*) ()
from /usr/local/lib/libbyond.so
#6 0xf744c75c in CallByNameWithCallback(Value, unsigned char, unsigned long, Value, Value*, unsigned long, void (*)(Value, void*), void*) ()
from /usr/local/lib/libbyond.so
#7 0xf73d9919 in ?? () from /usr/local/lib/libbyond.so
#8 0xf73e5f45 in Values_Clear(Value*, unsigned long) ()
from /usr/local/lib/libbyond.so
#9 0xf741731e in ?? () from /usr/local/lib/libbyond.so
#10 0xf742e0f4 in ?? () from /usr/local/lib/libbyond.so
#11 0xf7448d99 in ?? () from /usr/local/lib/libbyond.so
#12 0xf7449255 in TickProc(long) () from /usr/local/lib/libbyond.so
#13 0xf74101ea in ?? () from /usr/local/lib/libbyond.so
#14 0xf74daae7 in TimeLib::SystemAlarm() () from /usr/local/lib/libbyond.so
#15 0xf74ad80a in SocketLib::WaitForSocketIO(long, unsigned char) ()
from /usr/local/lib/libbyond.so
#16 0x0804a3ee in ?? ()
#17 0xf6cc64d3 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#18 0x08049ed1 in ?? ()
Last world.log was: (I don't think these last entries were added when it froze though - the file's modified date is earlier.)
Sun May 12 15:17:57 2013
Auto-safety mode: safe (working directory access)
World opened on network port 8000.
Welcome BYOND! (4.0 Public Version 498.1158)
The BYOND hub reports that port 8000 is reachable.
BUG: Finished erasure with refcount=32 (ref=5:22) DM (:0)
BUG: Finished erasure with refcount=250 (ref=5:1) DM (:0)
BUG: Finished erasure with refcount=8 (ref=5:21) DM (:0)
BUG: Finished erasure with refcount=48 (ref=5:17) DM (:0)
BUG: Finished erasure with refcount=56 (ref=5:17) DM (:0)
BUG: Finished erasure with refcount=51 (ref=5:8) DM (:0)
BUG: Finished erasure with refcount=8 (ref=5:16) DM (:0)
BUG: Finished erasure with refcount=32 (ref=5:8) DM (:0)
BUG: Finished erasure with refcount=32 (ref=5:8) DM (:0)
BUG: Finished erasure with refcount=9 (ref=5:6) DM (:0)
BUG: Finished erasure with refcount=8 (ref=5:5) DM (:0)
BUG: Finished erasure with refcount=9 (ref=5:9) DM (:0)
BUG: Finished erasure with refcount=9 (ref=5:21) DM (:0)
BUG: Finished erasure with refcount=8 (ref=5:28) DM (:0)
BUG: Finished erasure with refcount=94 (ref=5:19) DM (:0)
BUG: Finished erasure with refcount=18 (ref=5:22) DM (:0)
BUG: Finished erasure with refcount=18 (ref=5:14) DM (:0)
As yet, I don't have a reliable test case. It's happened maybe 4 times over the past 2 weeks. It happened once in 496, too. The system logs are clean. Unsure at this stage whether it happens on other computers.
Does the backtrace give you any hints on what might be causing it?
Admittedly I never check the backtrace as Murrawhip has done, the majority of my machines are on Ubuntu 12.04 and 11.04 32Bit