When I open a binary with the same binary already open, I notice an uncaught exception in the logs. The binary is /bin/true from Fedora 36 Server.
Steps to reproduce the bug
Invoke angr-management
Command-O; select /bin/true copied from a linux distro
Enter, Enter (finish opening the binary)
Command-O; select /bin/true copied from a linux distro
Enter, Enter (finish opening the binary)
Environment
pip install angr-management in a clean virtualenv on Tuesday Nov 8th at 10:00 pm
M1 mac
Additional context
(angr-management-pip) zwimer@Lotus ~/D/W/angr-management> angr-management master
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
WARNING | 2022-11-08 23:10:18,549 | cle.loader | The main binary is a position-independent executable. It is being loaded with a base address of 0x400000.
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
WARNING | 2022-11-08 23:10:19,133 | cle.backends.externs | Symbol was allocated without a known size; emulation may fail if it is used non-opaquely: program_invocation_name
WARNING | 2022-11-08 23:10:19,133 | cle.backends.externs | Symbol was allocated without a known size; emulation may fail if it is used non-opaquely: program_invocation_short_name
WARNING | 2022-11-08 23:10:19,133 | cle.loader | The main binary is a position-independent executable. It is being loaded with a base address of 0x400000.
WARNING | 2022-11-08 23:10:19,134 | cle.loader | For more information about "Symbol was allocated without a known size", see https://docs.angr.io/extending-angr/environment#simdata
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
WARNING | 2022-11-08 23:10:19,980 | angrmanagement.data.jobs.flirt_signature_recognition | No FLIRT signatures exist for architecture AMD64.
ERROR | 2022-11-08 23:10:22,344 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:22,345 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:22,346 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:22,346 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:22,347 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:22,347 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
WARNING | 2022-11-08 23:10:22,588 | angr.analyses.reaching_definitions.function_handler | No handler for external function __libc_start_main(), falling back to generic handler
WARNING | 2022-11-08 23:10:23,007 | angr.analyses.reaching_definitions.function_handler | Please implement the indirect function handler with your own logic.
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
WARNING | 2022-11-08 23:10:25,614 | cle.loader | The main binary is a position-independent executable. It is being loaded with a base address of 0x400000.
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
WARNING | 2022-11-08 23:10:26,085 | cle.backends.externs | Symbol was allocated without a known size; emulation may fail if it is used non-opaquely: program_invocation_name
WARNING | 2022-11-08 23:10:26,085 | cle.backends.externs | Symbol was allocated without a known size; emulation may fail if it is used non-opaquely: program_invocation_short_name
WARNING | 2022-11-08 23:10:26,085 | cle.loader | The main binary is a position-independent executable. It is being loaded with a base address of 0x400000.
WARNING | 2022-11-08 23:10:26,086 | cle.loader | For more information about "Symbol was allocated without a known size", see https://docs.angr.io/extending-angr/environment#simdata
ERROR | 2022-11-08 23:10:26,097 | angrmanagement.data.object_container | Error raised from event of (container: List of breakpoints)[]
Traceback (most recent call last):
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/data/object_container.py", line 26, in am_event
listener(**kwargs)
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/views/disassembly_view.py", line 802, in <lambda>
self.instance.breakpoint_mgr.breakpoints.am_subscribe(lambda **kwargs: self.refresh())
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/views/disassembly_view.py", line 119, in refresh
self.current_graph.refresh()
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/widgets/qdisasm_graph.py", line 176, in refresh
b.refresh()
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/widgets/qblock.py", line 105, in refresh
obj.refresh()
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/widgets/qinstruction.py", line 118, in refresh
operand.refresh()
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/widgets/qoperand.py", line 144, in refresh
self._init_widgets()
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/widgets/qoperand.py", line 269, in _init_widgets
variable, offset = self._pick_variable(variable_and_offsets)
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/ui/widgets/qoperand.py", line 423, in _pick_variable
arch = self.instance.project.arch
File "/Users/zwimer/.virtualenvs/angr-management-pip/lib/python3.10/site-packages/angrmanagement/data/object_container.py", line 63, in __getattr__
return getattr(self._am_obj, item)
AttributeError: 'NoneType' object has no attribute 'arch'
qt.qpa.drawing: Layer-backing is always enabled. QT_MAC_WANTS_LAYER/_q_mac_wantsLayer has no effect.
WARNING | 2022-11-08 23:10:27,115 | angrmanagement.data.jobs.flirt_signature_recognition | No FLIRT signatures exist for architecture AMD64.
qt.pointer.dispatch: skipping QEventPoint(id=2 ts=0 pos=0,0 scn=1024.53,623.836 gbl=1024.53,623.836 Released ellipse=(1x1 ∡ 0) vel=0,0 press=-1024.53,-623.836 last=-1024.53,-623.836 Δ 1024.53,623.836) : no target window
qt.pointer.dispatch: skipping QEventPoint(id=3 ts=0 pos=0,0 scn=1085.01,675.315 gbl=1085.01,675.315 Released ellipse=(1x1 ∡ 0) vel=0,0 press=-1085.01,-675.315 last=-1085.01,-675.315 Δ 1085.01,675.315) : no target window
qt.pointer.dispatch: skipping QEventPoint(id=1 ts=0 pos=0,0 scn=1032,631.033 gbl=1032,631.033 Released ellipse=(1x1 ∡ 0) vel=0,0 press=-1032,-631.033 last=-1032,-631.033 Δ 1032,631.033) : no target window
ERROR | 2022-11-08 23:10:29,497 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:29,498 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:29,499 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:29,500 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:29,500 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
ERROR | 2022-11-08 23:10:29,501 | angr.analyses.variable_recovery.engine_vex.SimEngineVRVEX | Unsupported Binop Iop_InterleaveLO64x2.
WARNING | 2022-11-08 23:10:29,605 | angr.analyses.reaching_definitions.function_handler | No handler for external function __libc_start_main(), falling back to generic handler
WARNING | 2022-11-08 23:10:29,999 | angr.analyses.reaching_definitions.function_handler | Please implement the indirect function handler with your own logic.
^C
Description
When I open a binary with the same binary already open, I notice an uncaught exception in the logs. The binary is
/bin/true
fromFedora 36 Server
.Steps to reproduce the bug
angr-management
/bin/true
copied from a linux distro/bin/true
copied from a linux distroEnvironment
pip install angr-management
in a clean virtualenv on Tuesday Nov 8th at 10:00 pmM1 mac
Additional context