"Endless" loop after DB shutdown

  • This one is sort of a minor annoyance, not a showstopper. After the monitored DB shuts down, PT goes into a loop, throwing a succession of error messages, like:

    ┌───────────────────── Message ──────────────────────┐
    │ [3] Invalid buffer handle in tt_screenList: tt_app │
    │                        <OK>                        │
    │ [3] Invalid buffer handle in tt_screenList: tt_apsv │
    │                        <OK>                         │
    │ [3] Invalid buffer handle in tt_screenList: tt_apsvList │
    │                          <OK>                           │

    etc..., while the status line contains messages like:

    2018/03/05 11:42:51.934-05:00 dc/dashboard.p requires a db connection to launch
    2018/03/05 11:42:51.936-05:00 dc/appmon.p has been initialized as appActivity

    I called it an "endless" loop because I've found that it seems to repeat endlessly if I dismiss each error in turn. Though if I time it just right, I can hold down F1 to dismiss a bunch of these errors very quickly, then then hold down "q" when it's briefly accepting input.

    Anyhoo, if it's not too much trouble to fix this, it would be appreciated. It's a bit of a pain in a perf-testing environment where the DBs are being bounced regularly. If it's a "big rewrite" type of fix then don't bother.

  • FWIW, the last status message before PT shuts down is:

    dynScreenUpdate() - WTF? q is invalid?


  • administrators

    Yes, I find it annoying too. A very similar thing often occurs during testing if some new code hits an unhandled error condition. I've become accustomed to just hitting ^\ and quitting but I really ought to put in a better error handler.

  • Holy crap where has ^\ been all my life??? 😱

    Just when I think I'm starting to learn this platform...

  • administrators

    I have added an "on stop, undo leave" around most of protop.p which I think will take care of this problem.

    A new release is imminent - there is really just one more thing I'd like to squeeze in.

