Opened 3 years ago
Closed 3 years 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 , 3 years ago
| Attachment: | scummvm-dreams-way-to-segfault.png added |
|---|
by , 3 years ago
| Attachment: | scummvm-dreams-clicking-landscape-segfaults.png added |
|---|
by , 3 years ago
| Attachment: | ags-fallback.004 added |
|---|
comment:1 by , 3 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 3 years ago
comment:3 by , 3 years 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 , 3 years 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 , 3 years 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).