Server crashes from what looks like an invalid save file. The log file told me to post this here, so have at it.
Numbered Steps to Reproduce Problem:
N/a.
Log Snippet:
File offset: 73486
Real position: 73491/73543
BYOND(467.1069) Error: corrupt or invalid savefile '/var/www//.byond/cache/F8CD44'
Attempting auto-recovery of '/var/www//.byond/cache/F8CD44'.
BYOND(467.1069) BUG: crc mismatch in ReadCacheItem
Failed to backup savefile; aborting.
Aborted restoration.
BUG: Crashing due to an illegal operation!
proc name: safe load (/proc/safe_load)
source file: Savefile.dm,238
usr: null
src: null
call stack:
safe load( (/savefile))
101ZERO101 (/client): Load()
101ZERO101 (/client): New()
Backtrace for BYOND 467.1069 on Linux:
Generated at Thu May 6 17:39:43 2010
DreamDaemon [0x8048000, 0x0], [0x8048000, 0x804a8f8]
libbyond.so 0x1d2020, 0x1d2032
libc.so.6 [0xb7932000, 0x0], 0x2ae10
libbyond.so 0x1d2020, 0x1d2032
libbyond.so [0xb7bf5000, 0x0], 0x1d9c9b
libbyond.so 0x1db5ec, 0x1db65a
libbyond.so [0xb7bf5000, 0x0], 0x22fcbd
libbyond.so 0x231cd0, 0x231e13
libbyond.so [0xb7bf5000, 0x0], 0x23278a
libbyond.so [0xb7bf5000, 0x0], 0x23b411
libbyond.so 0x250214, 0x250300
libbyond.so [0xb7bf5000, 0x0], 0x23760c
libbyond.so [0xb7bf5000, 0x0], 0x234fe5
libbyond.so [0xb7bf5000, 0x0], 0x24ef4a
libbyond.so 0x2b8be8, 0x2b8c2f
libbyond.so 0x290f88, 0x2911e0
DreamDaemon [0x8048000, 0x0], [0x8048000, 0x8049e77]
libc.so.6 0x16348, 0x1642d (__libc_start_main)
DreamDaemon [0x8048000, 0x0], [0x8048000, 0x8049b81]
To help the BYOND developers debug this, please send the above trace as part
of a very detailed bug report: http://www.byond.com/members/?command=view_tracker&tracker=1
Does the problem occur:
Every time? Or how often? Whenever someone logs in with an invalid save, it seems.
In other games? Only host one, unfortunately.
In other user accounts? N/a.
On other computers? N/a; hosted from a VPS.
When does the problem NOT occur?
When no one logs on with an invalid save file.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Has been occuring in all versions to date.
Workarounds:
None.
Some of the information I'm coming across hints that nested savefiles could be involved. It would help to see the source code to know for sure what's going on here, and in particular it would help to know which savefiles cause the bug. If you have source I can check out, you can send it to me in a .zip file at [email protected].
If I'm right about nested savefiles causing the corruption, then what's probably happening is that you have a var belonging to a mob or client or such that can hold a savefile reference but is not a /tmp var. If this is the case, adding the /tmp keyword to that var could fix the problem for future savefiles, though it won't help savefiles that are already corrupted.
This could also be a case of a savefile being open in more than one place. You might want to check your code for anything like that as well. If this is the case then there might not be a particular savefile setting it off so much as a certain sequence of events.