RoboTutorLLC / RoboTutor_2019

Main code for RoboTutor. Uploaded 11/20/2018 to XPRIZE from RoboTutorLLC/RoboTutor.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1.8.9.1 log crashes

JackMostow opened this issue · comments

Incorporate Shiven's crashlog code from FaceLogin.
Log to where?
a. Separate crash logs? <-- YES
b. PERF logs? -- @eyarzebinski, (how) do you want crashes logged in PERF logs? I assume probably not.
c. Verbose logs? -- @kevindeland, do you want crashes logged in verbose logs? I assume not necessarily.

What to log:
a. tablet id
b. timestamps -- both Unix and human-readable
c. sessionid
d. stack trace
e. source code filepath and line
f. configuration filepath and contents

@kevindeland - I asked Shiven to look at the RoboTutor code to figure out at what point(s?) to call his code, and if feasible implement it on a new branch from the development branch.

RoboTutorLLC/RTFace_Login#6 has my crashlog code, I can implement something similar to this in RT.

Great! Please do. Make sure to include timestamp and FaceLogin version in log filename.

@JackMostow you want me to add FaceLogin version to the RoboTutor filename as well? Or were you referring to FaceLogin there?

I have added Facelogin version to the Facelogin filename in RoboTutorLLC/RTFace_Login#6. For RT crashlogs I will add RT version, that should work I guess.

FaceLogin crash logs are currently named, e.g., 6105001158_20180702_123519.trace.
Crash log filename should include:

  1. Prefix CRASH_
  2. Timestamp of crash
  3. Filename of regular logfile, so as to include:
    a. Which program crashed (FaceLogin or RoboTutor)
    b. Configuration, e.g. SW or DBG for RoboTutor
    c. Launch timestamp
    d. Tablet ID
    e. File extension suitable to open, e.g. .txt or .json

Besides stack trace etc., crash log itself should include contents of external configuration file used, if any.

Thanks! - Jack

@JackMostow I agree with you, the perf logs don't seem like the appropriate place to log crashes.

@kevindeland -
Can we log any errors in a session to a separate ERROR_ log for that session, named like the CRASH_ log?
If no errors are logged, don't write an ERROR_ log.
The purpose is to call errors to our attention even if we eliminate the verbose logs.
Let me know if you approve. Someone else can implement it.

Fixed in the above comment. Closing.