-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Internal Server Error" in GUI #41
Comments
Thank you for the detailed report @civier , I will see how to tackle this |
Yes, the API returns an error but it is not correctly handled by the frontend (it does not check the response but rather just continues with the code and then the gui raises an error when it malfunctions).
Im working on an error page that shows the error raised by the API along with the traceback. The problematic files is more on the sovabids backend side, Im not sure how to straightforwardly do that. I will first do the error page and then continue with the other final targets, but if I finish them , then I will get into the message of the problematic file.
I havent tested this press-back idea, im not sure how it performs currently. Let me know if you can test that opnce I push the commit for the error message .
Yes, this is correct. The bad match case is easier than the bad eeg-files case. Im not sure we should try to correct them ourselves.
As of now, the 'preview' shows arbitrary stuff I collect here: Lines 367 to 374 in 6229dbe
I guess our constraint is that we can show just as much as mne allows us. Anything more (like particular vendors data files) would require us to handle such file ourselves. This means doing a lot of logic that may be only possible for a particular vendor and so on. So in conclusion, we can show as much as the mne abstraction allows us to. There is though a lot to explore there. |
I updated the current behaviour of the front whenever the RPC API throws an error: This is in the following commit: 9db534e Here is the current message whenever a response has an error: For the particular cases you mentioned, I leave here the tracebacks for future reference: 1 Bad Match
2 Empty vhdr
3 Missing Marker
|
Regarding:
"I havent tested this press-back idea, im not sure how it performs
currently. Let me know if you can test that opnce I push the commit for the
error message ."
I've already tested the press-back and it works fine. So when the error
message will also include the problematic file, the user would at least be
able to exclude it, and then convert the rest of the files. That is a big
improvement compared with not being able to convert anything in case of
error, so worth implementing :-)
|
Ahh thats awesome. So yeap, this means that somehow returning the problematic file would be really ideal. |
I found out that when there are inconsistencies/missing information in the data, the GUI prints a page with the message below after I submit the rules file (i.e., after pressing on the bottom "submit" button in the page that displays the rule file):
The error message printed in the log of the GUI is:
The cases when it occurred during my testing are the following:
I'm sure there are more.
I'm not sure what is happening, but I guess that each time entities cannot be extracted from the filename based on the pattern/regexp, or the mne-python data extraction from the meta-files returns an error, the apply_rues OpenRPC call fails and returns an error. Is that the case?
**If yes, the least we should do is catch such an error, and provide meaningful feedback to the user, rather than internal server error message. Does apply_rules return a meaningful error code and message at the moment? If yes, it's worth presenting it to the user, and make sure it includes the path to the problematic file/files. If not, it will be good to implement such a reporting mechanism in apply_rules. I hope that you can already include it in the GSoC version of the project, even if the GUI won't be able to handle it for the time being. That said, if the GUI can simply print this message, that would be great --- the user can then press back in the browser, exclude the problematic file in the File Filtering tab, and then repeat **
For the future, the functionality that we discussed is that in such cases, the GUI will provide the user with a partial mapping file for the raw file in question (maybe marking the defective/missing part). The user would be then able to edit the mapping file (or if necessary, complete/fix the raw data file's meta-data if it is corrupt or missing), so as to enable conversion of the odd file after all. I guess it is quite simple to implement when it comes to filenames that do not match the pattern/regexp, but more difficult to implement if it is MNE-python that fails in extracting meta-data.
I guess that this functionality could be combined with the functionality of the review feature in apply_rules_to_single_file, but I'm not sure. Will the review option only show the resulting meta-data in BIDS format? or will it also show the source meta-data in its original raw format? If the latter, so in case of error, we can possibly show the user what parts of the source raw meta-data we could not map to BIDS.
The text was updated successfully, but these errors were encountered: