Sign in Join
Wiki copytemporary

How do I create a bug report: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11This document contains some guidelines for using the FPC / Lazarus [bug tracker](https://gitlab.com/freepascal.org/) as a reporter. This document is written for FPC / Lazarus users who identify bugs, have recommendations, want to submit patches or find other issues and want to report these to the Lazarus development team.
22
33## Code compilation errors
44
55If you have errors when compiling code from latest git revision, please contact a proper [FPC mailing list](http://freepascal.org/maillist.var) or [Lazarus mailing list](http://lists.lazarus-ide.org/listinfo) or use some appropriate [Forum](https://forum.lazarus.freepascal.org). Then the problem should be solved more promptly.
66
77## Logging in / Creating new account
88
99You need to be logged in to edit or submit bug reports. If you are logged in as guest, you need to log out first (Guests cannot make reports, only watch them). If you already have an account, go to the [login page](https://gitlab.com/users/sign_in), otherwise create a new account on the [sign up page](https://gitlab.com/users/sign_up).
1010
1111## Check if the bug is not already reported
1212
1313Use the search field in [View Issues](https://gitlab.com/groups/freepascal.org/-/issues). Hint: The searching is not smart: e.g. if you have a problem using TEdit.SelStart, search for "SelStart". If the issue is already reported:
1414
1515- reopen it, if the bug report has been resolved or closed - use Reopen Issue button
1616- add a note, if you have reproduced this bug in a different situation than reported
1717- you can set the system to monitor changes in this bug report - use Monitor Issue button
1818
1919Note: you need to be logged in to perform these operations, see section #Logging in / Creating new account.
2020
2121## What should be submitted via the Bug Tracker?
2222
2323- Bugs: If you identify errors, glitches, or other faults in [[FPC]] or [[Lazarus]]
2424- Suggestions: If you have identified a better way to do something
2525- Improvements: If you can make something work better
2626
2727Please note: The Bug Tracker is **not** designed to field questions. These should be directed toward the Forums [1](http://forum.lazarus.freepascal.org/).
2828
2929- For reporting, go to [Lazarus bug tracker](https://gitlab.com/groups/freepascal.org/lazarus/-/issues). You must be logged in, see section #Logging in / Creating new account.
3030- Go to the [Report Issue](https://gitlab.com/groups/freepascal.org/-/issues/new) page. Fill in as much as you can and know. The more specific, the better.
3131
3232### Bug
3333
3434- Important fields are the OS and Product fields and the steps to reproduce this issue. If an issue cannot be reproduced by the developers, they cannot start to fix it! Do not forget to mention your specific architecture/configuration (32 or 64 bit, little or big endian if both are possible on your platform, version of your operating system).
35-- If possible, please <b>upload a small test application that shows the bug</b>. This will likely speed up a fix.
35+- If possible, please upload a small test application that shows the bug. This will likely speed up a fix.
3636- If there is some graphical error, it is useful to upload a (partial) screenshot (in png or jpeg, not bmp format).
3737- If it is a crash, try to create a backtrace. See [[Creating a Backtrace with GDB]] for more info.
3838- You can try to reproduce the bug on as many different platforms as you can - it helps to determine if it is widget specific issue.
3939- If you have a possible solution, you can add a patch - see [[Creating A Patch]], which will speed up the process.
4040- You can boost fixing the bug by submitting a bounty, see [[Bounties]].
4141
4242### Regression caused by a certain revision
4343
4444If you can find a revision in main that caused a bug, please include also its Git hash number. The report will usually be assigned to the author of that revision. You can find a quilty revision by a "bisect" process which is a binary search over the revisions. There are tools to help with that:
4545
4646- A Git command [git bisect](https://git-scm.com/docs/git-bisect). Git is fast in this operation because all the revision history is local and nothing needs to fetched from a server.
4747
4848### Suggestion
4949
5050Explain your idea. A GUI mockup or an example of another tool using the feature can be helpful.
5151
5252### Improvement
5353
5454- If you have implemented a new feature in the source code or improved documentation in the XML files, create a patch - see [[Creating A Patch]].
5555- If you have improved translation in a language .po file, attach the whole .po file (not a diff).
5656- If you have another resource file, for example an icon, attach it to the report.
5757
5858## Attachments
5959
6060If you add source code or project sample attachments for the bug report (**strongly recommended**, see [[Tips on writing bug reports]]), please compress them using preferably these formats:
6161
6262- zip (.zip)
6363- gzip (.gz)
6464- tar.gzip (.tgz/.tar.gz)
6565
6666Other formats like 7zip, Bzip and RAR are ok, too. Nowadays tools for them are easily available.
6767
6868## Understanding the Report Status
6969
7070An issue can have the following states:
7171
7272- Open, but no assignee(s).
7373- Open and 1 or more assignees: the issue has been assigned to one or more Lazarus developers, who will try to fix/implement it.
7474- The issue has a label "Status: Confirmed": a member of the Lazarus team has duplicated the bug or agrees that the feature should be implemented
7575- The issue has a label "Status: Feedback": the reporter should provide feedback to answer any questions posed by the Lazarus team, or to confirm that the issue is fixed satisfactorily.
7676- Closed: the assignee has closed (and presumably fixed or dismissed) the issue.
7777
7878## See also
7979
8080- [[Tips on writing bug reports]]
8181- [[Creating A Patch]] If you have modified the source code to implement a solution, this article helps you to add it to your bug report in the most efficient way, so that developers can add it to the main code as fast as possible
8282- [[Database bug reporting]] Specific info and sample programs for database bugs
8383- [[Moderating the bug tracker]]
8484- The following page contains good tips about [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html).
8585
8686---
8787*From the Free Pascal wiki, page "How do I create a bug report", as it stood on 2023-04-19 after a change by Xhajt03, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history