[Scummvm-tracker] [ScummVM :: Bugs] #15179: AGS: lzwexpand SIGBUS on strict-alignment archs
ScummVM :: Bugs
trac at scummvm.org
Sat Jun 15 22:58:16 UTC 2024
#15179: AGS: lzwexpand SIGBUS on strict-alignment archs
---------------------+-------------------------------------
Reporter: dwatteau | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: AGS
Version: | Keywords: strict-alignment,sigbus
Game: |
---------------------+-------------------------------------
Testing the current Git HEAD on a mips64el device, which is 64 bits,
little-endian, and has strict-alignment constraints.
Running Maniac Mansion Deluxe immediately causes the following SIGBUS, on
this device:
{{{
Program terminated with signal SIGBUS, Bus error.
#0 AGS3::lzwexpand (src=0x341fc30000 "\300\200\002", src_sz=22433,
dst=0x3455f3c000 "\200\002", dst_sz=128008)
at engines/ags/shared/util/lzw.cpp:225
225 jshort =
BBOp::Int16FromLE(*(reinterpret_cast<const int16_t *>(src_ptr)));
(gdb) bt
#0 AGS3::lzwexpand (src=0x341fc30000 "\300\200\002", src_sz=22433,
dst=0x3455f3c000 "\200\002", dst_sz=128008)
at engines/ags/shared/util/lzw.cpp:225
#1 0x0000003470d3c81c in AGS3::load_lzw (in=0x341dafb500,
dst_bpp=<optimized out>, pal=<optimized out>)
at engines/ags/shared/util/compress.cpp:408
#2 0x0000003470d1d148 in AGS3::AGS::Shared::ReadMainBlock
(room=0x3487c14000, in=0x341dafb500, data_ver=<optimized out>)
at engines/ags/shared/game/room_file.cpp:299
}}}
Full GDB backtrace attached below.
I guess that doing a build with UBsan on a regular x86 desktop should help
testing this.
--
Ticket URL: <https://bugs.scummvm.org/ticket/15179>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list