Page MenuHomePhabricator

In Herald transcripts, surface exceptions encountered while evaluating fields
Open, LowPublic

Description

See PHI1911. An install encountered what looks like an exception while evaluating the "Branches" field in Herald. Currently, exceptions (and other older "reason" codes) are not shown in the UI; this is a rough edge left over from partial conversion of Herald transcripts to be language-agnostic (i.e., not store a bunch of human-readable English text in the database).

Herald should store rule reason codes in a canonical, non-English format and show them in the transcript view.

See PHI1924. This is an install apparently hitting the pcre.backtrack_limit issues in T13100, and seemingly resolving them by adjusting the configuration values. There's enough evidence that these values are good that Phabricator should probably just set them on startup. This will occasionally make Herald regexps fail because they hit the backtrack limit when they would otherwise have succeeded. To mitigate this:

  • Regular expression evaluation in Herald should raise exceptions to the transcript level when a regular expression fails (usually, this will be because of backtracking).
  • If not unreasonably complex, regular expression evaluation in Herald should be profiled.
  • Then, these pcre.* settings should be set on startup.