AttributeError: 'NotImplementedType' object has no attribute 'annotations when decompiling function
- Lingua principale
- Python
- Stelle
- 9.1k
- Fork
- 1.2k
- Merge medio
- 16h 20m
- PR unite (30g)
- 169
Descrizione
### Description
```python
Traceback (most recent call last):
File "test.py", line 17, in
p.analyses.Decompiler(func, cfg=cfg)
File "/home/[redacted]/angr/analyses/analysis.py", line 216, in __call__
r = w(*args, **kwargs)
File "/home/[redacted]/angr/analyses/analysis.py", line 201, in wrapper
oself.__init__(*args, **kwargs)
File "/home/[redacted]/angr/analyses/decompiler/decompiler.py", line 97, in __init__
self._decompile()
File "/home/[redacted]/angr/analyses/decompiler/decompiler.py", line 158, in _decompile
clinic = self.project.analyses.Clinic(
File "/home/[redacted]/angr/analyses/analysis.py", line 216, in __call__
r = w(*args, **kwargs)
File "/home/[redacted]/angr/analyses/analysis.py", line 201, in wrapper
oself.__init__(*args, **kwargs)
File "/home/[redacted]/angr/analyses/decompiler/clinic.py", line 142, in __init__
self._analyze_for_decompiling()
File "/home/[redacted]/angr/analyses/decompiler/clinic.py", line 245, in _analyze_for_decompiling
self._simplify_function(
File "/home/[redacted]/angr/utils/timing.py", line 43, in timed_func
return func(*args, **kwargs)
File "/home/[redacted]/angr/analyses/decompiler/clinic.py", line 850, in _simplify_function
simplified = self._simplify_function_once(
File "/home/[redacted]/angr/utils/timing.py", line 43, in timed_func
return func(*args, **kwargs)
File "/home/[redacted]/angr/analyses/decompiler/clinic.py", line 880, in _simplify_function_once
simp = self.project.analyses.AILSimplifier(
File "/home/[redacted]/angr/analyses/analysis.py", line 216, in __call__
r = w(*args, **kwargs)
File "/home/[redacted]/angr/analyses/analysis.py", line 201, in wrapper
oself.__init__(*args, **kwargs)
File "/home/[redacted]/angr/analyses/decompiler/ail_simplifier.py", line 104, in __init__
self._simplify()
File "/home/[redacted]/angr/analyses/decompiler/ail_simplifier.py", line 117, in _simplify
folded_exprs = self._fold_exprs()
File "/home/[redacted]/angr/analyses/decompiler/ail_simplifier.py", line 538, in _fold_exprs
propagator = self._compute_propagation(immediate_stmt_removal=True)
File "/home/[redacted]/angr/analyses/decompiler/ail_simplifier.py", line 198, in _compute_propagation
reaching_definitions=self._compute_reaching_definitions(),
File "/home/[redacted]/angr/analyses/decompiler/ail_simplifier.py", line 178, in _compute_reaching_definitions
rd = self.project.analyses.ReachingDefinitions(
File "/home/[redacted]/angr/analyses/analysis.py", line 216, in __call__
r = w(*args, **kwargs)
File "/home/[redacted]/angr/analyses/analysis.py", line 201, in wrapper
oself.__init__(*args, **kwargs)
File "/home/[redacted]/angr/analyses/reaching_definitions/reaching_definitions.py", line 202, in __init__
self._analyze()
File "/home/[redacted]/angr/analyses/forward_analysis/forward_analysis.py", line 252, in _analyze
self._analysis_core_graph()
File "/home/[redacted]/angr/analyses/forward_analysis/forward_analysis.py", line 269, in _analysis_core_graph
changed, output_state = self._run_on_node(n, job_state)
File "/home/[redacted]/angr/analyses/reaching_definitions/reaching_definitions.py", line 524, in _run_on_node
state = engine.process(
File "/home/[redacted]/angr/analyses/reaching_definitions/engine_ail.py", line 85, in process
self._process(
File "/home/[redacted]/angr/engines/light/engine.py", line 807, in _process
self._process_Stmt(whitelist=whitelist)
File "/home/[redacted]/angr/analyses/reaching_definitions/engine_ail.py", line 119, in _process_Stmt
super()._process_Stmt(whitelist=whitelist)
File "/home/[redacted]/angr/engines/light/engine.py", line 823, in _process_Stmt
self._handle_Stmt(stmt)
File "/home/[redacted]/angr/analyses/reaching_definitions/engine_ail.py", line 130, in _handle_Stmt
handler(stmt)
File "/home/[redacted]/angr/analyses/reaching_definitions/engine_ail.py", line 160, in _ail_handle_Assignment
self.state.kill_and_add_definition(Tmp(dst.tmp_idx, dst.size), src)
File "/home/[redacted]/angr/analyses/reaching_definitions/rd_state.py", line 356, in kill_and_add_definition
mv = self.live_definitions.kill_and_add_definition(
File "/home/[redacted]/angr/knowledge_plugins/key_definitions/live_definitions.py", line 529, in kill_and_add_definition
d.add_value(offset, self.annotate_with_def(v, definition))
File "/home/[redacted]/angr/knowledge_plugins/key_definitions/live_definitions.py", line 360, in annotate_with_def
for anno in symvar.annotations:
AttributeError: 'NotImplementedType' object has no attribute 'annotations'
```
### Steps to reproduce the bug
```python
import angr
p = angr.Project("uptime_O3.o", load_options={"auto_load_libs": False, 'main_opts': {'base_addr': 0x0}})
cfg = p.analyses.CFGFast(data_references=True, normalize=True)
p.analyses[angr.analyses.CompleteCallingConventionsAnalysis].prep()(recover_variables=True)
func = p.kb.functions[0xcd0]
p.analyses.Decompiler(func, cfg=cfg)
```
### Environment
```bash
$ python3 -m angr.misc.bug_report
angr environment report
=============================
Date: 2024-02-08 17:23:05.970696
Running in virtual environment at /home/[redacted]/angr
/home/[redacted]/angr/lib/python3.10/site-packages/angr/misc/bug_report.py:88: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources # pylint:disable=import-outside-toplevel
Platform: linux-x86_64
Python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
######## angr #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/angr/__init__.py
Pip version angr 9.2.89
Couldn't find git info
######## ailment #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/ailment/__init__.py
Pip version ailment 9.2.89
Couldn't find git info
######## cle #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/cle/__init__.py
Pip version cle 9.2.89
Couldn't find git info
######## pyvex #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/pyvex/__init__.py
Pip version pyvex 9.2.89
Couldn't find git info
######## claripy #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/claripy/__init__.py
Pip version claripy 9.2.89
Couldn't find git info
######## archinfo #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/archinfo/__init__.py
Pip version archinfo 9.2.89
Couldn't find git info
######## z3 #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/z3/__init__.py
Pip version z3-solver 4.10.2.0
Couldn't find git info
######## unicorn #########
Python found it in /home/[redacted]/angr/lib/python3.10/site-packages/unicorn/__init__.py
Pip version unicorn 2.0.1.post1
Couldn't find git info
######### Native Module Info ##########
angr:
unicorn:
pyvex: .FFILibrary object at 0x7f8cbfde6920>
z3:
```
### Additional context
[uptime_O3.zip](https://github.com/angr/angr/files/14215923/uptime_O3.zip)
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.