Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upAll Terminal methods leak memory on Windows #63
Comments
This comment has been minimized.
This comment has been minimized.
|
If @retep998 doesn't beat me to it, I'll get around to fixing this after labor day (thesis deadline). |
This comment has been minimized.
This comment has been minimized.
TheNain38
commented
Jul 15, 2017
|
Is there any news about this? |
This comment has been minimized.
This comment has been minimized.
|
Other than it completely fell off my radar? No, sorry. I'll try to fix it tomorrow. If I don't fix it in a few days, please bug me. |
This comment has been minimized.
This comment has been minimized.
Ralith
commented
Jul 19, 2017
|
Any updates on this? I'm seeing some weird behavior on windows, and it'd be nice to eliminate this as the cause. |
This comment has been minimized.
This comment has been minimized.
Ralith
commented
Sep 5, 2017
•
|
bugging intensifies edit: For the record, the weird behavior turned out to be caused by unrelated buffering errors, but this amount of leakage still makes me uncomfortable. |
This comment has been minimized.
This comment has been minimized.
|
I'm unlikely to get around to fixing this any time soon as I don't have access to a windows machine and debugging with wine is a real pain. If anyone has a Windows machine, I'd be happy to review a patch. |
This comment has been minimized.
This comment has been minimized.
|
I'm not familiar with Windows debugging tools, so I had a really "fun" time reproing this on Windows 10. I wasn't able to get UMDH to work, so I followed https://blogs.technet.microsoft.com/yongrhee/2011/12/19/how-to-troubleshoot-a-handle-leak/ . Condensed steps I took, not all of which I'm sure are necessary:
I have a local patch that creates a wrapper struct that calls |
draivin commentedSep 3, 2016
•
edited
All
WinConsolemethods start by callingconout, which in turn callskernel32::CreateFileA, this creates a new file handle that is not destroyed.I've solved this locally by wrapping the handle in a struct that calls
kernel32::CloseHandleon drop.UMDH log:
Tagging @retep998.