PyCQA / flake8-bugbear

A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle.
MIT License
1.05k stars 103 forks source link

Error in latest version of flake8-bugbear 24.1.15 #449

Closed adventurousAyan closed 5 months ago

adventurousAyan commented 5 months ago

Getting error with latest version of flake8-bugbear

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/usr/local/lib/python3.10/site-packages/flake8/checker.py", line 83, in _mp_run
    ).run_checks()
  File "/usr/local/lib/python3.10/site-packages/flake8/checker.py", line 526, in run_checks
    self.run_ast_checks()
  File "/usr/local/lib/python3.10/site-packages/flake8/checker.py", line 428, in run_ast_checks
    for line_number, offset, text, _ in runner:
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 80, in run
    visitor.visit(self.tree)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 419, in visit
    super().visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 510, in visit_Module
    self.generic_visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 419, in visit
    super().visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 575, in visit_ClassDef
    self.generic_visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 419, in visit
    super().visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 569, in visit_FunctionDef
    self.generic_visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 419, in visit
    super().visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 580, in visit_Try
    self.generic_visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 419, in visit
    super().visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 464, in visit_ExceptHandler
    and not ExceptBaseExceptionVisitor(node).re_raised()
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 337, in re_raised
    self.visit(self.root)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 352, in visit_ExceptHandler
    return super().generic_visit(node)
  File "/usr/local/lib/python3.10/ast.py", line 426, in generic_visit
    self.visit(item)
  File "/usr/local/lib/python3.10/ast.py", line 418, in visit
    return visitor(node)
  File "/usr/local/lib/python3.10/site-packages/bugbear.py", line 344, in visit_Raise
    if node.exc is None or node.exc.id == self.root.name:
AttributeError: 'Call' object has no attribute 'id'
"""
cooperlees commented 5 months ago

Hi,

Thanks for the report. Sorry about that.

Any chance we could grab an example of the code that's causing flake8-bugbear to hit this edge case please?

Thanks

JelleZijlstra commented 5 months ago

This reproduces it:

try:
    pass
except BaseException:
    raise a.b

I'll fix it

adventurousAyan commented 5 months ago

@JelleZijlstra Any idea when the latest PR fix will be available ?

cooperlees commented 5 months ago

Released. Thanks for report and fix everyone.