Opened 7 years ago

Closed 7 years ago

#9627 closed defect (fixed)

Lands Of Lore - game crashes in Catwalk Caverns

Reported by: billniakas Owned by: wjp
Priority: blocker Component: Engine: Kyra
Version: Keywords: catwalk caverns, crash, linux
Cc: Game: Lands of Lore

Description

I've come across this bug several times because Lands Of Lore is one of my favorite games. The first time I've encountered this bug is (i think in 1.6.0 or 1.7.0). This bug wont let me go to level 2 of the Catwalk Caverns and level 2 is crucial for the game progress. The bug occurs only in Linux (all the windows versions that I've tried seem to work fine). So here we go

Distro: Arch Linux
ScummVM version: 1.9.0
Game Language : English
Game Version : CD/DOS/English
First time encounter : ScummVM version 1.6.0 or 1.7.0

PS. I Attached a save game and the only thing you need to do is to go down the stairs in order to crash the game

Attachments (1)

lol-cd.015 (29.2 KB ) - added by billniakas 7 years ago.
Save file just before going down the stairs and crash the game

Download all attachments as: .zip

Change History (7)

by billniakas, 7 years ago

Attachment: lol-cd.015 added

Save file just before going down the stairs and crash the game

comment:1 by wjp, 7 years ago

I can't reproduce this in Linux. Which graphics / audio settings are you using? Are there any messages in the terminal? Could you use gdb to get a backtrace?

in reply to:  1 comment:2 by billniakas, 7 years ago

Replying to wjp:

I can't reproduce this in Linux. Which graphics / audio settings are you using? Are there any messages in the terminal? Could you use gdb to get a backtrace?

I use aspect correction and full screen mode

Here's my gdb backtrace

#0  0xb7fdace5 in __kernel_vsyscall ()
#1  0xb7726e70 in raise () from /usr/lib/libc.so.6
#2  0xb7728397 in abort () from /usr/lib/libc.so.6
#3  0xb7762d2f in __libc_message () from /usr/lib/libc.so.6
#4  0xb77f4747 in __fortify_fail () from /usr/lib/libc.so.6
#5  0xb77f2998 in __chk_fail () from /usr/lib/libc.so.6
#6  0xb77f1f8f in __strcpy_chk () from /usr/lib/libc.so.6
#7  0x08568825 in ?? ()
#8  0x08570dbf in ?? ()
#9  0x08518fc9 in ?? ()
#10 0x08519a91 in ?? ()
#11 0x085768e4 in ?? ()
#12 0x0856b76d in ?? ()
#13 0x085729ac in ?? ()
#14 0x08518fc9 in ?? ()
#15 0x08519a91 in ?? ()
#16 0x08576b0c in ?? ()
#17 0x08576b4c in ?? ()
#18 0x0856a755 in ?? ()
#19 0x0860a32b in ?? ()
#20 0x086065db in ?? ()
#21 0x085f70e7 in ?? ()
#22 0x0860f7ac in ?? ()
#23 0x0855ae7e in ?? ()
---Type <return> to continue, or q <return> to quit---
#24 0x0855b090 in ?? ()
#25 0x084d3134 in ?? ()
#26 0x0805784d in ?? ()
#27 0x080525f7 in main ()

and this is my terminal messages

WARNING: SDL mixer output buffer size: 940 differs from desired: 4096!
User picked target 'lol-cd' (gameid 'lol')...
  Looking for a plugin supporting this gameid... Kyra
  Starting 'Lands of Lore: The Throne of Chaos'
ALSA lib pcm.c:8251:(snd_pcm_recover) underrun occurred
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
ALSA lib pcm.c:8251:(snd_pcm_recover) underrun occurred
WARNING: Unsupported XMIDI controller 111 (0x6f)!
WARNING: Unsupported XMIDI controller 111 (0x6f)!
WARNING: Unsupported XMIDI controller 111 (0x6f)!
WARNING: Unsupported XMIDI controller 111 (0x6f)!
WARNING: Unsupported XMIDI controller 111 (0x6f)!
WARNING: Unsupported XMIDI controller 111 (0x6f)!
*** buffer overflow detected ***: scummvm terminated
======= Backtrace: =========
/usr/lib/libc.so.6(+0x67d2a)[0xb6eb9d2a]
/usr/lib/libc.so.6(__fortify_fail+0x37)[0xb6f4b747]
/usr/lib/libc.so.6(+0xf7998)[0xb6f49998]
/usr/lib/libc.so.6(+0xf6f8f)[0xb6f48f8f]
scummvm[0x8568825]
scummvm[0x8570dbf]
scummvm[0x8518fc9]
scummvm[0x8519a91]
scummvm[0x85768e4]
scummvm[0x856b76d]
scummvm[0x85729ac]
scummvm[0x8518fc9]
scummvm[0x8519a91]
scummvm[0x8576b0c]
scummvm[0x8576b4c]
scummvm[0x856a755]
scummvm[0x860a32b]
scummvm[0x86065db]
scummvm[0x85f70e7]
scummvm[0x860f7ac]
scummvm[0x855ae7e]
scummvm[0x855b090]
scummvm[0x84d3134]
scummvm[0x805784d]
scummvm(main+0x87)[0x80525f7]
/usr/lib/libc.so.6(__libc_start_main+0xf6)[0xb6e6a196]
scummvm[0x8052d35]
======= Memory map: ========
08048000-09d52000 r-xp 00000000 08:02 2390688    /usr/bin/scummvm
09d52000-09d53000 r--p 01d09000 08:02 2390688    /usr/bin/scummvm
09d53000-09d71000 rw-p 01d0a000 08:02 2390688    /usr/bin/scummvm
09d71000-09eeb000 rw-p 00000000 00:00 0 
0a91a000-0d81d000 rw-p 00000000 00:00 0          [heap]
b2a00000-b2a22000 rw-p 00000000 00:00 0 
b2a22000-b2b00000 ---p 00000000 00:00 0 
b2b3d000-b4af9000 rw-p 00000000 00:00 0 
b4b28000-b4c00000 rw-p 00000000 00:00 0 
b4c58000-b4f8d000 rw-p 00000000 00:00 0 
b4f8d000-b50b9000 rw-s 00000000 00:05 10846224   /SYSV00000000 (deleted)
b50b9000-b50ba000 ---p 00000000 00:00 0 
b50ba000-b58ba000 rw-p 00000000 00:00 0 
b58ba000-b58bb000 ---p 00000000 00:00 0 
b58bb000-b60bb000 rw-p 00000000 00:00 0 
b60bb000-b6112000 rw-p 00000000 00:00 0 
b6133000-b6154000 rw-p 00000000 00:00 0 
b6154000-b6174000 rw-s 00000000 00:05 10813455   /SYSV0056a4d6 (deleted)
b6174000-b617f000 r-xp 00000000 08:02 2362583    /usr/lib/libnss_files-2.24.so
b617f000-b6180000 r--p 0000a000 08:02 2362583    /usr/lib/libnss_files-2.24.so
b6180000-b6181000 rw-p 0000b000 08:02 2362583    /usr/lib/libnss_files-2.24.so
b6181000-b6188000 rw-p 00000000 00:00 0 
b6188000-b61a8000 rw-s 00000000 00:06 10474      /dev/snd/pcmC0D0p
b61a8000-b61a9000 rw-s 81000000 00:06 10474      /dev/snd/pcmC0D0p
b61a9000-b6341000 r--p 00000000 08:02 2380952    /usr/lib/locale/locale-archive
b6341000-b6354000 r-xp 00000000 08:02 2384506    /usr/lib/libXext.so.6.4.0
b6354000-b6355000 r--p 00012000 08:02 2384506    /usr/lib/libXext.so.6.4.0
b6355000-b6356000 rw-p 00013000 08:02 2384506    /usr/lib/libXext.so.6.4.0
b6356000-b649e000 r-xp 00000000 08:02 2384432    /usr/lib/libX11.so.6.3.0
b649e000-b649f000 ---p 00148000 08:02 2384432    /usr/lib/libX11.so.6.3.0
b649f000-b64a0000 r--p 00148000 08:02 2384432    /usr/lib/libX11.so.6.3.0
b64a0000-b64a3000 rw-p 00149000 08:02 2384432    /usr/lib/libX11.so.6.3.0
b64a3000-b64a7000 rw-p 00000000 00:00 0 
b64a7000-b64ac000 r-xp 00000000 08:02 2381256    /usr/lib/libXdmcp.so.6.0.0
b64ac000-b64ad000 r--p 00004000 08:02 2381256    /usr/lib/libXdmcp.so.6.0.0
b64ad000-b64ae000 rw-p 00005000 08:02 2381256    /usr/lib/libXdmcp.so.6.0.0
b64ae000-b64b0000 r-xp 00000000 08:02 2381260    /usr/lib/libXau.so.6.0.0
b64b0000-b64b1000 r--p 00001000 08:02 2381260    /usr/lib/libXau.so.6.0.0
b64b1000-b64b2000 rw-p 00002000 08:02 2381260    /usr/lib/libXau.so.6.0.0
b64b2000-b64c6000 r-xp 00000000 08:02 2369581    /usr/lib/libgpg-error.so.0.19.1
b64c6000-b64c7000 r--p 00013000 08:02 2369581    /usr/lib/libgpg-error.so.0.19.1
b64c7000-b64c8000 rw-p 00014000 08:02 2369581    /usr/lib/libgpg-error.so.0.19.1
b64c8000-b6592000 r-xp 00000000 08:02 2369585    /usr/lib/libgcrypt.so.20.1.3
b6592000-b6593000 r--p 000c9000 08:02 2369585    /usr/lib/libgcrypt.so.20.1.3
b6593000-b6596000 rw-p 000ca000 08:02 2369585    /usr/lib/libgcrypt.so.20.1.3
b6596000-b6598000 rw-p 00000000 00:00 0 
b6598000-b65a9000 r-xp 00000000 08:02 2369608    /usr/lib/liblz4.so.1.7.1
b65a9000-b65aa000 ---p 00011000 08:02 2369608    /usr/lib/liblz4.so.1.7.1
b65aa000-b65ab000 r--p 00011000 08:02 2369608    /usr/lib/liblz4.so.1.7.1
b65ab000-b65ac000 rw-p 00012000 08:02 2369608    /usr/lib/liblz4.so.1.7.1
b65ac000-b65d6000 r-xp 00000000 08:02 2369611    /usr/lib/liblzma.so.5.2.2
b65d6000-b65d7000 r--p 00029000 08:02 2369611    /usr/lib/liblzma.so.5.2.2
b65d7000-b65d8000 rw-p 0002a000 08:02 2369611    /usr/lib/liblzma.so.5.2.2
b65d8000-b65dc000 r-xp 00000000 08:02 2365790    /usr/lib/libcap.so.2.25
b65dc000-b65dd000 rw-p 00003000 08:02 2365790    /usr/lib/libcap.so.2.25
b65dd000-b65f1000 r-xp 00000000 08:02 2362590    /usr/lib/libresolv-2.24.so
b65f1000-b65f2000 ---p 00014000 08:02 2362590    /usr/lib/libresolv-2.24.so
b65f2000-b65f3000 r--p 00014000 08:02 2362590    /usr/lib/libresolv-2.24.so
b65f3000-b65f4000 rw-p 00015000 08:02 2362590    /usr/lib/libresolv-2.24.so
b65f4000-b65f6000 rw-p 00000000 00:00 0 
b65f6000-b65fb000 r-xp 00000000 08:02 2390232    /usr/lib/libasyncns.so.0.3.1
b65fb000-b65fc000 r--p 00004000 08:02 2390232    /usr/lib/libasyncns.so.0.3.1
b65fc000-b65fd000 rw-p 00005000 08:02 2390232    /usr/lib/libasyncns.so.0.3.1
b65fd000-b6627000 r-xp 00000000 08:02 2381321    /usr/lib/libxcb.so.1.1.0
b6627000-b6628000 ---p 0002a000 08:02 2381321    /usr/lib/libxcb.so.1.1.0
b6628000-b6629000 r--p 0002a000 08:02 2381321    /usr/lib/libxcb.so.1.1.0
b6629000-b662a000 rw-p 0002b000 08:02 2381321    /usr/lib/libxcb.so.1.1.0
b662a000-b6634000 r-xp 00000000 08:02 2390287    /usr/lib/libjson-c.so.2.0.2
b6634000-b6635000 r--p 00009000 08:02 2390287    /usr/lib/libjson-c.so.2.0.2
b6635000-b6636000 rw-p 0000a000 08:02 2390287    /usr/lib/libjson-c.so.2.0.2
b6636000-b6663000 r-xp 00000000 08:02 2384510    /usr/lib/libgraphite2.so.3.0.1
b6663000-b6664000 ---p 0002d000 08:02 2384510    /usr/lib/libgraphite2.so.3.0.1
b6664000-b6665000 r--p 0002d000 08:02 2384510    /usr/lib/libgraphite2.so.3.0.1
b6665000-b6666000 rw-p 0002e000 08:02 2384510    /usr/lib/libgraphite2.so.3.0.1
b6666000-b66cf000 r-xp 00000000 08:02 2362931    /usr/lib/libncursesw.so.6.0
b66cf000-b66d1000 r--p 00068000 08:02 2362931    /usr/lib/libncursesw.so.6.0
b66d1000-b66d2000 rw-p 0006a000 08:02 2362931    /usr/lib/libncursesw.so.6.0
b66d2000-b66d3000 rw-p 00000000 00:00 0 
b66d3000-b6761000 r-xp 00000000 08:02 2369675    /usr/lib/libsystemd.so.0.16.0
b6761000-b6763000 r--p 0008d000 08:02 2369675    /usr/lib/libsystemd.so.0.16.0
b6763000-b6764000 rw-p 0008f000 08:02 2369675    /usr/lib/libsystemd.so.0.16.0
b6764000-b67e0000 r-xp 00000000 08:02 2390247    /usr/lib/libvorbisenc.so.2.0.11
b67e0000-b67f2000 r--p 0007b000 08:02 2390247    /usr/lib/libvorbisenc.so.2.0.11
b67f2000-b67f3000 rw-p 0008d000 08:02 2390247    /usr/lib/libvorbisenc.so.2.0.11
b67f3000-b67f5000 rw-p 00000000 00:00 0 
b67f5000-b6880000 r-xp 00000000 08:02 2890201    /usr/lib/pulseaudio/libpulsecommon-9.0.so
b6880000-b6881000 ---p 0008b000 08:02 2890201    /usr/lib/pulseaudio/libpulsecommon-9.0.so
b6881000-b6882000 r--p 0008b000 08:02 2890201    /usr/lib/pulseaudio/libpulsecommon-9.0.so
b6882000-b6883000 rw-p 0008c000 08:02 2890201    /usr/lib/pulseaudio/libpulsecommon-9.0.so
b6883000-b68dc000 r-xp 00000000 08:02 2390303    /usr/lib/libpulse.so.0.20.0
b68dc000-b68dd000 r--p 00058000 08:02 2390303    /usr/lib/libpulse.so.0.20.0
b68dd000-b68de000 rw-p 00059000 08:02 2390303    /usr/lib/libpulse.so.0.20.0
b68de000-b6ac8000 r-xp 00000000 08:02 2365901    /usr/lib/libdb-5.3.so
b6ac8000-b6acd000 r--p 001e9000 08:02 2365901    /usr/lib/libdb-5.3.so
b6acd000-b6acf000 rw-p 001ee000 08:02 2365901    /usr/lib/libdb-5.3.so
b6acf000-b6b46000 r-xp 00000000 08:02 2372310    /usr/lib/libpcre.so.1.2.7
b6b46000-b6b47000 r--p 00076000 08:02 2372310    /usr/lib/libpcre.so.1.2.7
b6b47000-b6b48000 rw-p 00077000 08:02 2372310    /usr/lib/libpcre.so.1.2.7
b6b48000-b6bab000 r-xp 00000000 08:02 2384514    /usr/lib/libharfbuzz.so.0.10302.0
b6bab000-b6bac000 r--p 00062000 08:02 2384514    /usr/lib/libharfbuzz.so.0.10302.0
b6bac000-b6bad000 rw-p 00063000 08:02 2384514    /usr/lib/libharfbuzz.so.0.10302.0
b6bad000-b6bbd000 r-xp 00000000 08:02 2365672    /usr/lib/libbz2.so.1.0.6
b6bbd000-b6bbe000 rw-p 00010000 08:02 2365672    /usr/lib/libbz2.so.1.0.6
b6bbe000-b6bfe000 r-xp 00000000 08:02 2365578    /usr/lib/libreadline.so.6.3
b6bfe000-b6bff000 ---p 00040000 08:02 2365578    /usr/lib/libreadline.so.6.3
b6bff000-b6c00000 r--p 00040000 08:02 2365578    /usr/lib/libreadline.so.6.3
b6c00000-b6c04000 rw-p 00041000 08:02 2365578    /usr/lib/libreadline.so.6.3
b6c04000-b6c05000 rw-p 00000000 00:00 0 
b6c05000-b6c5f000 r-xp 00000000 08:02 2369685    /usr/lib/libdbus-1.so.3.14.8
b6c5f000-b6c60000 r--p 00059000 08:02 2369685    /usr/lib/libdbus-1.so.3.14.8
b6c60000-b6c61000 rw-p 0005a000 08:02 2369685    /usr/lib/libdbus-1.so.3.14.8
b6c61000-b6ce8000 r-xp 00000000 08:02 2390271    /usr/lib/libsndfile.so.1.0.27
b6ce8000-b6cea000 r--p 00086000 08:02 2390271    /usr/lib/libsndfile.so.1.0.27
b6cea000-b6ceb000 rw-p 00088000 08:02 2390271    /usr/lib/libsndfile.so.1.0.27
b6ceb000-b6ced000 rw-p 00000000 00:00 0 
b6ced000-b6cf1000 r-xp 00000000 08:02 2390304    /usr/lib/libpulse-simple.so.0.1.0
b6cf1000-b6cf2000 r--p 00003000 08:02 2390304    /usr/lib/libpulse-simple.so.0.1.0
b6cf2000-b6cf3000 rw-p 00004000 08:02 2390304    /usr/lib/libpulse-simple.so.0.1.0
b6cf3000-b6cf5000 rw-p 00000000 00:00 0 
b6cf5000-b6d0d000 r-xp 00000000 08:02 2391218    /usr/lib/libjack.so.0.0.28
b6d0d000-b6d0e000 r--p 00017000 08:02 2391218    /usr/lib/libjack.so.0.0.28
b6d0e000-b6d0f000 rw-p 00018000 08:02 2391218    /usr/lib/libjack.so.0.0.28
b6d0f000-b6d19000 rw-p 00000000 00:00 0 
b6d19000-b6e42000 r-xp 00000000 08:02 2372456    /usr/lib/libglib-2.0.so.0.5000.1
b6e42000-b6e43000 r--p 00128000 08:02 2372456    /usr/lib/libglib-2.0.so.0.5000.1
b6e43000-b6e44000 rw-p 00129000 08:02 2372456    /usr/lib/libglib-2.0.so.0.5000.1
b6e44000-b6e4b000 r-xp 00000000 08:02 2362591    /usr/lib/librt-2.24.so
b6e4b000-b6e4c000 r--p 00006000 08:02 2362591    /usr/lib/librt-2.24.so
b6e4c000-b6e4d000 rw-p 00007000 08:02 2362591    /usr/lib/librt-2.24.so
b6e4d000-b6e50000 r-xp 00000000 08:02 2362587    /usr/lib/libdl-2.24.so
b6e50000-b6e51000 r--p 00002000 08:02 2362587    /usr/lib/libdl-2.24.so
b6e51000-b6e52000 rw-p 00003000 08:02 2362587    /usr/lib/libdl-2.24.so
b6e52000-b7004000 r-xp 00000000 08:02 2362533    /usr/lib/libc-2.24.so
b7004000-b7005000 ---p 001b2000 08:02 2362533    /usr/lib/libc-2.24.so
b7005000-b7007000 r--p 001b2000 08:02 2362533    /usr/lib/libc-2.24.so
b7007000-b7008000 rw-p 001b4000 08:02 2362533    /usr/lib/libc-2.24.so
b7008000-b700b000 rw-p 00000000 00:00 0 
b700b000-b7027000 r-xp 00000000 08:02 2362861    /usr/lib/libgcc_s.so.1
b7027000-b7028000 r--p 0001b000 08:02 2362861    /usr/lib/libgcc_s.so.1
b7028000-b7029000 rw-p 0001c000 08:02 2362861    /usr/lib/libgcc_s.so.1
b7029000-b707c000 r-xp 00000000 08:02 2362588    /usr/lib/libm-2.24.so
b707c000-b707d000 ---p 00053000 08:02 2362588    /usr/lib/libm-2.24.so
b707d000-b707e000 r--p 00053000 08:02 2362588    /usr/lib/libm-2.24.so
b707e000-b707f000 rw-p 00054000 08:02 2362588    /usr/lib/libm-2.24.so
b707f000-b71f5000 r-xp 00000000 08:02 2362891    /usr/lib/libstdc++.so.6.0.22
b71f5000-b71fb000 r--p 00175000 08:02 2362891    /usr/lib/libstdc++.so.6.0.22
b71fb000-b71fc000 rw-p 0017b000 08:02 2362891    /usr/lib/libstdc++.so.6.0.22
b71fc000-b71ff000 rw-p 00000000 00:00 0 
b71ff000-b72bc000 r-xp 00000000 08:02 2384545    /usr/lib/libfreetype.so.6.12.6
b72bc000-b72bd000 ---p 000bd000 08:02 2384545    /usr/lib/libfreetype.so.6.12.6
b72bd000-b72c1000 r--p 000bd000 08:02 2384545    /usr/lib/libfreetype.so.6.12.6
b72c1000-b72c2000 rw-p 000c1000 08:02 2384545    /usr/lib/libfreetype.so.6.12.6
b72c2000-b7334000 r-xp 00000000 08:02 2389822    /usr/lib/libfluidsynth.so.1.5.2
b7334000-b7335000 r--p 00071000 08:02 2389822    /usr/lib/libfluidsynth.so.1.5.2
b7335000-b7337000 rw-p 00072000 08:02 2389822    /usr/lib/libfluidsynth.so.1.5.2
b7337000-b73a5000 rw-p 00000000 00:00 0 
b73a5000-b73e3000 r-xp 00000000 08:02 2390576    /usr/lib/libfaad.so.2.0.0
b73e3000-b73e4000 r--p 0003d000 08:02 2390576    /usr/lib/libfaad.so.2.0.0
b73e4000-b73e7000 rw-p 0003e000 08:02 2390576    /usr/lib/libfaad.so.2.0.0
b73e7000-b73ff000 r-xp 00000000 08:02 2390340    /usr/lib/libtheoradec.so.1.1.4
b73ff000-b7400000 r--p 00017000 08:02 2390340    /usr/lib/libtheoradec.so.1.1.4
b7400000-b7401000 rw-p 00018000 08:02 2390340    /usr/lib/libtheoradec.so.1.1.4
b7401000-b7403000 rw-p 00000000 00:00 0 
b7403000-b7419000 r-xp 00000000 08:02 2369763    /usr/lib/libz.so.1.2.8
b7419000-b741a000 r--p 00015000 08:02 2369763    /usr/lib/libz.so.1.2.8
b741a000-b741b000 rw-p 00016000 08:02 2369763    /usr/lib/libz.so.1.2.8
b741b000-b7457000 r-xp 00000000 08:02 2381245    /usr/lib/libpng16.so.16.26.0
b7457000-b7458000 r--p 0003b000 08:02 2381245    /usr/lib/libpng16.so.16.26.0
b7458000-b7459000 rw-p 0003c000 08:02 2381245    /usr/lib/libpng16.so.16.26.0
b7459000-b7575000 r-xp 00000000 08:02 2386578    /usr/lib/libasound.so.2.0.0
b7575000-b7579000 r--p 0011b000 08:02 2386578    /usr/lib/libasound.so.2.0.0
b7579000-b757a000 rw-p 0011f000 08:02 2386578    /usr/lib/libasound.so.2.0.0
b757a000-b7590000 r-xp 00000000 08:02 2390593    /usr/lib/libmad.so.0.2.1
b7590000-b7591000 r--p 00015000 08:02 2390593    /usr/lib/libmad.so.0.2.1
b7591000-b7592000 rw-p 00016000 08:02 2390593    /usr/lib/libmad.so.0.2.1
b7592000-b7608000 r-xp 00000000 08:02 2390240    /usr/lib/libFLAC.so.8.3.0
b7608000-b7609000 r--p 00075000 08:02 2390240    /usr/lib/libFLAC.so.8.3.0
b7609000-b760a000 rw-p 00076000 08:02 2390240    /usr/lib/libFLAC.so.8.3.0
b760a000-b7610000 r-xp 00000000 08:02 2390084    /usr/lib/libogg.so.0.8.2
b7610000-b7611000 r--p 00005000 08:02 2390084    /usr/lib/libogg.so.0.8.2
b7611000-b7612000 rw-p 00006000 08:02 2390084    /usr/lib/libogg.so.0.8.2
b7612000-b763d000 r-xp 00000000 08:02 2390250    /usr/lib/libvorbis.so.0.4.8
b763d000-b763e000 r--p 0002a000 08:02 2390250    /usr/lib/libvorbis.so.0.4.8
b763e000-b763f000 rw-p 0002b000 08:02 2390250    /usr/lib/libvorbis.so.0.4.8
b763f000-b7648000 r-xp 00000000 08:02 2390254    /usr/lib/libvorbisfile.so.3.3.7
b7648000-b7649000 r--p 00008000 08:02 2390254    /usr/lib/libvorbisfile.so.3.3.7
b7649000-b764a000 rw-p 00009000 08:02 2390254    /usr/lib/libvorbisfile.so.3.3.7
b764a000-b7663000 r-xp 00000000 08:02 2362515    /usr/lib/libpthread-2.24.so
b7663000-b7664000 r--p 00018000 08:02 2362515    /usr/lib/libpthread-2.24.so
b7664000-b7665000 rw-p 00019000 08:02 2362515    /usr/lib/libpthread-2.24.so
b7665000-b7667000 rw-p 00000000 00:00 0 
b7667000-b76de000 r-xp 00000000 08:02 2389892    /usr/lib/libSDL-1.2.so.0.11.4
b76de000-b76df000 ---p 00077000 08:02 2389892    /usr/lib/libSDL-1.2.so.0.11.4
b76df000-b76e0000 r--p 00077000 08:02 2389892    /usr/lib/libSDL-1.2.so.0.11.4
b76e0000-b76e1000 rw-p 00078000 08:02 2389892    /usr/lib/libSDL-1.2.so.0.11.4
b76e1000-b770b000 rw-p 00000000 00:00 0 
b770b000-b770c000 r--s 80000000 00:06 10474      /dev/snd/pcmC0D0p
b770c000-b770d000 rw-s 00000000 00:05 10780675   /SYSV0056a4d5 (deleted)
b770d000-b7712000 r-xp 00000000 08:02 2385103    /usr/lib/libXfixes.so.3.1.0
b7712000-b7713000 r--p 00004000 08:02 2385103    /usr/lib/libXfixes.so.3.1.0
b7713000-b7714000 rw-p 00005000 08:02 2385103    /usr/lib/libXfixes.so.3.1.0
b7714000-b771e000 r-xp 00000000 08:02 2384439    /usr/lib/libXrender.so.1.3.0
b771e000-b771f000 r--p 00009000 08:02 2384439    /usr/lib/libXrender.so.1.3.0
b771f000-b7720000 rw-p 0000a000 08:02 2384439    /usr/lib/libXrender.so.1.3.0
b7720000-b772a000 r-xp 00000000 08:02 2385347    /usr/lib/libXcursor.so.1.0.2
b772a000-b772b000 r--p 00009000 08:02 2385347    /usr/lib/libXcursor.so.1.0.2
b772b000-b772c000 rw-p 0000a000 08:02 2385347    /usr/lib/libXcursor.so.1.0.2
b772c000-b772d000 r--p 00197000 08:02 2380952    /usr/lib/locale/locale-archive
b772d000-b772f000 rw-p 00000000 00:00 0 
b772f000-b7731000 r--p 00000000 00:00 0          [vvar]
b7731000-b7733000 r-xp 00000000 00:00 0          [vdso]
b7733000-b7755000 r-xp 00000000 08:02 2362532    /usr/lib/ld-2.24.so
b7755000-b7756000 r--p 00021000 08:02 2362532    /usr/lib/ld-2.24.so
b7756000-b7757000 rw-p 00022000 08:02 2362532    /usr/lib/ld-2.24.so
bf9ab000-bf9fb000 rw-p 00000000 00:00 0          [stack]
[1]    13371 abort (core dumped)  scummvm

Version 1, edited 7 years ago by billniakas (previous) (next) (diff)

comment:3 by wjp, 7 years ago

Ah, this is fortify complaining. I can't reproduce it at _FORTIFY_SOURCE=1 but I do see it at _FORTIFY_SOURCE=2. Backtrace with symbols below. We'll have to investigate further to see what's happening.

#4  0x00007ffff4d8b990 in __chk_fail () from /lib64/libc.so.6
#5  0x00000000004c17a1 in strcpy (__src=0x1d0723a "CAV_PLT3.PAL", 
    __dest=0x17903ee "CAV_PLT3.PAL") at /usr/include/bits/string3.h:110
