angr / angr-management

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

Exception when click-dragging through feature map #1155

Open mborgerson opened 6 months ago

mborgerson commented 6 months ago

Description

ERROR    | 2024-01-08 19:20:32,810 | angrmanagement.data.object_container | Error raised from event of (container: The current address of the Feature Map.)4364600
Traceback (most recent call last):
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/data/object_container.py", line 32, in am_event
    listener(**kwargs)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/toolbars/feature_map_toolbar.py", line 44, in _on_feature_map_addr_selected
    target_view.jump_to(addr)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/views/disassembly_view.py", line 729, in jump_to
    self._jump_to(addr, use_animation=use_animation)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/views/disassembly_view.py", line 947, in _jump_to
    self._display_function(function)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/views/disassembly_view.py", line 924, in _display_function
    self._flow_graph.function_graph = (
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qdisasm_graph.py", line 100, in function_graph
    self.reload()
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qdisasm_graph.py", line 121, in reload
    self._minimap.reload_target_scene()
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qminimap.py", line 192, in reload_target_scene
    self._minimap_target_scene_viewer.set_scene_rect(scaled_scene_rect)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qminimap.py", line 85, in set_scene_rect
    self.update_scene_drawing()
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qminimap.py", line 106, in update_scene_drawing
    self._view.set_extra_render_pass(False)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qdisasm_graph.py", line 219, in set_extra_render_pass
    b.restore_temporarily_hidden_objects()
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qblock.py", line 330, in restore_temporarily_hidden_objects
    self._set_block_objects_visibility(not self._objects_are_hidden)
  File "/home/matt/work/angr/angr-dev/angr-management/angrmanagement/ui/widgets/qblock.py", line 325, in _set_block_objects_visibility
    obj.setVisible(visible)
RuntimeError: Internal C++ object (QBlockLabel) already deleted.

Breaks disasm view

Steps to reproduce the bug

  1. Run angr-management /bin/gcc, perform default analysis
  2. When ready, click-and-drag through feature map

Environment

No response

Additional context

No response