mantidproject / mantid

Main repository for Mantid code
https://www.mantidproject.org
GNU General Public License v3.0
209 stars 122 forks source link

Exceptions thrown out of IArchiveSearch::getPath are not caught #4595

Closed mantid-builder closed 3 years ago

mantid-builder commented 13 years ago

This issue was originally TRAC 3748

Original Reporter: Russell Taylor

....by anything other than the MantidPlot last-resort exception handler.

This applies equally to the SNS (Orbiter) & ISIS implementations.

Some scenarios where this happens:

  1. The network is down (e.g. by pulling the cable out!)
  2. You are at the SNS and select ISIS as your facility (& presumably vice-versa)
  3. You enable archive searching but don't have access to the archive enabled
  4. You choose a run number that doesn't exist

In the last case above, I think the exception may come from after the archive search part for Orbiter, which looks to be returning an empty string:

OrbiterDataArchive-[Debug] URL = 'https://orbiter.sns.gov/orbiter/taurus/service/webservice/OrbiterFindFileService.php/operation/findFile/format/space/fileName/PG3_999999999_event.nxs'
OrbiterDataArchive-[Debug] Filename[0] = ''
OrbiterDataArchive-[Debug] Returning Filename = ''

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Assertion violation: !_path.empty() [in file "src/File_UNIX.cpp", line 89]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
MantidPlot-[Fatal] Unexpected exception: Assertion violation
mantid-builder commented 11 years ago

@NickDraper (2011-09-20T08:42:33): Fix only if it is quick


@mantid-roman (2011-09-20T12:09:59): In [14780]:

#!CommitTicketReference repository="" revision="14780"
This could fix http://trac.mantidproject.org/mantid/ticket/3748.

Russell Taylor (2011-09-20T13:46:48): In [14782]:

#!CommitTicketReference repository="" revision="14782"
Rethrow exception when unable to connect to Orbiter. Prevents (a later) exception, which propagates all the way to the top of MantidPlot. Re http://trac.mantidproject.org/mantid/ticket/3748.

Russell Taylor (2011-09-20T13:54:09): My change above resolves issue 1 (for Orbiter, at least). None of the other problems noted above are solved. However, these are all edge cases and do not actually crash MantidPlot, so I'd be inclined to move this ticket to the next iteration.


@mantid-roman (2011-09-20T14:08:31): OK


@mantid-roman (2011-10-19T08:57:11): 1,2, and 4 work for me. Thinking of a way to check 3.


@NickDraper (2012-01-09T09:43:03): Moved to iteration 33 at iteration 32 code freeze


@NickDraper (2012-04-30T14:12:10): Moved at end of release 2.1


@NickDraper (2012-08-10T12:43:26): Moved at the end of release 2.2


@NickDraper (2012-10-30T09:17:25): Moved to release 2.4


@NickDraper (2013-01-28T09:22:53): Moved at the code freeze for release 2.4


@NickDraper (2013-04-29T09:49:33): Moved to r2.6 at the end of r2.5


@NickDraper (2013-07-26T13:59:13): Moved to the Backlog after the code freeze for R2.6


@NickDraper (2013-09-20T16:45:35): moved to Release 3.0 as these all seem to be active

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. If you feel this is incorrect please comment to keep it alive, with a reason why.

To prevent closure, e.g. for long-term planning issues, add the "Never Stale" label.

stale[bot] commented 3 years ago

This issue has been closed automatically. If this still affects you please re-open this issue with a comment so we can look into resolving it.