wiki:DebugProtocol

Version 6 (modified by Brandon Shroyer, 14 years ago) ( diff )

Debug Team Procedures

New Tickets

  1. Assignment: When a new ticket arrives, the debug team leader will assign a debug team member (owner) to the ticket.
  1. Triage: The ticket owner should establish contact with the reporter and verify:
    • That their environment settings, compiler flags, and submission scripts are correct.
    • They are using the most current version of the code.
  1. Prioritization: The ticket owner will report back to the debug team leader, who will decide whether or not to change the ticket's priority. Most tickets will probably fall within the 2-4 range; only the debug team leader may set tickets as priority 1.
  1. Reproduction: The ticket owner should work with the reporter to reproduce the bug. This will involve access to some or all of the following:
    • The reporter's data files.
    • The reporter's AstroBEAR build.
    • The cluster on which the error occurred.
    • The PBS script used to submit the job.
    • The reporter's .bashrc and .bash_profile contents.
  1. Isolation: The debug team member should then try to isolate the source of the problem by:
    • Running with debug flags turned on (and fixing any pointer/allocation issues).
    • If no errors turn up then they should try the following:
      • Lower the resolution.
      • Turn off AMR (i.e., set MaxLevel in global.data to 0).
      • Turn off source terms.
      • Set lGudonov to true.
      • Set InterpOpts to 0 in physics.data.
      • Use a different problem module.

Once the problem goes away, then try switching back on things that had been turned off until you have the closest thing to the original setup that still works.

  • Prepare a report (summary comment on the ticket) for weekly debug meetings describing the results with possible courses of action.
Note: See TracWiki for help on using the wiki.