Skip to content

Make it easy for users to provide all relevant information about an error #821

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
per1234 opened this issue Feb 9, 2022 · 0 comments
Open
Assignees
Labels
criticality: medium Of moderate impact phase: implementation Work is in the implementation phase topic: code Related to content of the project itself type: enhancement Proposed improvement

Comments

@per1234
Copy link
Contributor

per1234 commented Feb 9, 2022

Describe the current behavior

Obtaining the necessary information from the user is often the most difficult part of providing support or triaging bug reports, for all involved.

Arduino IDE 1.x provides a convenient Copy error messages button when there is an error during compilation or upload. In addition to the full output, the IDE adds other essential details:

  • Version of the Arduino IDE
  • Operating system
  • Board
  • Instructions for enabling the verbose output to get more information.

🙂 This means it is often possible for the user to provide all the necessary information in three simple steps:

  1. Click button.
  2. Paste error output in a post or issue.
  3. Submit the post or issue.

🙁 Providing the same information is far more complicated for the users of Arduino IDE 2.x.

To reproduce

Observe baseline Arduino IDE 1.x behavior

  1. Use the Arduino IDE 1.x to compile a sketch that has an error:
    #error
    void setup() {}
    void loop() {}
  2. Wait for the compilation to fail.
  3. Click the Copy error messages button on the orange bar:
    image
  4. Paste the copied output in a text editor.

🙂 The copied output provides the most essential details:

Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"

sketch_feb09a:1:2: error: #error 
 #error
  ^~~~~

exit status 1
#error 

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Compare to Arduino IDE 2.x behavior

  1. Use the Arduino IDE 2.x to compile a sketch that has an error:
    #error
    void setup() {}
    void loop() {}
  2. Wait for the compilation to fail.
  3. Right click on the "Output" view.
  4. Select "Copy All" from the context menu.
    (this is the closest equivalent to the Arduino IDE 1.x Copy error messages button)
  5. Paste the copied output in a text editor:

🙁 The copied output is missing some of the essential details:

C:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved202219-7652-1aug2t3.k3cu\sketch_feb9a\sketch_feb9a.ino:1:2: error: #error 
 #error
  ^~~~~

Compilation error: exit status 1

In order to gather the information provided by Arduino IDE 1.x, additional steps are required:

Arduino IDE version

  1. Select Help > About Arduino IDE from the Arduino IDE menus.
  2. Click the Copy button.
  3. Paste the contents of the clipboard into the report.
  4. Click the OK button of the "Arduino IDE" dialog.

🙁 A lot of steps to follow just to get a single bit of information. But the alternative of asking the user to find the information and provide it manually is even worse.

Board

  1. Note the board name shown in the board selector menu on the toolbar.
  2. Write the full and exact name of the board here in the report.

🙁 Providing information manually is prone to omissions and errors (e.g., "Uno" vs "Uno WiFi Rev2", "Nano" vs. "Nano 33 IoT").

OS

  1. Write your operating system here in the report.

🙁 Providing information manually is prone to omissions and errors.

Describe the request

Add all essential information to the text produced by the primary method of collecting error output.

Evaluate whether Arduino IDE 2.x's "Copy All" is an adequate replacement for the Copy error messages button of the Arduino IDE 1.x.

Desktop

  • OS: Windows 10
  • Version: 2.0.0-rc3-snapshot.a20899f
    Date: 2022-02-01T13:36:29.975Z
    CLI Version: nightly-20220205 [10107d2]
@per1234 per1234 added criticality: medium Of moderate impact phase: implementation Work is in the implementation phase topic: code Related to content of the project itself type: enhancement Proposed improvement labels Feb 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
criticality: medium Of moderate impact phase: implementation Work is in the implementation phase topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

No branches or pull requests

2 participants