#386: --status is very slow ---------------------------+------------------------------------------------ Reporter: eschnett | Owner: eric9 Type: defect | Status: new Priority: major | Milestone: Component: GetComponents | Version: Keywords: | ---------------------------+------------------------------------------------ I find that GetComponents --status is very slow. In particular, it is much slower than --update, which is strange. In fact, I have never seen a --status command actually finish -- maybe it gets stuck?
Here is output from an almost-vanilla ET checkout after about an hour of inactivity:
$ ./bin/GetComponents --status --root=. manifest/einsteintoolkit.th 2>&1 | tee STATUSIn ./.:? TEST? log? exe ? STATUS ? cactus.config ? redshift__1_1.log ? RUNS ? configs ? redshift__2_1.log ? repos ? redshift__2_2.log ? README ? einsteintoolkit.th ? .crl ? cactusjar.git ? .gitignore ? doc/KrancDoc.tex ? doc/Makefile ? arrangements/CactusExternal In ./simfactory: ? simfactory/udb.pm M simfactory/cdb.pm In ./arrangements/CactusUtils/TimerReport: M arrangements/CactusUtils/TimerReport/src/Output.c In ./arrangements/EinsteinAnalysis/WeylScal4: ? arrangements/EinsteinAnalysis/WeylScal4/m/WeylScal4 ? arrangements/EinsteinAnalysis/WeylScal4/m/WeylScal4.out
#386: --status is very slow ----------------------------+----------------------------------------------- Reporter: eschnett | Owner: eric9 Type: defect | Status: accepted Priority: major | Milestone: Component: GetComponents | Version: Resolution: | Keywords: ----------------------------+----------------------------------------------- Changes (by eric9):
* status: new => accepted
Comment:
Did you modify the thornlist at all? I'm unable to reproduce the issue after waiting about a day for changes to accumulate (although none actually have...). Could you also try running the command with --verbose to see if it gives you anything else?
#386: --status is very slow ----------------------------+----------------------------------------------- Reporter: eschnett | Owner: eric9 Type: defect | Status: accepted Priority: major | Milestone: Component: GetComponents | Version: Resolution: | Keywords: ----------------------------+-----------------------------------------------
Comment (by eschnett):
I did not modify the thorn list. I do have some local changes in my source tree.
Adding --verbose helps:
Executing: git status -s In: /Users/eschnett/EinsteinToolkit-vanilla/./repos/carpet
It turns out that GetComponents does not get stuck after all. However, since I redirected stdout, the final question ("Would you like a diff for these files?") is not printed to the screen.
There needs to be a flush statement, preferably for both stdout and stderr, every time user input is expected. Such flush statements are also a good idea for debug output before a potentially fatal operation.
#386: --status is very slow ----------------------------+----------------------------------------------- Reporter: eschnett | Owner: eric9 Type: defect | Status: closed Priority: major | Milestone: Component: GetComponents | Version: Resolution: fixed | Keywords: ----------------------------+----------------------------------------------- Changes (by eric9):
* status: accepted => closed * resolution: => fixed
Comment:
Ok, GetComponents now flushes STDOUT before asking for input.
trac@lists.einsteintoolkit.org