Opened 4 years ago

Closed 4 years ago

#6999 closed defect (fixed)

SWORD25: Segfault on loading Broken Sword 2.5 savegame

Reported by: SF/jupi Owned by: wjp
Priority: blocker Component: Engine: Sword25
Keywords: Cc:
Game: Broken Sword 2.5

Description

scummvm (current git revision 1.8.0git6246-g75d1385) segfaults on attempting to load a Broken Sword 2.5 savegame. gdb traces the fault as follows:

~~~~

0 0x0000000001259a46 in pushstr (L=0x2724140, str=0x1dc3cf0 "") at engines/sword25/util/lua/lobject.cpp:101

1 0x0000000001259adf in luaO_pushvfstring (L=0x2724140, fmt=0x1dc3998 "memory allocation error: block too big", argp=0x7ffffffb7268) at engines/sword25/util/lua/lobject.cpp:109

2 0x00000000012530d9 in luaG_runerror (L=0x2724140, fmt=0x1dc3998 "memory allocation error: block too big") at engines/sword25/util/lua/ldebug.cpp:613

3 0x0000000001258afd in luaM_toobig (L=0x2724140) at engines/sword25/util/lua/lmem.cpp:65

4 0x00000000012535f8 in luaD_reallocstack (L=0x2724140, newsize=-872415236) at engines/sword25/util/lua/ldo.cpp:169

5 0x0000000001253770 in luaD_growstack (L=0x2724140, n=2) at engines/sword25/util/lua/ldo.cpp:189

6 0x000000000124d4e2 in lua_checkstack (L=0x2724140, size=2) at engines/sword25/util/lua/lapi.cpp:103

7 0x000000000126b22f in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:136

8 0x000000000126ba6d in Lua::unpersistThread (info=0x7ffffffb7810, index=13636) at engines/sword25/util/lua_unpersist.cpp:435

9 0x000000000126b31f in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:165

10 0x000000000126b741 in Lua::unserializeLiteralTable (info=0x7ffffffb7810, index=13609) at engines/sword25/util/lua_unpersist.cpp:319

11 0x000000000126b7c1 in Lua::unpersistTable (info=0x7ffffffb7810, index=13609) at engines/sword25/util/lua_unpersist.cpp:339

12 0x000000000126b2f6 in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:159

13 0x000000000126c6ff in Lua::unpersistUpValue (info=0x7ffffffb7810, index=13608) at engines/sword25/util/lua_unpersist.cpp:672

14 0x000000000126b345 in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:171

15 0x000000000126b917 in Lua::unpersistFunction (info=0x7ffffffb7810, index=13602) at engines/sword25/util/lua_unpersist.cpp:385

16 0x000000000126b30c in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:162

17 0x000000000126b741 in Lua::unserializeLiteralTable (info=0x7ffffffb7810, index=13598) at engines/sword25/util/lua_unpersist.cpp:319

18 0x000000000126b7c1 in Lua::unpersistTable (info=0x7ffffffb7810, index=13598) at engines/sword25/util/lua_unpersist.cpp:339

19 0x000000000126b2f6 in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:159

20 0x000000000126b741 in Lua::unserializeLiteralTable (info=0x7ffffffb7810, index=2) at engines/sword25/util/lua_unpersist.cpp:319

21 0x000000000126b7c1 in Lua::unpersistTable (info=0x7ffffffb7810, index=2) at engines/sword25/util/lua_unpersist.cpp:339

22 0x000000000126b2f6 in Lua::unpersist (info=0x7ffffffb7810) at engines/sword25/util/lua_unpersist.cpp:159

23 0x000000000126b17f in Lua::unpersistLua (luaState=0x2724140, readStream=0x7ffffffb7860) at engines/sword25/util/lua_unpersist.cpp:101

24 0x000000000124a35c in Sword25::LuaScriptEngine::unpersist (this=0x26f0f70, reader=...) at engines/sword25/script/luascript.cpp:485