#6  Kyra::LoLEngine::loadLevelGraphics (this=this@entry=0x178b860, 
    file=<optimized out>, specialColor=<optimized out>, 
    weight=<optimized out>, vcnLen=-1, vmpLen=-1, 
    palFile=0x1d0723a "CAV_PLT3.PAL") at engines/kyra/scene_lol.cpp:307
#7  0x00000000004ca7d6 in Kyra::LoLEngine::olol_loadLevelGraphics (
    this=0x178b860, script=0x7fffffffc980) at engines/kyra/script_lol.cpp:211
#8  0x000000000046ae9f in Kyra::EMCInterpreter::op_sysCall (
    this=<optimized out>, script=0x7fffffffc980) at engines/kyra/script.cpp:306
#9  0x000000000046b98d in Kyra::EMCInterpreter::run (this=<optimized out>, 
    script=script@entry=0x7fffffffc980) at engines/kyra/script.cpp:208
#10 0x00000000004d0a79 in Kyra::LoLEngine::runInitScript (
    this=this@entry=0x178b860, filename=0x7fffffffcaf0 "LEVEL25.INI", 
    optionalFunc=0) at engines/kyra/script_lol.cpp:46
#11 0x00000000004c4a66 in Kyra::LoLEngine::loadLevel (
    this=this@entry=0x178b860, index=25) at engines/kyra/scene_lol.cpp:74
