angr / angr-management

The official angr GUI.
BSD 2-Clause "Simplified" License
868 stars 109 forks source link

Opening a second binary causes exceptions #1058

Open mborgerson opened 1 year ago

mborgerson commented 1 year ago

Description

ERROR    | 2023-08-15 15:31:19,296 | angrmanagement.data.object_container | Error raised from event of (container: The current CFBlanket)None
Traceback (most recent call last):
  File "/home/user/angr-management/angrmanagement/data/object_container.py", line 32, in am_event
    listener(**kwargs)
  File "/home/user/angr-management/angrmanagement/ui/views/disassembly_view.py", line 348, in _on_cfb_event
    self._reload_current_function_if_changed()
  File "/home/user/angr-management/angrmanagement/ui/views/disassembly_view.py", line 336, in _reload_current_function_if_changed
    func = self.instance.kb.functions.get_by_addr(func_addr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'functions'
ERROR    | 2023-08-15 15:31:19,297 | angrmanagement.data.object_container | Error raised from event of (container: List of breakpoints)[]
Traceback (most recent call last):
  File "/home/user/angr-management/angrmanagement/data/object_container.py", line 32, in am_event
    listener(**kwargs)
  File "/home/user/angr-management/angrmanagement/ui/views/disassembly_view.py", line 881, in _on_breakpoints_updated
    self.refresh()
  File "/home/user/angr-management/angrmanagement/ui/views/disassembly_view.py", line 161, in refresh
    self._current_view.refresh()
  File "/home/user/angr-management/angrmanagement/ui/widgets/qdisasm_graph.py", line 205, in refresh
    b.refresh()
  File "/home/user/angr-management/angrmanagement/ui/widgets/qblock.py", line 118, in refresh
    obj.refresh()
  File "/home/user/angr-management/angrmanagement/ui/widgets/qinstruction.py", line 132, in refresh
    operand.refresh()
  File "/home/user/angr-management/angrmanagement/ui/widgets/qoperand.py", line 161, in refresh
    self._init_widgets()
  File "/home/user/angr-management/angrmanagement/ui/widgets/qoperand.py", line 284, in _init_widgets
    variable, offset = self._pick_variable(variable_and_offsets)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/angr-management/angrmanagement/ui/widgets/qoperand.py", line 444, in _pick_variable
    arch = self.instance.project.arch
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/angr-management/angrmanagement/data/object_container.py", line 80, in __getattr__
    return getattr(self._am_obj, item)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'arch'

Steps to reproduce the bug

  1. Open a binary
  2. Open a different binary

Environment

angr-management @ 750ac6cca697f1ced8c27c351211f132cd440d11

Additional context

No response

twizmwazin commented 1 year ago

Related: #787