I was browsing the runtime logs of my Space Station 13 server when i saw this really weird runtime:
proc name: convert notes sql (/proc/convert_notes_sql)
source file: This is a secret social experiment conducted by Nanotrasen. Convince the crew that this is the truth.,190
usr: (src)
src: null
call stack:
convert notes sql("(ckey censored)")
I removed the ckey,but it was of a player,and i've noticed that for some reasons he has like 30-40 notes with bugged time and with the same description:
0000-00-00 00:00:00 | Hippie Station 13 | (censored) [Remove Note] [Edit Note]
Lasered a guy into crit for shitty reasons, apologized.
I am more worried about the runtime claiming that a text var is a file. The source file byond thinks was the cause is actually a text var of an objective which was completely unrelated to the case anyhow.
Numbered Steps to Reproduce Problem:
Unknown?
Code Snippet (if applicable) to Reproduce Problem:
//Text var location
/datum/objective/abductee/social_experiment
explanation_text = "This is a secret social experiment conducted by Nanotrasen. Convince the crew that this is the truth."
//proc shown in the runtime
#define NOTESFILE "data/player_notes.sav"
/proc/convert_notes_sql(ckey)
var/savefile/notesfile = new(NOTESFILE)
if(!notesfile)
log_game("Error: Cannot access [NOTESFILE]")
return
notesfile.cd = "/[ckey]"
while(!notesfile.eof)
var/notetext
notesfile >> notetext
var/server
if (config && config.server_name)
server = config.server_name
var/regex/note = new("^(\\d{2}-\\w{3}-\\d{4}) \\| (.+) ~(\\w+)$", "i")
note.Find(notetext)
var/timestamp = note.group[1]
notetext = note.group[2]
var/adminckey = note.group[3]
var/DBQuery/query_convert_time = dbcon.NewQuery("SELECT ADDTIME(STR_TO_DATE('[timestamp]','%d-%b-%Y'), '0')")
if(!query_convert_time.Execute())
var/err = query_convert_time.ErrorMsg()
log_game("SQL ERROR converting timestamp. Error : \[[err]\]\n")
return
if(query_convert_time.NextRow())
timestamp = query_convert_time.item[1]
if(ckey && notetext && timestamp && adminckey && server)
add_note(ckey, notetext, timestamp, adminckey, 0, server)
notesfile.cd = "/"
notesfile.dir.Remove(ckey)
#undef NOTESFILE
Expected Results:
The runtime to show up the actual file where the problem happened
Actual Results:
The runtime claims that a text var is a .dm file?
Does the problem occur:
Every time? Or how often?Happens everytime this exact user joins,and it happens with him only
In other games?No,only space station 13
In other user accounts?No
On other computers?No
When does the problem NOT occur?
When anyone else but this guy joins
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.)
Unknown
Workarounds:
None