#12 0x00000000004cc5ee in Kyra::LoLEngine::olol_loadNewLevel (this=0x178b860, 
    script=0x7fffffffcbd0) at engines/kyra/script_lol.cpp:903
#13 0x000000000046ae9f in Kyra::EMCInterpreter::op_sysCall (
    this=<optimized out>, script=0x7fffffffcbd0) at engines/kyra/script.cpp:306
#14 0x000000000046b98d in Kyra::EMCInterpreter::run (this=<optimized out>, 
    script=script@entry=0x7fffffffcbd0) at engines/kyra/script.cpp:208
#15 0x00000000004d0cbf in Kyra::LoLEngine::runLevelScriptCustom (
    this=0x178b860, block=325, flags=2, charNum=charNum@entry=-1, 
    item=item@entry=0, reg3=reg3@entry=0, reg4=0)
    at engines/kyra/script_lol.cpp:88
#16 0x00000000004d0cf6 in Kyra::LoLEngine::runLevelScript (
    this=<optimized out>, block=<optimized out>, flags=<optimized out>)
    at engines/kyra/script_lol.cpp:66

in reply to:  3 comment:4 by billniakas, 7 years ago

Replying to wjp:

Ah, this is fortify complaining. I can't reproduce it at _FORTIFY_SOURCE=1 but I do see it at _FORTIFY_SOURCE=2. Backtrace with symbols below. We'll have to investigate further to see what's happening.

