[Scummvm-tracker] [ScummVM :: Bugs] #14652: SCI: Additional crash context when ScummVM errors

ScummVM :: Bugs trac at scummvm.org
Sat Sep 30 21:18:21 UTC 2023


#14652: SCI: Additional crash context when ScummVM errors
--------------------------------------+--------------------------
Reporter:  deckarep                   |       Owner:  (none)
    Type:  feature request            |      Status:  new
Priority:  normal                     |   Component:  Engine: SCI
 Version:                             |  Resolution:
Keywords:  Bug reporting and crashes  |        Game:
--------------------------------------+--------------------------
Comment (by sluicebox):

 I didn't realize we had a mechanism for engines to append text to error
 output: `Engine::errorString`. SCUMM and NANCY use this. SCI should too!
 Great idea! lol I would have done this already if I knew.

 I'm going to have strong opinions on this one. I think it needs to be
 short and dense, because we don't want to clutter error output or ruin
 screenshots with text that scrolls away the real error. The more text, the
 less likely it's going to get communicated back to us. We also hit ERRORs
 all the time when developing, so the output shouldn't annoy us. And this
 code needs to be careful because it runs in a failure mode where any state
 could be corrupt; erroring when printing errors could be worse than doing
 nothing.

 Here's what I'm thinking:

 {{{

 ERROR: currentErrorMessage (the line we have now)
 Game: gameId [, Version: versionString]
 Room: ###, Script: ###, Function: scriptOrKernelFunction(params if
 possible) @ pc
 }}}

 By "gameId" I mean the scummvm string, for example "kq5-fr". That string
 is short and dense with clues like localized language, CD vs floppy, and
 non-DOS platform. Also, some people typo the game name or forget to
 mention it.

 Back traces are super useful, but they're long and unpredicable. I don't
 usually need an entire trace, it's just an efficient way to ask someone
 for a lot of information at once if I don't have anything else. I usually
 just need to know what room someone is in (harder than you'd think in some
 games) and the currently executing function.

 I don't think we should include instructions; that takes up space, would
 annoy us (me), and users don't read things like that anyway. The others
 already provide everything up front anyway. This is about improving the
 quality of reports without requiring anyone to change their behavior;
 because they won't. If these two lines appeared by default in most tickets
 that would be a quality of life improvement, and we can escalate to asking
 for back traces (and almost certainly other questions) on the harder ones.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14652#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list