-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 49
-
Component/s: None
-
Labels:None
-
Sprint:DEV-48-3, DEV-48-4, DEV-48-5, DEV-48-RELEASE, DEV-49-1, DEV-49-2, DEV-49-3, DEV-49-4
-
Affect Type:Userdefined
This issue blocks UGENE-7901, because it is very easy to reproduce the problem of this issue using the scenario from UGENE-7901.
The scenario from UGENE-7901 has an error "wrong output format" in Sanger alignment, which has been run with dialog. This error sign is as much unclear as possible, and users have no clue about what happened and why their alignment failed.
I have been investigating this problem for a little bit, and found out its approximate reason. As you may know, when you run Sanger alignment with the dialog, it runs in the child process. The communication between parent and child processes is a bit complicated. If we are talking about our case, we use an intermediate file. The child process (the one which makes Sanger alignment calculations) saves the status of the execution to this file, and the parent process (the main UGENE process with GUI) reads this file after the child process has been finished its executing. But, if child process failed to run calculations correctly (as it has happened in UGENE-7901), it turns out, that the calculation file is empty and the parent GUI process just has no idea about the child process calculations. In this case, it writes the short message "wrong output format" and that's it.
It happens because the child process faced some problems in `onSubtaskFinished()` function (the exact point for the above mentioned scenario is here), which is still preparing stage, but writing to the output file appears to be here (which is already run stage). Shortly to say, the problem appears very early and task stops its executing.
What should be done:
- First of all, you need to add a parameter, which makes child CMD process writes its log to file. This file should be located in the "UGENE data directory".
- The second thing - if the process finished its calculations correctly (without errors), then the file from the previous point should be removed. But, if some errors appeared, then in the task report (in the main GUI process) you should write something like this:
The child process has execution errors, please, investigate the log file: the/log/file/link.txt
The same message you should have in the log on the "error" level.
- Get the main error of WorkflowRunFromCMDLineBase and add it to report.
- Remove "wrong output format" sign, it should not apeear anymore.
- blocks
-
UGENE-7901 Sanger alignment fails if path to files contains commas
- Tested
- relates to
-
UGENE-8009 Crash in Sanger dialog when reference has wrong format
- Closed