Opened 21 months ago
Closed 20 months ago
#14338 closed defect (fixed)
AGS: Dreams in the Witch House - reproducible segfault
Reported by: | rfht | Owned by: | criezy |
---|---|---|---|
Priority: | normal | Component: | Engine: AGS |
Version: | Keywords: | ||
Cc: | Game: |
Description (last modified by )
Game: Dreams in the Witch House
OS: OpenBSD
ScummVM version: 2.7.0
Description:
In the dream sequence with the labyrinth, there is an outdoors area. If I click on "Landscape", the game reproducibly segfaults. I'm attaching pictures to clarify the location and a savegame. Stacktrace below indicates this happens in engines/ags/shared/gfx/allegro_bitmap.h, line 119:
How to Reproduce:
see above
Top of Stacktrace:
#0 0x00000c6deced556c in AGS3::AGS::Shared::Bitmap::GetSize (this=<optimized out>) at ./engines/ags/shared/gfx/allegro_bitmap.h:119 No locals. #1 AGS3::prepare_roomview_frame (view=<optimized out>) at engines/ags/engine/ac/draw.cpp:498 camera_buffer = @0xc709a7d6f40: {<Common::SafeBool<Common::SharedPtr<AGS3::AGS::Shared::Bitmap>, Common::impl::no_base<Common::SharedPtr<AGS3::AGS::Shared::Bitmap> > >> = {<Common::impl::no_base<Common::SharedPtr<AGS3::AGS::Shared::Bitmap> >> = {<No data fields>}, <No data fields>}, _pointer = 0xc7026e54940, _tracker = 0xc7026e4d140} camera_frame = <optimized out> view_sz = <optimized out> draw_dat = <optimized out> view_index = <optimized out> cam_sz = <optimized out> #2 0x00000c6deced5802 in AGS3::sync_roomview (view=0xc6ff64b1200) at engines/ags/engine/ac/draw.cpp:512 No locals. #3 0x00000c6deced63c2 in AGS3::on_roomcamera_changed (cam=<optimized out>) at engines/ags/engine/ac/draw.cpp:595 vp = {<Common::SafeBool<Common::SharedPtr<AGS3::Viewport>, Common::impl::no_base<Common::SharedPtr<AGS3::Viewport> > >> = {<Common::impl::no_base<Common::SharedPtr<AGS3::Viewport> >> = {<No data fields>}, <No data fields>}, _pointer = 0xc70c001c000, _tracker = 0xc70cc770960} vr = {_pointer = 0xc70c001c000, _tracker = 0xc70cc770960} __begin2 = 0xc70002a61f0 __end2 = 0xc70002a6200 __range2 = <optimized out> viewrefs = {_capacity = <optimized out>, _size = <optimized out>, _storage = 0xc70002a61f0} #4 0x00000c6decf10ceb in AGS3::GameState::UpdateViewports (this=<optimized out>) at engines/ags/engine/ac/game_state.cpp:158 cam = {<Common::SafeBool<Common::SharedPtr<AGS3::Camera>, Common::impl::no_base<Common::SharedPtr<AGS3::Camera> > >> = {<Common::impl::no_base<Common::SharedPtr<AGS3::Camera> >> = {<No data fields>}, <No data fields>}, _pointer = 0xc701167cc00, _tracker = 0xc70cc770d40} __range1 = <optimized out> __begin1 = 0xc6ffae1c600 __end1 = 0xc6ffae1c610 vp_changed = <optimized out> #5 0x00000c6deced723b in AGS3::construct_game_scene (full_redraw=<optimized out>) at engines/ags/engine/ac/draw.cpp:2167 No locals. #6 0x00000c6decede8bf in AGS3::render_graphics (extraBitmap=0x0, extraX=0, extraY=0) at engines/ags/engine/ac/draw.cpp:2406 No locals. [...]
Attachments (3)
Change History (10)
by , 21 months ago
Attachment: | scummvm-dreams-way-to-segfault.png added |
---|
by , 21 months ago
Attachment: | scummvm-dreams-clicking-landscape-segfaults.png added |
---|
by , 21 months ago
Attachment: | ags-fallback.004 added |
---|
comment:1 by , 21 months ago
Description: | modified (diff) |
---|
comment:2 by , 21 months ago
comment:3 by , 21 months ago
I am using the latest game version 1.04, yes. I looked at the diff from the other Dreams in the Witch House issue (#14258) - it only changes engines/ags/lib/allegro/gfx.cpp which isn't involved in the stack trace of my segfault at all, so I'm not very optimistic that the daily development build will be different. I will see about building 2.8.0git and then report back.
comment:5 by , 21 months ago
Indeed. I just tested too with your saved game and I can reproduce it.
I have a possible fix, but I am unsure of it so I will issue it as a PR for approval first (in a few minutes, pending some testing).
comment:7 by , 20 months ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Are you testing with the latest version of the game? It's had a few patches since release, and I believe the current version is 1.04.
Also, if possible, please check with a recent daily development build of ScummVM 2.8.0git. A lot of bugs have been fixed in the development builds since 2.7.0, including at least one which was reported for Dreams in the Witch House (segfault).