View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0005172 | Spring engine | General | public | 2016-03-15 18:08 | 2016-03-16 17:48 | ||||
Reporter | FabriceFABS | ||||||||
Assigned To | hokomoko | ||||||||
Priority | high | Severity | crash | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 101.0+git | ||||||||
Target Version | 102.0 | Fixed in Version | |||||||
Summary | 0005172: SegFAULT If map got 3D objects (.3ds & .dae & maybe others 3D filetype) | ||||||||
Description | Small intro : By updating my maps (MetalHeck & BlockWars mainly), I've decided not use «.3ds» 3D objects filetype anymore in my maps for substitute them with the «.dae» filetype. By this, I've discovered that for instance for those 3 maps that got some 3D objects : - BlockWars-V2.2 (.3ds objects) => https://springfiles.com/spring/spring-maps/blockwars-v22 - MetalHeck-V3.2 (.3ds objects) => https://springfiles.com/spring/spring-maps/metalheck-v32 - CoagulationMarsh-V0.7 (.dae objects) => https://springfiles.com/spring/spring-maps/coagulation-marsh-5 NOTA : I've put also CoagulationMarsh-V0.7 made by Anarchid's (with same map structure like BlockWars or MetalHeck) : CoagulationMap to be sure I did no mistake on mine's. Those 3 maps can work / or not, only in such settings : [OK_] Spring RTS 100 & BAR 5245 (case of "Latest BAR"). Spring RTS 101.0.1-140 & BA 9.35, Spring RTS 101.0.1-140 & BAR<=5159 [SEG FAULT] Spring RTS 101 & BAR 5245 (case of "Latest BAR"), Spring RTS 101.0.1-140 & BAR 5245 (case of "Latest BAR"). TimeLine BAR for BAR around 5159 : http://imolarpg.dyndns.org/trac/balatest/timeline?from=03%2F11%2F16&daysback=0&authors=&milestone=on&ticket=on&changeset=on&wiki=on&update=Update [INFOLOG.TXT] for Engine 101.0.1-140 & BAR-5245 - BlockWars-V2.2 with .3ds objects *****The part that may interest most maybe***** [f=-000001] [Texture] Warning: [LoadAndCacheTexture] could not load texture "" from model "objects3d/pipe1.0.3ds" [f=-000001] [CrashHandler] Error: Segmentation fault (SIGSEGV) in spring 101.0.1-140-g5f08624 develop [f=-000001] [CrashHandler] Error: Halted Stacktrace for Spring 101.0.1-140-g5f08624 develop using libunwind: [f=-000001] [CrashHandler] Error: [00] .../spring() [0x8cc6af] log_util_prepareSection [f=-000001] [CrashHandler] Error: [01] .../spring() [0x8cc84b] log_util_prepareSection [f=-000001] [CrashHandler] Error: [02] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f4991e96340] __restore_rt [f=-000001] Error: [ErrorMessageBox][1] msg="Spring has crashed: Segmentation fault (SIGSEGV). ************EO sample************** FULL INFOLOG => http://paste.springfiles.com/view/92d3a356 -Coagulation Marsh 0.7 with .dae 3D objects *****The part that may interest most maybe***** [f=-000001] [Texture] Warning: [LoadAndCacheTexture] could not load texture "" from model "objects3d/bloodthorn1.dae" [f=-000001] searching for normals for, unittextures/bloodthorn1.png [f=-000001] [CrashHandler] Error: Segmentation fault (SIGSEGV) in spring 101.0.1-140-g5f08624 develop [f=-000001] [CrashHandler] Error: Halted Stacktrace for Spring 101.0.1-140-g5f08624 develop using libunwind: [f=-000001] [CrashHandler] Error: [00] .../spring() [0x8cc6af] log_util_prepareSection [f=-000001] [CrashHandler] Error: [01] .../spring() [0x8cc84b] log_util_prepareSection [f=-000001] [CrashHandler] Error: [02] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7fd483e8f340] __restore_rt [f=-000001] Error: [ErrorMessageBox][1] msg="Spring has crashed: Segmentation fault (SIGSEGV). ************EO sample************** FULL INFOLOG => http://paste.springfiles.com/view/29528b94 Seems the first error is the first 3D object parsed in the /objects3d dir. Thanks | ||||||||
Steps To Reproduce | Simply choose one of the map above (feel free to try some other maps with 3D objects if you need some extra-tests), and the MOD/ENG concerned. | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
FabriceFABS (reporter) 2016-03-15 18:50 |
Extra-test with The_Rising map (.s3o 3D Objects) => Works [OK_] with SpringRTS 101.0.1-140 & BAR-5245. |
Kloot (developer) 2016-03-15 18:53 |
hmm... bt full #0 0x00000000008bea52 in Assimp::Logger::debug (this=0x7fffaa1fa240, message=0x7fffaa1fa488 "Assimp 3.0.1154 amd64 gcc shared singlethreaded") at rts/lib/assimp/code/DefaultLogger.cpp:171 No locals. #1 0x00000000008b82d9 in debug (message="Assimp 3.0.1154 amd64 gcc shared singlethreaded", this=0x7fffaa1fa240) at rts/lib/assimp/code/../include/assimp/Logger.hpp:237 No locals. #2 WriteLogOpening (file="objects3d/pipe1.0.3ds") at rts/lib/assimp/code/Importer.cpp:568 l = 0x7fffaa1fa240 flags = <optimized out> 0000003 0x00000000008b89c4 in Assimp::Importer::ReadFile (this=this@entry=0x7fffb74fbab0, _pFile=<optimized out>, pFlags=pFlags@entry=426203) at rts/lib/assimp/code/Importer.cpp:584 pFile = "objects3d/pipe1.0.3ds" 0000004 0x000000000072dd22 in ReadFile (pFlags=426203, pFile="objects3d/pipe1.0.3ds", this=0x7fffb74fbab0) at rts/lib/assimp/include/assimp/Importer.hpp:592 No locals. 0000005 CAssParser::Load (this=0xac38940, modelFilePath="objects3d/pipe1.0.3ds") at rts/Rendering/Models/AssParser.cpp:207 importer = {pimpl = 0x7fffaa1f9690} scene = 0x0 parentMap = std::map with 28 elements<error reading variable: Cannot access memory at address 0x850f0bff08eb0010> metaFileParser = {fileName = "objects3d/pipe1.0.3ds.lua", fileModes = "Mb", textChunk = "", accessModes = "Mmb", valid = true, initDepth = -1, L = 0x7fffaa44e780, tables = std::set with 1 elements = {[0] = 0x7fffb74fbaf0}, rootRef = 1, currentRef = 1, lowerKeys = true, lowerCppKeys = true, errorLog = "", accessedFiles = std::set with 0 elements, static currentParser = 0x0} pieceMap = std::map with 140736268844592 elements = {[<error reading variable: Cannot access memory at address 0xffffffffffffffe8>] = 0x0<error reading variable: Cannot access memory at address 0x2a>...} model = <optimized out> modelPath = "objects3d/" modelName = "pipe1.0" metaFileName = "objects3d/pipe1.0.3ds.lua" modelTable = @0x7fffb74fbaf0: {path = "ROOT", isValid = true, parser = 0x7fffb74fbb80, L = 0x7fffaa44e780, refnum = 2} #6 0x000000000072ff02 in CModelLoader::ParseModel (this=this@entry=0xcc7f00 <CModelLoader::GetInstance()::instance>, name="pipe1.0.3ds", path="objects3d/pipe1.0.3ds") at rts/Rendering/Models/IModelParser.cpp:350 model = 0x0 parser = 0xac38940 #7 0x0000000000730b72 in CModelLoader::CreateModel (this=this@entry=0xcc7f00 <CModelLoader::GetInstance()::instance>, name="pipe1.0.3ds", path="objects3d/pipe1.0.3ds", preload=preload@entry=true) at rts/Rendering/Models/IModelParser.cpp:317 model = <optimized out> #8 0x0000000000730f81 in CModelLoader::LoadModel (this=0xcc7f00 <CModelLoader::GetInstance()::instance>, name="pipe1.0.3ds", preload=preload@entry=true) at rts/Rendering/Models/IModelParser.cpp:284 path = "objects3d/pipe1.0.3ds" refs = {0x7fffb74fbe30, 0x7fffb74fbd90} #9 0x00000000007310e0 in LoadQueue::Pump (this=0xcc7f90 <CModelLoader::GetInstance()::instance+144>) at rts/Rendering/Models/IModelParser.cpp:127 modelName = "pipe1.0.3ds" another run, another trace bt full #0 0x00007ffff416ccc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 resultvar = 0 pid = 29241 selftid = 29241 #1 0x00007ffff41700d8 in __GI_abort () at abort.c:89 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x3f800000ffffb878, sa_sigaction = 0x3f800000ffffb878}, sa_mask = {__val = {9036685, 0, 9007647, 0, 0, 0, 462056728, 140737488337104, 3, 0, 9034489, 0, 40, 18446603336221214417, 3, 0}}, sa_flags = 48, sa_restorer = 0x7fffffffb930} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007ffff41a9394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff42b7b28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 ap = {{gp_offset = 40, fp_offset = 4294934528, overflow_arg_area = 0x7fffffffbb60, reg_save_area = 0x7fffffffbaf0}} fd = 27 on_2 = <optimized out> list = <optimized out> nlist = <optimized out> cp = <optimized out> written = <optimized out> 0000003 0x00007ffff41b566e in malloc_printerr (ptr=<optimized out>, str=0x7ffff42b7cf0 "double free or corruption (fasttop)", action=1) at malloc.c:4996 buf = "00007fffa8025cc0" cp = <optimized out> 0000004 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840 size = <optimized out> fb = <optimized out> nextchunk = <optimized out> nextsize = <optimized out> nextinuse = <optimized out> prevsize = <optimized out> bck = <optimized out> fwd = <optimized out> errstr = <optimized out> locked = <optimized out> 0000005 0x00000000008be8d7 in ~LogStreamInfo (this=0x7fffa8297490, __in_chrg=<optimized out>) at rts/lib/assimp/code/DefaultLogger.cpp:87 No locals. #6 Assimp::DefaultLogger::~DefaultLogger (this=0x1d3cb3c0, __in_chrg=<optimized out>) at rts/lib/assimp/code/DefaultLogger.cpp:368 it = #7 0x00000000008be919 in Assimp::DefaultLogger::~DefaultLogger (this=0x1d3cb3c0, __in_chrg=<optimized out>) at rts/lib/assimp/code/DefaultLogger.cpp:370 No locals. #8 0x00000000008bf100 in Assimp::DefaultLogger::create (name=name@entry=0xaceeeb "", severity=severity@entry=Assimp::Logger::VERBOSE, defStreams=defStreams@entry=9, io=io@entry=0x0) at rts/lib/assimp/code/DefaultLogger.cpp:137 No locals. #9 0x000000000072dc4e in CAssParser::Load (this=0x985b3e0, modelFilePath="objects3d/pipe2.0.3ds") at rts/Rendering/Models/AssParser.cpp:184 importer = {pimpl = 0x1b7e13c0} scene = <optimized out> parentMap = std::map with 28 elements<error reading variable: Cannot access memory at address 0x850f0bff08eb0010> metaFileParser = {fileName = "objects3d/pipe2.0.3ds.lua", fileModes = "Mb", textChunk = "", accessModes = "Mmb", valid = true, initDepth = -1, L = 0x21728730, tables = std::set with 1 elements = {[0] = 0x7fffffffbd30}, rootRef = 1, currentRef = 1, lowerKeys = true, lowerCppKeys = true, errorLog = "", accessedFiles = std::set with 0 elements, static currentParser = 0x0} pieceMap = std::map with 140737488339040 elements = {[<error reading variable: Cannot access memory at address 0xffffffffffffffe8>] = 0x1d936be0<error reading variable: Cannot access memory at address 0x30>...} model = <optimized out> modelPath = "objects3d/" modelName = "pipe2.0" metaFileName = "objects3d/pipe2.0.3ds.lua" modelTable = @0x7fffffffbd30: {path = "ROOT", isValid = true, parser = 0x7fffffffbdc0, L = 0x21728730, refnum = 2} 0000010 0x000000000072ff02 in CModelLoader::ParseModel (this=this@entry=0xcc7f00 <CModelLoader::GetInstance()::instance>, name="pipe2.0.3ds", path="objects3d/pipe2.0.3ds") at rts/Rendering/Models/IModelParser.cpp:350 model = 0x0 parser = 0x985b3e0 #11 0x0000000000730b72 in CModelLoader::CreateModel (this=this@entry=0xcc7f00 <CModelLoader::GetInstance()::instance>, name="pipe2.0.3ds", path="objects3d/pipe2.0.3ds", preload=preload@entry=false) at rts/Rendering/Models/IModelParser.cpp:317 model = <optimized out> 0000012 0x0000000000730f81 in CModelLoader::LoadModel (this=0xcc7f00 <CModelLoader::GetInstance()::instance>, name="pipe2.0.3ds", preload=preload@entry=false) at rts/Rendering/Models/IModelParser.cpp:284 ---Type <return> to continue, or q <return> to quit--- path = "objects3d/pipe2.0.3ds" refs = {0x7fffffffc060, 0x7fffffffbfd0} 0000013 0x00000000009e1d43 in SolidObjectDef::LoadModel (this=this@entry=0xda82540) at rts/Sim/Objects/SolidObjectDef.cpp:75 No locals. 0000014 0x000000000063e401 in LuaUtils::PushModelTable (L=0x18f58a30, def=0xda82540) at rts/Lua/LuaUtils.cpp:757 modelPath = "objects3d/pipe2.0.3ds" modelType = "3ds" model = <optimized out> #15 0x00000000005b19b8 in FeatureDefIndex (L=0x18f58a30) at rts/Lua/LuaFeatureDefs.cpp:166 fd = <optimized out> name = 0x1b8ec798 "model" it = {first = "model", second = {type = FUNCTION_TYPE, offset = 0, func = <ModelTable(lua_State*, void const*)>, deprecated = false}} userData = <optimized out> elem = @0x1b0a8b18: {type = FUNCTION_TYPE, offset = 0, func = 0x5b16f0 <ModelTable(lua_State*, void const*)>, deprecated = false} p = <optimized out> L = 0x18f58a30 #16 0x0000000000892feb in luaD_precall (L=L@entry=0x18f58a30, func=func@entry=0x1b6f6800, nresults=1) at rts/lib/lua/src/ldo.cpp:320 ci = <optimized out> n = <optimized out> cl = <optimized out> funcr = <optimized out> #17 0x0000000000893294 in luaD_call (L=L@entry=0x18f58a30, func=0x1b6f6800, nResults=nResults@entry=1) at rts/lib/lua/src/ldo.cpp:377 No locals. #18 0x000000000089fa77 in callTMres (L=L@entry=0x18f58a30, res=<optimized out>, f=<optimized out>, p1=<optimized out>, p2=<optimized out>) at rts/lib/lua/src/lvm.cpp:110 result = 976 #19 0x00000000008a017c in luaV_gettable (L=L@entry=0x18f58a30, t=<optimized out>, key=<optimized out>, val=<optimized out>) at rts/lib/lua/src/lvm.cpp:147 tm = <optimized out> loop = <optimized out> 0000020 0x00000000008a0f2f in luaV_execute (L=L@entry=0x18f58a30, nexeccalls=nexeccalls@entry=1) at rts/lib/lua/src/lvm.cpp:493 rb = <optimized out> i = <optimized out> ra = <optimized out> cl = 0x1bb69010 base = <optimized out> k = 0x1bb92900 pc = 0x1bb68b08 #21 0x00000000008932dd in luaD_call (L=0x18f58a30, func=0x1b6f66e0, nResults=<optimized out>) at rts/lib/lua/src/ldo.cpp:378 No locals. #22 0x00000000008926da in luaD_rawrunprotected (L=L@entry=0x18f58a30, f=f@entry=0x88b760 <f_call(lua_State*, void*)>, ud=ud@entry=0x7fffffffc480) at rts/lib/lua/src/ldo.cpp:116 lj = {previous = 0x7fffffffca50, b = 6543787, status = 0} #23 0x000000000089347a in luaD_pcall (L=L@entry=0x18f58a30, func=func@entry=0x88b760 <f_call(lua_State*, void*)>, u=u@entry=0x7fffffffc480, old_top=816, ef=<optimized out>) at rts/lib/lua/src/ldo.cpp:464 status = <optimized out> old_ci = 320 old_errfunc = 0 oldnCcalls = 2 old_allowhooks = 1 '\001' 0000024 0x000000000088ce38 in lua_pcall (L=L@entry=0x18f58a30, nargs=nargs@entry=0, nresults=nresults@entry=-1, errfunc=errfunc@entry=0) at rts/lib/lua/src/lapi.cpp:833 c = {func = 0x1b6f66e0, nresults = -1} status = <optimized out> func = <optimized out> #25 0x0000000000647b8b in LuaVFS::Include (L=0x18f58a30, synced=<optimized out>) at rts/Lua/LuaVFS.cpp:189 hasCustomEnv = <optimized out> __FUNCTION__ = "Include" paramTop = 1 filename = "ModelMaterials/3_features_wrecks.lua" modes = "rMmb" code = "-- $Id$\r\n", '-' <repeats 80 times>, "\r\n", '-' <repeats 80 times>, "\r\n\r\n\r\nlocal materials = {\r\n\tf"... ---Type <return> to continue, or q <return> to quit--- error = 0 0000026 0x0000000000892feb in luaD_precall (L=L@entry=0x18f58a30, func=0x1b6f66c0, nresults=nresults@entry=2) at rts/lib/lua/src/ldo.cpp:320 ci = <optimized out> n = <optimized out> cl = <optimized out> funcr = <optimized out> 0000027 0x00000000008a0d90 in luaV_execute (L=L@entry=0x18f58a30, nexeccalls=5, nexeccalls@entry=1) at rts/lib/lua/src/lvm.cpp:613 b = <optimized out> nresults = 2 i = <optimized out> ra = <optimized out> cl = 0x1b753220 base = <optimized out> k = 0x1b74e3a0 pc = 0x1b74e4f8 #28 0x00000000008932dd in luaD_call (L=0x18f58a30, func=0x18f59390, nResults=<optimized out>) at rts/lib/lua/src/ldo.cpp:378 No locals. 0000029 0x00000000008926da in luaD_rawrunprotected (L=L@entry=0x18f58a30, f=f@entry=0x88b760 <f_call(lua_State*, void*)>, ud=ud@entry=0x7fffffffcac0) at rts/lib/lua/src/ldo.cpp:116 lj = {previous = 0x7fffffffd090, b = 6543787, status = 0} #30 0x000000000089347a in luaD_pcall (L=L@entry=0x18f58a30, func=func@entry=0x88b760 <f_call(lua_State*, void*)>, u=u@entry=0x7fffffffcac0, old_top=112, ef=<optimized out>) at rts/lib/lua/src/ldo.cpp:464 status = <optimized out> old_ci = 80 old_errfunc = 16 oldnCcalls = 1 old_allowhooks = 1 '\001' #31 0x000000000088ce38 in lua_pcall (L=L@entry=0x18f58a30, nargs=nargs@entry=0, nresults=nresults@entry=-1, errfunc=errfunc@entry=0) at rts/lib/lua/src/lapi.cpp:833 c = {func = 0x18f59390, nresults = -1} status = <optimized out> func = <optimized out> #32 0x0000000000647b8b in LuaVFS::Include (L=0x18f58a30, synced=<optimized out>) at rts/Lua/LuaVFS.cpp:189 hasCustomEnv = <optimized out> __FUNCTION__ = "Include" paramTop = 3 filename = "LuaRules/gadgets.lua" modes = "Mmb" code = '-' <repeats 80 times>, "\n", '-' <repeats 80 times>, "\n--\n-- file: gadgets.lua\n-- brief:"... error = 0 #33 0x0000000000892feb in luaD_precall (L=L@entry=0x18f58a30, func=0x18f59350, nresults=nresults@entry=0) at rts/lib/lua/src/ldo.cpp:320 ci = <optimized out> n = <optimized out> cl = <optimized out> funcr = <optimized out> 0000034 0x00000000008a0d90 in luaV_execute (L=L@entry=0x18f58a30, nexeccalls=nexeccalls@entry=1) at rts/lib/lua/src/lvm.cpp:613 b = <optimized out> nresults = 0 i = <optimized out> ra = <optimized out> cl = 0x1b65a0b0 base = <optimized out> k = 0x1b659ca0 pc = 0x1b659d70 0000035 0x00000000008932dd in luaD_call (L=0x18f58a30, func=0x18f59340, nResults=<optimized out>) at rts/lib/lua/src/ldo.cpp:378 No locals. #36 0x00000000008926da in luaD_rawrunprotected (L=L@entry=0x18f58a30, f=f@entry=0x88b760 <f_call(lua_State*, void*)>, ud=ud@entry=0x7fffffffd100) at rts/lib/lua/src/ldo.cpp:116 lj = {previous = 0x0, b = 459643552, status = 0} #37 0x000000000089347a in luaD_pcall (L=L@entry=0x18f58a30, func=func@entry=0x88b760 <f_call(lua_State*, void*)>, u=u@entry=0x7fffffffd100, old_top=32, ef=<optimized out>) at rts/lib/lua/src/ldo.cpp:464 ---Type <return> to continue, or q <return> to quit--- status = <optimized out> old_ci = 0 old_errfunc = 0 oldnCcalls = 0 old_allowhooks = 1 '\001' #38 0x000000000088ce38 in lua_pcall (L=L@entry=0x18f58a30, nargs=nargs@entry=0, nresults=nresults@entry=0, errfunc=errfunc@entry=1) at rts/lib/lua/src/lapi.cpp:833 c = {func = 0x18f59340, nresults = 0} status = <optimized out> func = <optimized out> 0000039 0x00000000005b6b2e in ScopedLuaCall (_popErrFunc=<optimized out>, _errFuncIdx=<optimized out>, _nOutArgs=0, _nInArgs=0, func=<optimized out>, state=0x18f58a30, handle=<optimized out>, this=<synthetic pointer>) at rts/Lua/LuaHandle.cpp:302 prevMatState = {mode = 5888, modelView = 0, projection = 0, texture = 0} matTracker = @0x18f545b8: {matrixData = {mode = 5888, modelView = 0, projection = 0, texture = 0}, listMode = false} #40 CLuaHandle::RunCallInTraceback (this=this@entry=0x18f54420, L=L@entry=0x18f58a30, hs=hs@entry=0xcb0840 <CLuaHandle::LoadCode(lua_State*, std::string const&, std::string const&)::cmdStr>, inArgs=inArgs@entry=0, outArgs=outArgs@entry=0, errFuncIndex=1, tracebackMsg="", popErrorFunc=popErrorFunc@entry=false) at rts/Lua/LuaHandle.cpp:373 call = {luaState = 0x18f58a30, luaHandle = <optimized out>, nInArgs = <optimized out>, nOutArgs = <optimized out>, errFuncIdx = <optimized out>, popErrFunc = <optimized out>, top = <optimized out>, error = <optimized out>} #41 0x00000000005b6f03 in CLuaHandle::RunCallInTraceback (this=this@entry=0x18f54420, L=L@entry=0x18f58a30, hs=..., inArgs=inArgs@entry=0, outArgs=outArgs@entry=0, errFuncIndex=<optimized out>, popErrFunc=popErrFunc@entry=false) at rts/Lua/LuaHandle.cpp:383 traceback = "" error = <optimized out> 0000042 0x00000000005bfb35 in CLuaHandle::LoadCode (this=this@entry=0x18f54420, L=0x18f58a30, code="if (select == nil) then\r\n select = function(n,...) \r\n local arg = arg\r\n if (not arg) then arg = {...}; arg.n = #arg end\r\n return arg[((n=='#') and 'n')or n]\r\n end\r\nend\r\n\r\nVFS.Include(Script"..., debug="LuaRules/draw.lua") at rts/Lua/LuaHandle.cpp:419 cmdStr = {str = "Initialize", hash = 1287071195} traceBack = {L = 0x18f58a30, errFuncIdx = 1} loadError = 0 ret = true 0000043 0x00000000005c7f86 in CUnsyncedLuaHandle::Init (this=this@entry=0x18f54420, code="if (select == nil) then\r\n select = function(n,...) \r\n local arg = arg\r\n if (not arg) then arg = {...}; arg.n = #arg end\r\n return arg[((n=='#') and 'n')or n]\r\n end\r\nend\r\n\r\nVFS.Include(Script"..., file="LuaRules/draw.lua") at rts/Lua/LuaHandleSynced.cpp:148 No locals. 0000044 0x00000000005c957e in CLuaHandleSynced::Init (this=this@entry=0x18f541a0, syncedFile="LuaRules/main.lua", unsyncedFile="LuaRules/draw.lua", modes="M") at rts/Lua/LuaHandleSynced.cpp:1366 syncedCode = "if (select == nil) then\n select = function(n,...) \n local arg = arg\n if (not arg) then arg = {...}; arg.n = #arg end\n return arg[((n=='#') and 'n')or n]\n end\nend\n\nSpring.Echo('LuaRules Entr"... unsyncedCode = "if (select == nil) then\r\n select = function(n,...) \r\n local arg = arg\r\n if (not arg) then arg = {...}; arg.n = #arg end\r\n return arg[((n=='#') and 'n')or n]\r\n end\r\nend\r\n\r\nVFS.Include(Script"... haveSynced = true haveUnsynced = <optimized out> 0000045 0x00000000005e773a in CLuaRules::CLuaRules (this=0x18f541a0) at rts/Lua/LuaRules.cpp:57 No locals. 0000046 0x00000000005e7d5d in CLuaRules::LoadHandler () at rts/Lua/LuaRules.cpp:35 No locals. 0000047 0x00000000004cf7d8 in LoadFreeHandler () at rts/Lua/LuaRules.h:33 No locals. 0000048 CGame::LoadLua (this=this@entry=0x15d3e50) at rts/Game/Game.cpp:653 No locals. 0000049 0x00000000004d78c0 in CGame::LoadGame (this=0x15d3e50, mapName="maps/BlockWars.smf", threaded=threaded@entry=false) at rts/Game/Game.cpp:394 No locals. 0000050 0x00000000004f62ad in CLoadScreen::Init (this=this@entry=0x1a8e3c0) at rts/Game/LoadScreen.cpp:133 No locals. 0000051 0x00000000004f6c70 in CLoadScreen::CreateInstance (mapName="maps/BlockWars.smf", modName="bar-svn.sdd", saveFile=saveFile@entry=0x0) at rts/Game/LoadScreen.cpp:201 No locals. 0000052 0x00000000004fd1dd in CPreGame::UpdateClientNet (this=this@entry=0x1278bd0) at rts/Game/PreGame.cpp:340 playerNum = <optimized out> inbuf = <optimized out> packet = {px = <optimized out>, pn = {pi_ = 0x12e3440}} __FUNCTION__ = "UpdateClientNet" 0000053 0x00000000004fde46 in CPreGame::Update (this=0x1278bd0) at rts/Game/PreGame.cpp:172 ---Type <return> to continue, or q <return> to quit--- No locals. #54 0x00000000007d0818 in SpringApp::Update (this=this@entry=0x7fffffffdc80) at rts/System/SpringApp.cpp:980 ret = 1 cputimer = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, hash = 19253840, starttime = {static binder = {class_ = {members = std::vector of length 1, capacity 1 = {{name = 0xab4fea "x", type = { px = 0xd792d0, pn = {pi_ = 0xd79810}}, offset = 0, alignment = 8, flags = 0}}, binder = 0xccef60 <spring_time::binder>, name = "spring_time", size = 8, alignment = 8, serializeProc = {<std::_Maybe_unary_or_binary_function<void, void*, creg::ISerializer*>> = {<std::binary_function<void*, creg::ISerializer*, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xd79860, _M_const_object = 0xd79860, _M_function_pointer = 0xd79860, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xd79860, this adjustment 8331830}, _M_pod_data = "`\230\327\000\000\000\000\000\066\"\177\000\000\000\000"}, _M_manager = 0x7b2710 <std::_Function_base::_Base_manager<void creg::Class::SetSerialize<spring_time, void (spring_time::*)(creg::ISerializer*)>(spring_time*, void (spring_time::*)(creg::ISerializer*))::{lambda(void*, creg::ISerializer*)#1}>::_M_manager(std::_Any_data&, std::_Function_base::_Base_manager<void creg::Class::SetSerialize<spring_time, void (spring_time::*)(creg::ISerializer*)>(spring_time*, void (spring_time::*)(creg::ISerializer*))::{lambda(void*, creg::ISerializer*)#1}> const&, std::_Manager_operation)>}, _M_invoker = 0x669f90 <std::_Function_handler<void (void*, creg::ISerializer*), void creg::Class::SetSerialize<CReadMap, void (CReadMap::*)(creg::ISerializer*)>(CReadMap*, void (CReadMap::*)(creg::ISerializer*))::{lambda(void*, creg::ISerializer*)#1}>::_M_invoke(std::_Any_data const&, void*, creg::ISerializer*)>}, postLoadProc = {<std::_Maybe_unary_or_binary_function<void, void*>> = {<std::unary_function<void*, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' <repeats 15 times>}, _M_manager = 0x0}, _M_invoker = 0x0}, currentMemberFlags = 0}, base = 0x0, flags = creg::CF_None, name = 0xac3fd9 "spring_time", size = 8, alignment = 8, hasVTable = false, isCregStruct = true, constructor = 0x7b21d0 <spring_time::_ConstructInstance(void*)>, destructor = 0x7b21e0 <spring_time::_DestructInstance(void*)>}, static creg_hasVTable = false, static creg_isStruct = true, x = 8464469049, static xs = 1458064377169448352}, nameIterator = <error reading variable> 0000055 0x00000000007d5b78 in SpringApp::Run (this=this@entry=0x7fffffffdc80) at rts/System/SpringApp.cpp:1016 __FUNCTION__ = "Run" 0000056 0x00000000007ae4b5 in Run (argc=argc@entry=1, argv=argv@entry=0x7fffffffdf38) at rts/System/Main.cpp:48 app = {cmdline = {px = 0xde9f80, pn = {pi_ = 0xdea2c0}}, clientSetup = {px = 0x155ba00, pn = {pi_ = 0x19ad0d0}}} ret = -1 err = <optimized out> 0000057 0x000000000047576c in main (argc=1, argv=0x7fffffffdf38) at rts/System/Main.cpp:107 |
Kloot (developer) 2016-03-15 19:05 |
either a threading issue or memory corruption in assparser/assimp because some runs do succeed. |
abma (administrator) 2016-03-16 15:41 |
i'm getting this: [f=-000001] [LoadFinalize] finalized PFS (14117ms, checksum 1f46a3c5) [f=-000001] Error: OpenGL: source<API> type<other> id<1> severity<medium>: FBO incomplete: no attachments [-1] [f=-000001] Set water rendering mode to 1 (reflective) [f=-000001] Set view resolution: 1615 x 1026 ================================================================= ==15579==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdcef25b7c at pc 0x000000ccfec8 bp 0x7ffdcef258d0 sp 0x7ffdcef258c0 READ of size 4 at 0x7ffdcef25b7c thread T0 (unknown) #0 0xccfec7 in CTextWrap::RemergeColorCodes(std::__cxx11::list<CTextWrap::word, std::allocator<CTextWrap::word> >*, std::__cxx11::list<CTextWrap::colorcode, std::allocator<CTextWrap::colorcode> >&) const rts/Rendering/Fonts/TextWrap.cpp:514 #1 0xcd10c2 in CTextWrap::WrapInPlace(std::u8string&, float, float, float) rts/Rendering/Fonts/TextWrap.cpp:559 #2 0x7bc0b8 in CTextWrap::WrapInPlace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, float, float, float) rts/Rendering/Fonts/TextWrap.h:87 0000003 0x7bc0b8 in LuaFonts::WrapText(lua_State*) rts/Lua/LuaFonts.cpp:290 0000004 0xfd4b55 in luaD_precall(lua_State*, lua_TValue*, int) rts/lib/lua/src/ldo.cpp:320 0000005 0xff84d6 in luaV_execute(lua_State*, int) rts/lib/lua/src/lvm.cpp:634 #6 0xfd53ac in luaD_call(lua_State*, lua_TValue*, int) rts/lib/lua/src/ldo.cpp:378 #7 0xfd2aa6 in luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) rts/lib/lua/src/ldo.cpp:116 #8 0xfd5893 in luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) rts/lib/lua/src/ldo.cpp:464 #9 0xfc8300 in lua_pcall(lua_State*, int, int, int) rts/lib/lua/src/lapi.cpp:833 0000010 0xfcbe7b in luaB_xpcall rts/lib/lua/src/lbaselib.cpp:389 #11 0xfd4b55 in luaD_precall(lua_State*, lua_TValue*, int) rts/lib/lua/src/ldo.cpp:320 0000012 0xff85a2 in luaV_execute(lua_State*, int) rts/lib/lua/src/lvm.cpp:613 0000013 0xfd53ac in luaD_call(lua_State*, lua_TValue*, int) rts/lib/lua/src/ldo.cpp:378 0000014 0xfd2aa6 in luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) rts/lib/lua/src/ldo.cpp:116 #15 0xfd5893 in luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) rts/lib/lua/src/ldo.cpp:464 #16 0xfc8300 in lua_pcall(lua_State*, int, int, int) rts/lib/lua/src/lapi.cpp:833 #17 0xfcbe17 in luaB_pcall rts/lib/lua/src/lbaselib.cpp:377 #18 0xfd4b55 in luaD_precall(lua_State*, lua_TValue*, int) rts/lib/lua/src/ldo.cpp:320 #19 0xff85a2 in luaV_execute(lua_State*, int) rts/lib/lua/src/lvm.cpp:613 0000020 0xfd53ac in luaD_call(lua_State*, lua_TValue*, int) rts/lib/lua/src/ldo.cpp:378 #21 0xfd2aa6 in luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) rts/lib/lua/src/ldo.cpp:116 #22 0xfd5893 in luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) rts/lib/lua/src/ldo.cpp:464 #23 0xfc8300 in lua_pcall(lua_State*, int, int, int) rts/lib/lua/src/lapi.cpp:833 0000024 0x7c0b93 in ScopedLuaCall rts/Lua/LuaHandle.cpp:302 #25 0x7c0b93 in CLuaHandle::RunCallInTraceback(lua_State*, LuaHashString const*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool) rts/Lua/LuaHandle.cpp:373 0000026 0x7c17bc in CLuaHandle::RunCallInTraceback(lua_State*, LuaHashString const&, int, int, int, bool) rts/Lua/LuaHandle.cpp:383 0000027 0x7dd658 in CLuaHandle::RunCallIn(lua_State*, LuaHashString const&, int, int) rts/Lua/LuaHandle.h:346 #28 0x7dd658 in CLuaHandle::RunDrawCallIn(LuaHashString const&) rts/Lua/LuaHandle.cpp:1729 0000029 0x7dd82e in CLuaHandle::DrawGenesis() rts/Lua/LuaHandle.cpp:1742 #30 0xd10571 in CEventHandler::DrawGenesis() rts/System/EventHandler.cpp:559 #31 0x546532 in CGame::Draw() rts/Game/Game.cpp:1150 #32 0xdb5916 in SpringApp::Update() rts/System/SpringApp.cpp:984 #33 0xdc0caf in SpringApp::Run() rts/System/SpringApp.cpp:1016 0000034 0xd563c6 in Run(int, char**) rts/System/Main.cpp:48 0000035 0x4a6caf in main rts/System/Main.cpp:107 #36 0x7eff9a2ea9ff in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x209ff) #37 0x4e40a8 in _start (/usr/local/bin/spring+0x4e40a8) Address 0x7ffdcef25b7c is located in stack of thread T0 (unknown) at offset 92 in frame #0 0xcd0f6f in CTextWrap::WrapInPlace(std::u8string&, float, float, float) rts/Rendering/Fonts/TextWrap.cpp:544 This frame has 3 object(s): [32, 56) 'words' [96, 120) 'colorcodes' <== Memory access at offset 92 underflows this variable [160, 192) '<unknown>' HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow rts/Rendering/Fonts/TextWrap.cpp:514 CTextWrap::RemergeColorCodes(std::__cxx11::list<CTextWrap::word, std::allocator<CTextWrap::word> >*, std::__cxx11::list<CTextWrap::colorcode, std::allocator<CTextWrap::colorcode> >&) const Shadow bytes around the buggy address: 0x100039ddcb10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x100039ddcb20: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00 0x100039ddcb30: f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 00 00 00 00 0x100039ddcb40: 00 00 00 f4 f2 f2 f2 f2 00 00 00 00 00 00 00 f4 0x100039ddcb50: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 =>0x100039ddcb60: 00 00 00 00 f1 f1 f1 f1 00 00 00 f4 f2 f2 f2[f2] 0x100039ddcb70: 00 00 00 f4 f2 f2 f2 f2 00 00 00 00 f3 f3 f3 f3 0x100039ddcb80: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 0x100039ddcb90: 00 00 f1 f1 f1 f1 00 00 00 00 f3 f3 f3 f3 f3 f3 0x100039ddcba0: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x100039ddcbb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Heap right redzone: fb Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack partial redzone: f4 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe ==15579==ABORTING 101.0.1-144-ge27d26f |
abma (administrator) 2016-03-16 15:43 Last edited: 2016-03-16 15:44 |
also: Warning: Invalid Name detected, please contact the author of the archive to remove the Version from the Name: BlockWars-V2.2, Version: 2.2 Warning: /home/abma/.spring/maps/blockwars-v2.2.sd7: mapfile isn't set in mapinfo.lua, please set it for faster loading! |
hokomoko (developer) 2016-03-16 17:12 |
Fix 4f2360d98cdeace1dabfc174fa5356d9aef4f042 committed to develop branch: Fix 0005172, repo: spring changeset id: 6832 |
hokomoko (developer) 2016-03-16 17:14 |
can you please verify that it is solved after https://github.com/spring/spring/commit/4f2360d98cdeace1dabfc174fa5356d9aef4f042 ? |
abma (administrator) 2016-03-16 17:20 |
mine no, but idk if i hit the same bug as others. current infolog: http://paste.springfiles.com/view/74bb6bb3 |
hokomoko (developer) 2016-03-16 17:31 |
I don't think it is |
Kloot (developer) 2016-03-16 17:43 |
TextWrap crash looks unrelated. I can't trigger it anymore with 4f2360 (loaded BlockWars 20 consecutive times), and had more or less converged to the same fix. |
hokomoko (developer) 2016-03-16 17:48 |
cool, thanks |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2016-03-15 18:08 | FabriceFABS | New Issue | |
2016-03-15 18:50 | FabriceFABS | Note Added: 0016077 | |
2016-03-15 18:53 | Kloot | Note Added: 0016078 | |
2016-03-15 19:05 | Kloot | Note Added: 0016079 | |
2016-03-16 15:41 | abma | Note Added: 0016086 | |
2016-03-16 15:41 | abma | Target Version | => 102.0 |
2016-03-16 15:43 | abma | Note Added: 0016087 | |
2016-03-16 15:44 | abma | Note Edited: 0016087 | View Revisions |
2016-03-16 15:55 | abma | Severity | block => crash |
2016-03-16 17:12 | hokomoko | Changeset attached | => spring develop 4f2360d9 |
2016-03-16 17:12 | hokomoko | Note Added: 0016089 | |
2016-03-16 17:12 | hokomoko | Assigned To | => hokomoko |
2016-03-16 17:12 | hokomoko | Status | new => resolved |
2016-03-16 17:12 | hokomoko | Resolution | open => fixed |
2016-03-16 17:14 | hokomoko | Note Added: 0016090 | |
2016-03-16 17:14 | hokomoko | Status | resolved => feedback |
2016-03-16 17:14 | hokomoko | Resolution | fixed => reopened |
2016-03-16 17:20 | abma | Note Added: 0016092 | |
2016-03-16 17:31 | hokomoko | Note Added: 0016093 | |
2016-03-16 17:43 | Kloot | Note Added: 0016094 | |
2016-03-16 17:48 | hokomoko | Note Added: 0016095 | |
2016-03-16 17:48 | hokomoko | Status | feedback => resolved |
2016-03-16 17:48 | hokomoko | Resolution | reopened => fixed |