25 0x000000000123a194 in Sword25::PersistenceService::loadGame (this=0x25b6640 , slotID=1) at engines/sword25/kernel/persistenceservice.cpp:412

26 0x0000000001238973 in Sword25::loadGame (L=0x2724140) at engines/sword25/kernel/kernel_script.cpp:436

27 0x0000000001254185 in luaD_precall (L=0x2724140, func=0x3374990, nresults=0) at engines/sword25/util/lua/ldo.cpp:343

28 0x0000000001267510 in luaV_execute (L=0x2724140, nexeccalls=2) at engines/sword25/util/lua/lvm.cpp:587

29 0x0000000001254449 in luaD_call (L=0x2724140, func=0x2725b30, nResults=0) at engines/sword25/util/lua/ldo.cpp:401

30 0x000000000124f106 in f_call (L=0x2724140, ud=0x7ffffffb7ff0) at engines/sword25/util/lua/lapi.cpp:803

31 0x000000000125342e in luaD_rawrunprotected (L=0x2724140, f=0x124f0d1 , ud=0x7ffffffb7ff0) at engines/sword25/util/lua/ldo.cpp:140

32 0x000000000125484c in luaD_pcall (L=0x2724140, func=0x124f0d1 , u=0x7ffffffb7ff0, old_top=32, ef=16) at engines/sword25/util/lua/ldo.cpp:487

33 0x000000000124f1b5 in lua_pcall (L=0x2724140, nargs=0, nresults=0, errfunc=-2) at engines/sword25/util/lua/lapi.cpp:824

34 0x0000000001249cdb in Sword25::LuaScriptEngine::executeBuffer (this=0x26f0f70,

data=0x3353fc0 "--[[\r\n\r\n\tBroken Sword 2.5 - Startup script\r\n\t(c) Mind Factory\r\n\t\r\n--]]\r\n\r\n--\r\n-- Konfigurationsdateien einlesen.\r\n--\r\nKernel.ExecuteFile('/system/cfg.lua')\r\nCfg.LoadConfigurationFiles()\r\n\r\n--\r\n-- Serv"..., size=3209, name=...)
at engines/sword25/script/luascript.cpp:216

35 0x0000000001249a1c in Sword25::LuaScriptEngine::executeFile (this=0x26f0f70, fileName=...) at engines/sword25/script/luascript.cpp:156

36 0x0000000001235b34 in Sword25::Sword25Engine::appMain (this=0x26fdf60) at engines/sword25/sword25.cpp:140

37 0x00000000012357a2 in Sword25::Sword25Engine::run (this=0x26fdf60) at engines/sword25/sword25.cpp:89

38 0x000000000040b427 in runGame (plugin=0x26fe290, system=..., edebuglevels=...) at base/main.cpp:247

39 0x000000000040c412 in scummvm_main (argc=1, argv=0x7fffffffe048) at base/main.cpp:492

40 0x0000000000409e89 in main (argc=1, argv=0x7fffffffe048) at backends/platform/sdl/posix/posix-main.cpp:45

~~~~

Ticket imported from: bugs/6999.

Attachments (1)

sword25-de.001 (496.4 KB ) - added by SF/jupi 4 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by wjp, 4 years ago

Could you attach a crashing savegame?

by SF/jupi, 4 years ago

Attachment: sword25-de.001 added

comment:2 by SF/jupi, 4 years ago

The attached save game is the one that causes the aforementioned crash.

comment:3 by SF/albadross, 4 years ago

I do not have a trace like above but I have tried this save game in my English version of the game and it appears to crash in the same way as the save games I provided with bug report #6977

comment:4 by dreammaster, 4 years ago

Summary: Segfault on loading Broken Sword 2.5 savegameSWORD25: Segfault on loading Broken Sword 2.5 savegame

comment:5 by sev-, 4 years ago

Priority: normalblocker

comment:6 by sev-, 4 years ago

This is critical to fix before 1.8.0

comment:7 by wjp, 4 years ago

This should be fixed now by https://github.com/scummvm/scummvm/pull/659

comment:8 by wjp, 4 years ago

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