qiling icon indicating copy to clipboard operation
qiling copied to clipboard

Syscall ERROR: ql_syscall_getpeername DEBUG: 'PersistentQlFile' object has no attribute 'getpeername'

Open AndreiAvadanei opened this issue 1 year ago • 1 comments

*Describe the bug I receive the following error and it is not clear how to address.

[x] [Thread 2002]       Syscall ERROR: ql_syscall_getpeername DEBUG: 'PersistentQlFile' object has no attribute 'getpeername'
Traceback (most recent call last):
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/os/posix/posix.py", line 374, in load_syscall
    retval = syscall_hook(self.ql, *params)
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/os/posix/syscall/socket.py", line 521, in ql_syscall_getpeername
    peername = sock.getpeername()
AttributeError: 'PersistentQlFile' object has no attribute 'getpeername'
Traceback (most recent call last):
  File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/os/linux/thread.py", line 242, in _run
    self.ql.emu_start(start_address, self.exit_point, count=31337)
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/core.py", line 775, in emu_start
    raise self.internal_exception
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/core_hooks.py", line 127, in wrapper
    return callback(*args, **kwargs)
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/core_hooks.py", line 170, in _hook_intr_cb
    ret = hook.call(ql, intno)
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/core_hooks_types.py", line 25, in call
    return self.callback(ql, *args)
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/os/linux/linux.py", line 138, in hook_syscall
    return self.load_syscall()
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/os/posix/posix.py", line 392, in load_syscall
    raise e
  File "/home/parallels/.pyenv/versions/3.9.5/lib/python3.9/site-packages/qiling/os/posix/posix.py", line 374, in load_syscall
    retval = syscall_hook(self.ql, *params)

AndreiAvadanei avatar Sep 16 '23 12:09 AndreiAvadanei

I guess the code you emulate tries to rediret stdout or stderr through a socket, but doesn't close them first. If you can attach a detailed log, that would be great.

elicn avatar Sep 21 '23 07:09 elicn