The point of writing a bug report is to help the programmer solve it. The point of writing a feature request is to help the programmer understand what users need and why. By writing a good bug report you can save the programmer's time and help him provide a better solution.
Before writing an issue report, search the bugs database to see, if someone already reported your problem or idea.
Go to Jira to search existing issues.
You need a SIO2 Project account to report bugs, so that you receive e-mails when we comment or ask questions about the issue you report.
Create a new SIO2 Project services account.
Sometimes you may add a comment or simply vote for an issue instead of creating one. Nevertheless, if you want to create a new report, remember that good issue reports should:
- Contain as much information about the product version, operating system version, displayed errors or warnings etc. as possible. If you provide too much information — no problem, the programmer will use only some of it. If you provide insufficient information — we will not know how to help you. Even when you consider your observations, like 'this crashes if and only if Excel is running', weird, write about them. This may be the clue.
- Provide precise description how to reproduce the problem. Instead of writing 'Error 713 in module foobar.py shows' write "I click on the Rejudge button, then click on my solution and click Rejudge submission again and then the system crashes with message 'Error 713 in module foobar.py'".
- Be clear. Sometimes it is better to write 'the message' and 'the button' seven times than to use too much imprecise words like 'it'.
- Contain information on how to contact you. Sometimes we may want you to perform some actions (to collect more information about the problem) or answer some questions.
After writing a report, read it back to yourself. This may help you create more helpful issue description.
Go to Jira and create an issue.
Example of a bad bug report
I select Rejudge, a window and a message appears, and when I close it - error message shows up.
This is unclear (did you select Rejudge submission or Rejudge all submissions? did you click it, select it or use keyboard shortcut? did you close the message or the window? What kind of error message appeared?)
Example of a good bug report
Foobar system fails every night at 01:00 AM on gizmo.mimuw.edu.pl (on barfoo.mimuw.edu.pl works fine), with "No module named syncapi" while importing "sio.syncapi" message. Version of sio2 is 1.0.3320JEZE, running on Debian Linux sid. The following error appears: Traceback (most recent call last): File "setup.py", line 105, in <module> """, File "/usr/share/python2.6/distutils/core.py", line 152, in setup File "/usr/share/python2.6/distutils/dist.py", line 975, in run_commands File "/usr/share/python2.6/distutils/dist.py", line 995, in run_command File "/usr/share/python2.6/site-packages/nose-1.0.0-py2.6.egg/nose/commands.py", line 137, in run TestProgram(argv=argv, config=self.__config) File "/usr/share/python2.6/site-packages/nose-1.0.0-py2.6.egg/nose/core.py", line 118, in __init__ **extra_args) File "/usr/share/python2.6/unittest.py", line 816, in __init__ File "/usr/share/python2.6/site-packages/nose-1.0.0-py2.6.egg/nose/core.py", line 135, in parseArgs self.config.configure(argv, doc=self.usage()) File "/usr/share/python2.6/site-packages/nose-1.0.0-py2.6.egg/nose/config.py", line 330, in configure self.plugins.begin() File "/usr/share/python2.6/site-packages/nose-1.0.0-py2.6.egg/nose/plugins/manager.py", line 94, in __call__ return self.call(*arg, **kw) File "/usr/share/python2.6/site-packages/nose-1.0.0-py2.6.egg/nose/plugins/manager.py", line 162, in simple result = meth(*arg, **kw) File "/usr/share/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/test.py", line 74, in begin relative_to=path) File "/usr/share/python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/loadwsgi.py", line 204, in loadapp return loadobj(APP, uri, name=name, **kw) File "/usr/share/python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/loadwsgi.py", line 225, in loadobj return context.create() File "/usr/share/python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/loadwsgi.py", line 625, in create return self.object_type.invoke(self) File "/usr/share/python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/loadwsgi.py", line 110, in invoke return fix_call(context.object, context.global_conf, **context.local_conf) File "/usr/share/python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/util/fixtypeerror.py", line 57, in fix_call val = callable(*args, **kw) File "<https://hudson.sio2project.mimuw.edu.pl/job/sio2-nightly/ws/src/sio2/config/middleware.py",> line 30, in make_app app = make_base_app(global_conf, full_stack=True, **app_conf) File "/usr/share/python2.6/site-packages/TurboGears2-2.1-py2.6.egg/tg/configuration.py", line 841, in make_base_app load_environment(global_conf, app_conf) File "<https://hudson.sio2project.mimuw.edu.pl/job/sio2-nightly/ws/src/sio2/config/environment.py",> line 121, in load_environment setup_evaluation_manager() File "<https://hudson.sio2project.mimuw.edu.pl/job/sio2-nightly/ws/src/sio2/config/environment.py",> line 83, in setup_evaluation_manager import sio.syncapi ImportError: No module named syncapi