Skip to content

[[email protected]:189] TypeError: unhashable type: 'dict'  #426

Closed
@bugfinder-bot

Description

What happened?

  File "/opt/dewolf/decompiler/util/bugfinder/bugfinder.py", line 201, in iter_function_reports
    task, code = self.decompile(function, task_options=options)
  File "/opt/dewolf/decompile.py", line 80, in decompile
    result = self.decompile_all([function_id], task_options)
  File "/opt/dewolf/decompile.py", line 65, in decompile_all
    pipeline.run(task)
  File "/opt/dewolf/decompiler/pipeline/pipeline.py", line 114, in run
    raise e
  File "/opt/dewolf/decompiler/pipeline/pipeline.py", line 107, in run
    instance.run(task)
  File "/opt/dewolf/decompiler/pipeline/dataflowanalysis/common_subexpression_elimination.py", line 317, in run
    ExistingSubexpressionReplacer(task.graph, task.graph.dominator_tree).replace(task.graph.root)
  File "/opt/dewolf/decompiler/pipeline/dataflowanalysis/common_subexpression_elimination.py", line 125, in replace
    new_keys_list.append(self._replacements_for(current_node))
  File "/opt/dewolf/decompiler/pipeline/dataflowanalysis/common_subexpression_elimination.py", line 140, in _replacements_for
    sorted_subexpressions = sorted({expr for expr in _subexpression_dfs(instruction)}, key=lambda x: x.complexity)
  File "/opt/dewolf/decompiler/pipeline/dataflowanalysis/common_subexpression_elimination.py", line 140, in <setcomp>
    sorted_subexpressions = sorted({expr for expr in _subexpression_dfs(instruction)}, key=lambda x: x.complexity)
  File "/opt/dewolf/decompiler/structures/pseudo/expressions.py", line 575, in __hash__
    return super().__hash__()
  File "/opt/dewolf/decompiler/structures/pseudo/expressions.py", line 189, in __hash__
    return hash((tuple(self.value) if isinstance(self.value, list) else self.value, self._type, self._pointee))
  File "/opt/dewolf/decompiler/structures/pseudo/expressions.py", line 189, in __hash__
    return hash((tuple(self.value) if isinstance(self.value, list) else self.value, self._type, self._pointee))

Error class [email protected]:189 contains 361 cases.

How to reproduce?

python decompile.py e64e89a99a6a74aca85c9813ca5ee98179c222eb31bbee0d558dbd2df1e1197a sub_404aa0 --debug

sample: e64e89a99a6a74aca85c9813ca5ee98179c222eb31bbee0d558dbd2df1e1197a
case: https://bugfinder.seclab-bonn.de/case/58176/
dewolf commit: 3ed0094
Binaryninja version: 3.5.4526

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions