[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