source: debug-testing/gli-ctrlC-issue/README.txt

Last change on this file was 31737, checked in by ak19, 7 years ago

Adding a README briefly describing the Ctrl-C issue and the state of the debugging version of the code.

File size: 1.9 KB
Line 
1Bug/Issue description: Ctrl-C issue with GLI on Windows
2
3Only on Windows: when you run GLI from the DOS prompt, Ctrl-C doesn't terminate GLI, whereas it would other Java applications (graphical or otherwise).
4Pressing Ctrl-C when GLI is open has no effect, until you exit GLI normally. Then the DOS prompt finally notices that you had pressed Ctrl-C.
5On Linux, and as should also happen in Windows as it does in other Java applications, a Ctrl-C should result in application terminating, with the shutdown hook being called first. Noticed this issue when testing the newly added ShutDownHook in Gatherer.java.
6
7The problem has been tracked down to adding the Tabbed panes to GLI. In particular, Download, Gatherer, Enrich and Create panes are problematic. When these panes are not added to the Tabbed Pane, Ctrl-C works to immediately end GLI on Windows, rather than the Ctrl-C signal only being noticed after you quit GLI the normal way.
8
9When inspecting the Download Pane's issue, the problem is tracked down to adding any GUI controls (like testfields) into the pane. Even adding a single simple textfield is enough to make Ctrl-C stop working properly.
10
11This debugging version of the code is now in the state where problematic panes are not added except for the Download pane. DownloadPane.java was further inspected, and the problem with it tracked down to doing an add() on its JPanel to add GUI controls on it. Adding even a single control makes the difference between Ctrl-C being immediately effective and not working immediately anymore.
12
13After investigating further, DownloadPane.java is currently in the state where we don't run a perl process to work out what Download methods (Web, OAI, etc) we have, and this is back to being hardcoded in Java, in order to test that running an external Process is not what's "capturing" and "holding on" to the Ctrl-C signal until GLI exits.
14
15GLI code is approximately at revision 31733.
Note: See TracBrowser for help on using the repository browser.