#4  0x00007ffff4d8b990 in __chk_fail () from /lib64/libc.so.6
#5  0x00000000004c17a1 in strcpy (__src=0x1d0723a "CAV_PLT3.PAL", 
    __dest=0x17903ee "CAV_PLT3.PAL") at /usr/include/bits/string3.h:110
#6  Kyra::LoLEngine::loadLevelGraphics (this=this@entry=0x178b860, 
    file=<optimized out>, specialColor=<optimized out>, 
    weight=<optimized out>, vcnLen=-1, vmpLen=-1, 
    palFile=0x1d0723a "CAV_PLT3.PAL") at engines/kyra/scene_lol.cpp:307
#7  0x00000000004ca7d6 in Kyra::LoLEngine::olol_loadLevelGraphics (
    this=0x178b860, script=0x7fffffffc980) at engines/kyra/script_lol.cpp:211
#8  0x000000000046ae9f in Kyra::EMCInterpreter::op_sysCall (
    this=<optimized out>, script=0x7fffffffc980) at engines/kyra/script.cpp:306
#9  0x000000000046b98d in Kyra::EMCInterpreter::run (this=<optimized out>, 
    script=script@entry=0x7fffffffc980) at engines/kyra/script.cpp:208
#10 0x00000000004d0a79 in Kyra::LoLEngine::runInitScript (
    this=this@entry=0x178b860, filename=0x7fffffffcaf0 "LEVEL25.INI", 
    optionalFunc=0) at engines/kyra/script_lol.cpp:46
