Skip to content

INFORMATION: How to write a bug report (for new contributors) #1986

Open
@rebcabin

Description

@rebcabin

SLOGAN: "If we can't repro, we can't fix"

ONE PROBLEM AT A TIME: A repro case with 2 problems multiplies our work by 4. A repro case with 3 problems multiplies our work by a factor of 8. A repro case with 10 problems multiplies our work by a factor of 1,024.

BIG IDEA: Make it easy for us to repro. Think about it from our point of view. We need to pinpoint the cause of a problem in C++ code. That means we must trigger the problem from Python code and also compare / contrast with Python code that does NOT trigger the problem. Make that easy for us!

More formally:

A bug report shall​ contain a minimal repro-case consisting of

  • Code that works via a workaround if possible. Otherwise, put "BLOCKER" in the title of the bug report and it gets override priority from us
  • Code that doesn't work and exposes the bug. Make the diff of the code-that-works and the code-that-doesn't work as SMALL as possible. Best case is one change: one function call, one type annotation, one parameter, etc. If one is not possible, make it as small as possible.
  • build & run instructions -- typically a copy-paste of the command-line terminal. All dependencies must be included in your repro case. "If we can't repro, we can't fix!"
  • Verbal description -- can be minimal
  • Commit and push the code-that-works and code-that-doesn't work to a branch or to permanent location that is easy for the team to find and WILL NOT CHANGE.
  • EMPHASIS: These files must NEVER BE CHANGED. They must either go in a permanent bug branch or copied into bug directories so the compiler team can find them

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions