Skip to main content
Version: Next

Reporting Bugs

We appreciate your help in identifying and reporting bugs in Abstract Backend. A well-documented bug report helps us understand and fix issues quickly.

Before Reporting

Before submitting a bug report, please:

  1. Check existing issues: Search the GitHub Issues to see if the bug has already been reported.
  2. Update to the latest version: Verify that you're using the latest release of Abstract Backend or the latest master branch commit, as the bug may have been fixed already.
  3. Confirm it's a bug: Make sure the behavior you're experiencing is truly a bug and not expected behavior or a configuration issue.

How to Submit a Bug Report

Please submit bug reports through our GitHub Issues page using the "Bug Report" template.

What to Include

An effective bug report should include:

  1. Clear and descriptive title: Summarize the issue concisely.

  2. Environment details:

    • Operating system and version
    • Python version
    • Abstract Backend version (or commit SHA)
    • Installation method (pip, source)
    • Any relevant configuration
  3. Steps to reproduce:

    • Be specific and provide a step-by-step guide to reproduce the issue
    • Include example code if applicable
    • Mention any specific conditions or setup required
  4. Expected behavior: Describe what you expected to happen.

  5. Actual behavior: Describe what actually happened.

  6. Error messages: Include any error messages or logs (use code blocks for formatting).

  7. Screenshots or recordings: If applicable, include visual evidence of the issue.

  8. Possible solution: If you have insights into what might be causing the issue or ideas for fixing it, please share them.

Example Bug Report

Title: Memory backend loses messages when consumer restarts

Environment:
- OS: macOS 14.5
- Python: 3.11.8
- Abstract Backend: 0.5.0
- Installed via `uv pip install .`

Steps to Reproduce:
1. Start the development server using `uv run abe-dev-server`
2. Configure `MemoryBackend` as the default queue backend
3. Publish five test messages to the `notifications` topic
4. Restart the `AsyncLoopConsumer` while messages are in flight

Expected Behavior:
All five messages should be processed after the consumer restarts.

Actual Behavior:
Only the first two messages are processed; the remaining three are dropped without errors.

Additional Information:
Setting `LOG_LEVEL=DEBUG` shows "Consumer restarted" in the logs, but no warnings about discarded messages.

After Submitting

After you've submitted a bug report:

  • Be responsive to questions about the issue
  • Provide additional information if requested
  • Consider helping test the fix when it becomes available

Thank you for helping improve Abstract Backend!