qark
qark copied to clipboard
RuntimeError: maximum recursion depth exceeded in __instancecheck__
After decompiling, "Running scans" immediatly failed with maximum recursion depth. :
Traceback (most recent call last):
File "/usr/local/bin/qark", line 8, in <module>
sys.exit(cli())
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/qark/qark.py", line 90, in cli
scanner.run()
File "/usr/local/lib/python2.7/site-packages/qark/scanner/scanner.py", line 64, in run
self._run_checks(plugins)
File "/usr/local/lib/python2.7/site-packages/qark/scanner/scanner.py", line 78, in _run_checks
current_file_subject.notify(filepath)
File "/usr/local/lib/python2.7/site-packages/qark/scanner/scanner.py", line 125, in notify
observer.update(file_path, call_run=True)
File "/usr/local/lib/python2.7/site-packages/qark/scanner/plugin.py", line 239, in update
super(CoroutinePlugin, self).update(file_path)
File "/usr/local/lib/python2.7/site-packages/qark/scanner/plugin.py", line 185, in update
JavaASTPlugin.java_ast = javalang.parse.parse(self.file_contents)
File "/usr/local/lib/python2.7/site-packages/javalang/parse.py", line 53, in parse
return parser.parse()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 110, in parse
return self.parse_compilation_unit()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 302, in parse_compilation_unit
type_declaration = self.parse_type_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 347, in parse_type_declaration
return self.parse_class_or_interface_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 356, in parse_class_or_interface_declaration
type_declaration = self.parse_normal_class_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 394, in parse_normal_class_declaration
body = self.parse_class_body()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 768, in parse_class_body
declaration = self.parse_class_body_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 791, in parse_class_body_declaration
return self.parse_member_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 801, in parse_member_declaration
member = self.parse_void_method_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 905, in parse_void_method_declarator_rest
body = self.parse_block()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1274, in parse_block
statement = self.parse_block_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1349, in parse_block_statement
return self.parse_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1520, in parse_statement
expression = self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1849, in parse_expression_3
primary = self.parse_primary()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1975, in parse_primary
identifier_suffix = self.parse_identifier_suffix()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2163, in parse_identifier_suffix
arguments = self.parse_arguments()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2025, in parse_arguments
expression = self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1842, in parse_expression_3
expression = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1849, in parse_expression_3
primary = self.parse_primary()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1933, in parse_primary
return self.parse_par_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2010, in parse_par_expression
expression = self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1849, in parse_expression_3
primary = self.parse_primary()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1951, in parse_primary
return self.parse_creator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2099, in parse_creator
arguments, body = self.parse_class_creator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2130, in parse_class_creator_rest
class_body = self.parse_class_body()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 768, in parse_class_body
declaration = self.parse_class_body_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 791, in parse_class_body_declaration
return self.parse_member_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 825, in parse_member_declaration
member = self.parse_method_or_field_declaraction()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 839, in parse_method_or_field_declaraction
member = self.parse_method_or_field_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 857, in parse_method_or_field_rest
return self.parse_method_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 886, in parse_method_declarator_rest
body = self.parse_block()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1274, in parse_block
statement = self.parse_block_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1345, in parse_block_statement
statement = self.parse_local_variable_declaration_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1355, in parse_local_variable_declaration_statement
declarators = self.parse_variable_declarators()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1207, in parse_variable_declarators
declarator = self.parse_variable_declarator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1218, in parse_variable_declarator
array_dimension, initializer = self.parse_variable_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1230, in parse_variable_declarator_rest
initializer = self.parse_variable_initializer()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1239, in parse_variable_initializer
return self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1849, in parse_expression_3
primary = self.parse_primary()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1951, in parse_primary
return self.parse_creator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2099, in parse_creator
arguments, body = self.parse_class_creator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2130, in parse_class_creator_rest
class_body = self.parse_class_body()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 768, in parse_class_body
declaration = self.parse_class_body_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 791, in parse_class_body_declaration
return self.parse_member_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 825, in parse_member_declaration
member = self.parse_method_or_field_declaraction()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 839, in parse_method_or_field_declaraction
member = self.parse_method_or_field_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 857, in parse_method_or_field_rest
return self.parse_method_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 886, in parse_method_declarator_rest
body = self.parse_block()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1274, in parse_block
statement = self.parse_block_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1345, in parse_block_statement
statement = self.parse_local_variable_declaration_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1355, in parse_local_variable_declaration_statement
declarators = self.parse_variable_declarators()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1207, in parse_variable_declarators
declarator = self.parse_variable_declarator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1218, in parse_variable_declarator
array_dimension, initializer = self.parse_variable_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1230, in parse_variable_declarator_rest
initializer = self.parse_variable_initializer()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1239, in parse_variable_initializer
return self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1849, in parse_expression_3
primary = self.parse_primary()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1951, in parse_primary
return self.parse_creator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2099, in parse_creator
arguments, body = self.parse_class_creator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2130, in parse_class_creator_rest
class_body = self.parse_class_body()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 768, in parse_class_body
declaration = self.parse_class_body_declaration()
...
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 791, in parse_class_body_declaration
return self.parse_member_declaration()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 825, in parse_member_declaration
member = self.parse_method_or_field_declaraction()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 839, in parse_method_or_field_declaraction
member = self.parse_method_or_field_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 857, in parse_method_or_field_rest
return self.parse_method_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 886, in parse_method_declarator_rest
body = self.parse_block()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1274, in parse_block
statement = self.parse_block_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1345, in parse_block_statement
statement = self.parse_local_variable_declaration_statement()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1355, in parse_local_variable_declaration_statement
declarators = self.parse_variable_declarators()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1207, in parse_variable_declarators
declarator = self.parse_variable_declarator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1218, in parse_variable_declarator
array_dimension, initializer = self.parse_variable_declarator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1230, in parse_variable_declarator_rest
initializer = self.parse_variable_initializer()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1239, in parse_variable_initializer
return self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1849, in parse_expression_3
primary = self.parse_primary()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1951, in parse_primary
return self.parse_creator()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2099, in parse_creator
arguments, body = self.parse_class_creator_rest()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2126, in parse_class_creator_rest
arguments = self.parse_arguments()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 2025, in parse_arguments
expression = self.parse_expression()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1752, in parse_expression
expressionl = self.parse_expressionl()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1767, in parse_expressionl
expression_2 = self.parse_expression_2()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1793, in parse_expression_2
expression_3 = self.parse_expression_3()
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 1829, in parse_expression_3
if self.would_accept('('):
File "/usr/local/lib/python2.7/site-packages/javalang/parser.py", line 146, in would_accept
if isinstance(accept, six.string_types) and (
RuntimeError: maximum recursion depth exceeded in __instancecheck__
Also during decompilation, there is this stack over flow error that keeps popping up:
Method create (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; couldn't be written.
java.lang.StackOverflowError
at java.io.PrintStream.write(PrintStream.java:526)
at java.io.PrintStream.print(PrintStream.java:669)
at java.io.PrintStream.println(PrintStream.java:806)
at org.jetbrains.java.decompiler.main.decompiler.PrintStreamLogger.writeMessage(PrintStreamLogger.java:22)
at org.jetbrains.java.decompiler.main.decompiler.PrintStreamLogger.writeMessage(PrintStreamLogger.java:29)
at org.jetbrains.java.decompiler.main.ClassWriter.methodToJava(ClassWriter.java:829)
at org.jetbrains.java.decompiler.main.ClassWriter.classToJava(ClassWriter.java:213)
at org.jetbrains.java.decompiler.modules.decompiler.exps.NewExprent.toJava(NewExprent.java:230)
at org.jetbrains.java.decompiler.modules.decompiler.exps.AssignmentExprent.toJava(AssignmentExprent.java:133)
at org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor.listToJava(ExprProcessor.java:809)
at org.jetbrains.java.decompiler.modules.decompiler.stats.BasicBlockStatement.toJava(BasicBlockStatement.java:59)
at org.jetbrains.java.decompiler.modules.decompiler.stats.RootStatement.toJava(RootStatement.java:23)
at org.jetbrains.java.decompiler.main.ClassWriter.methodToJava(ClassWriter.java:818)
at org.jetbrains.java.decompiler.main.ClassWriter.classToJava(ClassWriter.java:213)
at org.jetbrains.java.decompiler.modules.decompiler.exps.NewExprent.toJava(NewExprent.java:230)
at org.jetbrains.java.decompiler.modules.decompiler.exps.AssignmentExprent.toJava(AssignmentExprent.java:133)
at org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor.listToJava(ExprProcessor.java:809)
at org.jetbrains.java.decompiler.modules.decompiler.stats.BasicBlockStatement.toJava(BasicBlockStatement.java:59)
at org.jetbrains.java.decompiler.modules.decompiler.stats.RootStatement.toJava(RootStatement.java:23)
at org.jetbrains.java.decompiler.main.ClassWriter.methodToJava(ClassWriter.java:818)
at org.jetbrains.java.decompiler.main.ClassWriter.classToJava(ClassWriter.java:213)
....
Facing same issue. Any solution to this?
Any updates on this? Also facing same issue.