#11 0x00000000004c4a66 in Kyra::LoLEngine::loadLevel (
    this=this@entry=0x178b860, index=25) at engines/kyra/scene_lol.cpp:74
#12 0x00000000004cc5ee in Kyra::LoLEngine::olol_loadNewLevel (this=0x178b860, 
    script=0x7fffffffcbd0) at engines/kyra/script_lol.cpp:903
#13 0x000000000046ae9f in Kyra::EMCInterpreter::op_sysCall (
    this=<optimized out>, script=0x7fffffffcbd0) at engines/kyra/script.cpp:306
#14 0x000000000046b98d in Kyra::EMCInterpreter::run (this=<optimized out>, 
    script=script@entry=0x7fffffffcbd0) at engines/kyra/script.cpp:208
#15 0x00000000004d0cbf in Kyra::LoLEngine::runLevelScriptCustom (
    this=0x178b860, block=325, flags=2, charNum=charNum@entry=-1, 
    item=item@entry=0, reg3=reg3@entry=0, reg4=0)
    at engines/kyra/script_lol.cpp:88
#16 0x00000000004d0cf6 in Kyra::LoLEngine::runLevelScript (
    this=<optimized out>, block=<optimized out>, flags=<optimized out>)
    at engines/kyra/script_lol.cpp:66

Which symbols should i use? All of them? Btw i compiled the latest git version and the bug is gone. The compiled version is tested in Ubuntu 16.10.

comment:5 by wjp, 7 years ago

Thanks for the report. This was an actual buffer overflow, and I've just committed a fix to git master.

The crash you were seeing was fortify detecting the buffer overflow (and aborting on it) even if it didn't necessarily cause any problems by itself, and would depend on 32/64 bit and any internal padding for struct alignment.

comment:6 by wjp, 7 years ago

Owner: set to wjp
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.