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

Consistent reporting of tracebacks #82

Open
dpmatthews opened this issue Feb 20, 2020 · 5 comments
Open

Consistent reporting of tracebacks #82

dpmatthews opened this issue Feb 20, 2020 · 5 comments

Comments

@dpmatthews
Copy link
Contributor

We need to agree when tracebacks should be reported and then implement the agreed approach across the codebase.

Proposal:

  • in debug mode always print a traceback
  • in production mode only print a traceback for errors not specifically handled (then users can help us debug unexpected errors)

For an example of inconsistency, create a workflow with a space after a continuation line. cylc validate just returns an error message but cylc run reports a traceback as well.

@kinow
Copy link
Member

kinow commented Feb 20, 2020

I'm fine with the proposal. Other command line programs work in a similar way, so +1

@hjoliver
Copy link
Member

in production mode only print a traceback for errors not specifically handled

I personally agree with this, but the Cylc 7 pen test report (I think?) suggested users should never see tracebacks as they expose information about the program internals. On the other hand, is that a pointless distinction for a) Python programs, that b) have a --debug option that will print tracebacks (I suppose we could remove --debug option in releases .. but that seems counterproductive - users could then not even help us to debug on request).

@dwsutherland
Copy link
Member

dwsutherland commented Feb 22, 2020

in production mode only print a traceback for errors not specifically handled

I personally agree with this, but the Cylc 7 pen test report (I think?) suggested users should never see tracebacks as they expose information about the program internals.

Also it’s an open source project, so anyone with malicious intent can figure out internals.. The only “danger” is runtime settings (if not careful) and site installation/file-structure being exposed.

@hjoliver
Copy link
Member

... unless the top-level location of the python library is considered sensitive information that shouldn't be exposed to clients (a web UI user with no local account on the back end would not have easy access to that otherwise)

@hjoliver
Copy link
Member

(Tracebacks would require the server to run in debug mode)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants