eset / ipyida

IPython console integration for IDA Pro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Old connections are not closed, when IPython Console window is closed

galli-leo opened this issue · comments

The connections from the console window to the kernel are not closed when the IDA window is closed. This can lead to IDA crashing once the console is closed and opened enough times, since there are too many files open.

Relatively easy to fix, just need change OnClose in ida_qtconsole.py to this:

    def OnClose(self, form):
        try:
            self.kernel_client.stop_channels() # this is changed from pass
        except:
            import traceback
            print(traceback.format_exc())

Thanks for reporting. I took your change as-is since it fixes the issue without any side effects.

I was under the impression closing the window would only hide it and that OnCreate was only called once. I was wrong. I wonder if there's anything in kernel_manager I should also be stopping... But I couldn't find anything explicit in the doc so I'll leave it like that.

Cheers!