Skip to content
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

IDC viewer starts up and fails with a file not found #2849

Closed
wlongabaugh opened this issue Jul 22, 2022 · 6 comments
Closed

IDC viewer starts up and fails with a file not found #2849

wlongabaugh opened this issue Jul 22, 2022 · 6 comments
Assignees
Labels
IDC:priority Items that the Imaging Data Commons wants to help sponsor

Comments

@wlongabaugh
Copy link

We are seeing cases where the IDC viewer is launched from the portal, the Viewer starts up and immediately reports it cannot access the file. An example: https://(test-viewer-redacted)/1.3.6.1.4.1.14519.5.2.1.163047965868107465659169009295180558950.

When looking at the proxy report, we see a request:

https://(test-proxy-redacted)/dicomWeb/studies/1.3.6.1.4.1.14519.5.2.1.163047965868107465659169009295180558950/series/undefined/metadata

Note the "undefined" series ID, which returns a 404. This glitch clears when the viewer is reloaded. It is also the case that this happens randomly, implying a race condition on startup where a request is issued before the series is identified, and subsequent requests do not have this problem.

@fedorov fedorov added the IDC:priority Items that the Imaging Data Commons wants to help sponsor label Jul 22, 2022
@Punzo
Copy link
Contributor

Punzo commented Sep 1, 2022

Hi @wlongabaugh I tired to reproduce in all tier (production, testing and dev), but I could not. Probably some running conditions. I will keep you posted if I manage to reproduce it.

@wlongabaugh
Copy link
Author

Yes, it appears to be an intermittent race condition, so probably depends on when things show up on startup. One possibility would be to perhaps check if a request is being issued containing "/series/undefined/" and raise an error. Thanks.

@fedorov
Copy link
Member

fedorov commented Sep 1, 2022

One possibility would be to perhaps check if a request is being issued containing "/series/undefined/" and raise an error.

This makes a lot of sense. More generally, could have a regex to discard strings that are not conforming with the UID (DICOM UI VR) character repertoire.

@Punzo
Copy link
Contributor

Punzo commented Sep 1, 2022

that is a good idea, but it would be better if I manage to find the racing conditions and make the viewer wait for the series metadata. I will try again to reproduce it. In case, as final approach I will raise an error in case of "/series/undefined/"

@Punzo
Copy link
Contributor

Punzo commented Sep 2, 2022

@wlongabaugh I tried again to reproduce the issue by throttling both/either network and CPU, but I had no success.

In the code I see that there is a wait/async call, therefore it is supposed to wait for the study metadata before firing any frame request. I am wondering if it is the google server failing to provide the full metadata and some gets corrupted.

Anyway, in #2908 I have added a check on StudyInstanceUID, SeriesInstanceUID and SOPInstanceUID and an error will be raised if they are not conforming with the UID (DICOM UI VR) character repertoire as suggested by @fedorov. The error is printed only to console, because the App services (like UI notifications) are not yet initialized at that point. On the other hand, it should continue to load the frames without blocking the App with the message 'file not found'.

Punzo added a commit to Punzo/Viewers that referenced this issue Sep 2, 2022
… the UID (DICOM UI VR) character repertoire.
Punzo added a commit that referenced this issue Sep 2, 2022
@wlongabaugh
Copy link
Author

It seems unlikely that the problem is on the Google side, since this problem is random, and typically (always?) works on a reload. Checks and logging statements to console around this issue are good to have. Thx.

@Punzo Punzo closed this as completed Sep 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IDC:priority Items that the Imaging Data Commons wants to help sponsor
Projects
None yet
Development

No branches or pull requests

3 participants