qiling
qiling copied to clipboard
Syscall ERROR: ql_syscall_getpeername DEBUG: 'PersistentQlFile' object has no attribute 'getpeername'
*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)
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.