How to report a bug

The issue tracker is where all Weld bugs, feature requests and enhancement requests reside. It is therefore a place to start when you want to file a bug. We are trying to address every reported bug, which means we first need to understand the issue, prepare environment (application servers, Java vendor and version etc.) and finally reproduce it. Once we do this, we usually create an automated test and search for a solution. This workflow gets a lot faster if the issue is reported properly, e.g. contains all the necessary information. Here are a few points on how to report a bug:

1. Browse current issues before creating a new one

Try to avoid duplicating issues. There might be issue similar to yours which could have been resolved or is currently open/in progress.

2. Create one issue per bug

If you encountered several problems, do not put them all in one issue. Instead create issue for each problem encountered. This makes each issue clear, focused and easy to track and follow. If need be, you can always link issues together.

3. Give the issue a proper name

The name should already give an idea what the issue is going to be about. If its the interceptors you want to talk about, mention it in the issue name.

4. Provide information about environment

Mention the version of Weld, application server, dependencies which might be relevant to the issue and so forth. We are always verifying bugs in multiple environments but to reproduce your case, we want to simulate your environment.

5. Give clear description of the issue

This is pretty straightforward, the better you describe it, the less we ask "What do you mean by ... ?" .

6. Provide a reproducer or a test case if possible

Last but definitely not least providing a reproducer speeds up the process a lot. You bumped into an issue and likely investigated it and to some extend understood it. This ultimately makes you the best person to provide an example. Actually you might already have one - the application where you came across this problem! Don't hesitate to share it with us. General rule is that the reproducer should contain the smallest possible piece of code showing the bug. The purpose is to isolate the bug from anything which may interfere hence allowing for easier bug hunting.