[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