Reporting Bugs
From Aleph One Wiki
What should you do if Aleph One crashes? Generally, you should inform the developers. Read this page for a general guide on how to file a bug report on Sourceforge.
Contents |
[edit] Reporting a bug
- Go to the Sourceforge development page, and click on bugs
- Scan through the bugs to make sure you're not reporting a known issue
- (Optional) Login to sourceforge / create an account
- If you create an account, you will receive updates when the bug is fixed or changes status, or if a developer needs to ask more questions about the bug. This isn't required, but it is recommended
- To upload files, you need to login before you submit the bug
- Click "Submit new"
- Choose a category from the category menu, and leave the other options at the top of the page set to their defaults
- The developers will set a group and priority
- Generally Aleph One bugs are left unassigned because the developers subscribe to the trackers anyway
- Enter a brief but descriptive summary. Please file separate reports for each bug.
- Good example: "Screen doesn't dim on pause"
- Bad example: "OpenGL doesn't work"
- Enter a detailed description. List things like:
- What operating system you are running
- Your CPU and video card specs
- What build and version of Aleph One
- Which scenario you are using, and where you got the data files
- Whether your bug is reproducible or not, and if it is, how to reproduce it
- If the bug is a crash bug, read the #Crashes section to get more information on how to report crashes
- Click "Submit"
- You have to submit before you can upload multiple files, or any files at all if you're not logged in
- Upload useful files such as
- A crash report if there is one (see #Crashes)
- The relevant part of the log file (see #Crashes)
- Screenshots if relevant
- If you have a film that demonstrates the problem, include the film, and also the map if it's not part of a commonly available scenario
- In preview builds of Aleph One, it's possible to save films of the crashes caused by #Assertion_failures
- Make sure to check the bug's comments in the future, in case there are questions
[edit] Crashes
These are the two ways that Aleph One exits unexpectedly. Read the sections below for a description of each, and then continue on to learn how to determine which happened and what to add to your bug report.
[edit] Assertion failures
These happen when Aleph One does an internal consistency check, and finds something so seriously wrong it can't continue. Assertion failures always print a message to the log file, but often they are in very generic places in the code so the message isn't always helpful.
If Aleph One quits because of an assertion failure, it will show up in the log file. Copy the assertion failure part of the log to the sourceforge bug report, or upload the relevant part of the log file.
Also, if you are running Aleph One 0.17pre1 or later, and you were in a solo game when Aleph One encountered an assertion failure, you can save a film of the assertion by starting Aleph One up, and choosing "Save Last Film". Attach the film to the bug report, and also the map if it's not a well-known or widely-available scenario.
[edit] Mac OS X
The log file is located in the same folder as Aleph One, it's called Aleph One Log.txt
[edit] Windows
The log is located in your Aleph One folder, called Aleph One Log.txt
[edit] Linux / *nix
The log file is located in the current working directory, and called Aleph One Log.txt
[edit] Crashes
Crashes occur when the operating system performs a consistency check on Aleph One and finds something seriously wrong. Since they are unpredicted (unlike assertion failures) they don't print an error message to the log file. A crash reporting tool is necessary to figure out why Aleph One is crashing.
[edit] Mac OS X
Mac OS X includes a built-in crash reporter, that will pop-up when Aleph One crashes. Click on "Report..." and you'll get a crash report. Attach that text to the bug you file. Do not "Report this bug to Apple" because they will not care about Aleph One bugs.
- It doesn't hurt to submit bugs to Apple. They often times can trace framework or other system-level crashes by using aggregate and other comparative tools. In short, Apple may not care about A1, but it still can provide them with useful crash data when looking at the "big picture". Apple encourages you to share reports with them whenever a program crashes.
[edit] Windows
In order to get crash reports in Windows, you need to copy this file to the same folder as Aleph One.exe, and try to get it to crash again. If it crashes, a TEST.RPT file will be saved. Attach TEST.RPT to the sourceforge bug.
[edit] Linux
You can run Aleph One in gdb
$ gdb ./alephone (gdb) run -d
and when it crashes type
(gdb) bt
Copy the backtrace into the sourceforge bug report.
