From: SourceForge.net <no...@so...> - 2009-02-27 22:53:33
|
Bugs item #2645457, was opened at 2009-02-27 14:15 Message generated for change (Comment added) made by patthoyts You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2645457&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 48. Geometry Management Group: current: 8.5.6 Status: Open Resolution: None Priority: 8 Private: No Submitted By: Pat Thoyts (patthoyts) Assigned to: Chengye Mao (chengyemao) Summary: Crash closing application during geometry management Initial Comment: This has been originally raised as a gitk crash bug. On startup gitk creates a bunch of windows, waits for the main window to become visible and then launches a subprocess on a pipe to query git information. If the user closes the application while gitk is still reading this subprocess then the application will crash. I have reproduced this on Windows using tcl/tk 8.5.6. The crash is always in TkWmMapWindow and in a debug build the wmPtr pointer is marked up with 0xdddddddd which means it has been freed already. Tk_MapWindow has a check for wmPtr->window == None but wmPtr itself is invalid here. I believe this is some kind of race between Tk deletion and the map window code that is shown up here because the application is busy reading from this pipe. ---------------------------------------------------------------------- >Comment By: Pat Thoyts (patthoyts) Date: 2009-02-27 22:53 Message: The fault occurs in the Tk_MapWindow function in generic/tkWindow.c. In this code we call Tk_MakeWindowExist() which can return with the window destroyed as it permits some events to be processed and this can lead to destruction of the window. If this occurs then the flag TK_ALREADY_DEAD has been set and we can test for that and short-circuit the function. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2645457&group_id=12997 |