Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#4750 closed defect (wontfix)

SWORD1: segfault with my game data files

Reported by: (none) Owned by: fingolfin
Priority: normal Component: Engine: Sword1
Keywords: script Cc:
Game: Broken Sword 1

Description

./scummvm -b 61 sword1
is segfaulting with my game data files. With other data files game is working correctly.

ScummVM version:
Last Changed Author: waltervn
Last Changed Rev: 47297
Last Changed Date: 2010-01-14 02:44:11 +0100 (Thu, 14 Jan 2010)

Bug details:
Starting 'Broken Sword: The Shadow of the Templars'

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7a7a6c0 (LWP 13565)]
0x086e7b1d in Sword1::ResMan::fetchFrame (this=0x8d2e3a8, resourceData=0x8dc1128, frameNo=1162760014) at ./common/endian.h:176
176 return *(const uint32 *)(ptr);
(gdb) where
#0 0x086e7b1d in Sword1::ResMan::fetchFrame (this=0x8d2e3a8, resourceData=0x8dc1128, frameNo=1162760014) at ./common/endian.h:176
#1 0x086f093c in Sword1::Screen::addToGraphicList (this=0x8d56260, listId=1 '\001', objId=3997699) at engines/sword1/screen.cpp:834
#2 0x086e1e5b in Sword1::Logic::engine (this=0x8d2e508) at engines/sword1/logic.cpp:166
#3 0x086d3e1a in Sword1::SwordEngine::mainLoop (this=0x8cd9820) at engines/sword1/sword1.cpp:638
#4 0x086d5af1 in Sword1::SwordEngine::go (this=0x8cd9820) at engines/sword1/sword1.cpp:581
#5 0x086d7287 in Sword1::SwordEngine::run (this=0x8cd9820) at ./engines/sword1/sword1.h:105
#6 0x08055e1e in runGame (plugin=0x8bf1e48, system=@0x8be9258, edebuglevels=@0xbfdb57a0) at base/main.cpp:216
#7 0x08056838 in scummvm_main (argc=4, argv=0xbfdb58a4) at base/main.cpp:389
#8 0x08052976 in main (argc=4, argv=0xbfdb58a4) at backends/platform/sdl/main.cpp:65

Language of game: Czech
Version of game (CD version)
Platform and Compiler (Linux 32 bit, gcc version 4.2.4)

Ticket imported from: #2931926. Ticket imported from: bugs/4750.

Change History (10)

comment:1 by (none), 10 years ago

Priority: normalhigh
Summary: scumm segfault in specialscumm segfault with my game data files

comment:2 by (none), 10 years ago

here are my md5 checksums:

7072952037a5e240c868d441ca4a6da9 COMPACTS.CLU
a204877b90779ebb04a668df2288b3e9 GENERAL.CLU
62337167c67fada0d0689e0e45584ac5 IRELAND.CLU
4640fc95cc73ea2956a516f25aecd107 MAPS.CLU
6c85a3dc5c3f7b4a3e11ac22cb183cc2 PARIS1.CLU
26641ac15beab23c72479d8a1297e5be PARIS2.CLU
205db4a3a86262fa93ce13cc785be0a6 PARIS3.CLU
bfe0e1020272e9ce639981de909826c1 PARIS4.CLU
3b5fc6a9f6a309bf7a1ff3fa1866b52a SCOTLAND.CLU
32664872c78233c1a22a79bce7dbe60c SCRIPTS.CLU
30d8b84e9ccebc1087c499bdd339ce62 SPAIN.CLU
e9fdba1f5024c8c5e656c7a185ab1fb0 SWORDRES.RIF
2595fd92d91bbaa604a820b9bf6d20ad SYRIA.CLU
4b78722df04bfde461b5c2dac19b75ef TEXT.CLU
d3df148f058f4280e6166c8649aa5a1c TRAIN.CLU

comment:3 by DrMcCoy, 10 years ago

Priority: highnormal

comment:4 by DrMcCoy, 10 years ago

Please don't mess with the Priority settings, they are only for the devs.

comment:5 by eriktorbjorn, 10 years ago

I can't reproduce the error with my English version of the game. However...

> #1 0x086f093c in Sword1::Screen::addToGraphicList (this=0x8d56260,
listId=1 '\001', objId=3997699) at engines/sword1/screen.cpp:834

...in my version, this appears to be the door on the right side of the screen. If I modify addToGraphicList() to ignore listId 1, objId 3997699, the door isn't drawn.

> Sword1::ResMan::fetchFrame (this=0x8d2e3a8,
resourceData=0x8dc1128, frameNo=1162760014) at ./common/endian.h:176

This looks strange. Frame number 1162760014? And you have to multiply that by four (approximately) to get the offset into the resource data. That just can't be right. (It's 0x454E4F4E in hexadecimal, which looks almost like a pattern, but may be without any significance whatsoever.)

I get frame number 0 here. I'm not intimately familiar with the Broken Sword 1 engine, but if this is a case of damaged data files the main suspects would probably be general.clu, compacts,clu, spain.clu and scripts.clu.

comment:6 by fingolfin, 10 years ago

Summary: scumm segfault with my game data filesSWORD1: segfault with my game data files

comment:7 by fingolfin, 10 years ago

Is this an official translation, or a fan-made one?

comment:8 by (none), 10 years ago

Sorry guys,when I removed czech language, the game is working...
It was fan-made translation and these files was changed:
COMPACTS.CLU
GENERAL.CLU
SCRIPTS.CLU
SWORDRES.RIF
TEXT.CLU

After switching game back to english it is working.

comment:9 by fingolfin, 10 years ago

Sounds like a bug in the fan translation. Please report it to the authors of this translation, they are in the best position to fix this.

comment:10 by fingolfin, 10 years ago

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