[Scummvm-tracker] [ScummVM :: Bugs] #14072: AGS: Crash in "The Excavation of Hob's Barrow" on Giving Fiddle Bow to Girl at Devil's Toe

ScummVM :: Bugs trac at scummvm.org
Mon Jan 30 23:06:41 UTC 2023


#14072: AGS: Crash in "The Excavation of Hob's Barrow" on Giving Fiddle Bow to Girl
at Devil's Toe
-------------------------+--------------------------
Reporter:  momomomo888   |       Owner:  (none)
    Type:  defect        |      Status:  new
Priority:  normal        |   Component:  Engine: AGS
 Version:                |  Resolution:
Keywords:  Hob's Barrow  |        Game:
-------------------------+--------------------------
Comment (by digitall):

 The crash manifests as a segfault on Linux. Running with gdb indicates
 that this is triggered from:
 https://github.com/scummvm/scummvm/blob/master/engines/ags/lib/allegro/surface.cpp#L114

 After some debugging work, I have worked out that the format (which is a
 reference) is expected to always be valid i.e. not nullptr and thus
 accessing the fields in the assertion is OK.

 In the failing case, the format is nullptr / invalid as the _owner is
 nullptr (the format is a reference into the _owner). I think the issue is
 that either _owner is not defined in some cases, or is automatically
 deleted via a shared pointer losing all valid references (but not
 accounting for a reference into a reference).
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14072#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list