I was performing some osquery and i got the the exception
import osquery
inst = osquery.SpawnInstance("C:\\ProgramData\\osquery\\osqueryi.exe")
inst.open()
cursor = inst.client
cursor.query("select name, version from programs;")
Traceback (most recent call last):
File "app.py", line 8, in <module>
cursor.query("select name, version from programs;")
File "C:\Users\malware-test\Anaconda3\lib\site-packages\osquery\extensions\ExtensionManager.py", line 181, in query
self.send_query(sql)
File "C:\Users\malware-test\Anaconda3\lib\site-packages\osquery\extensions\ExtensionManager.py", line 190, in send_query
self._oprot.trans.flush()
File "C:\Users\malware-test\Anaconda3\lib\site-packages\thrift\transport\TTransport.py", line 177, in flush
self.__trans.write(out)
File "C:\Users\malware-test\Anaconda3\lib\site-packages\osquery\TPipe.py", line 128, in write
message='Called read on non-open pipe')
thrift.transport.TTransport.TTransportException: Called read on non-open pipe
The error got resolved after installing Apache thrift and its python module