View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0002708 | Spring engine | General | public | 2011-11-06 20:28 | 2013-05-06 00:39 | ||||
Reporter | abma | ||||||||
Assigned To | jK | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 91.0.1+git | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0002708: SIGFPE in assimp/include/aiVector3D.inl:103 | ||||||||
Description | (gdb) bt full #0 0x0000000000dfa0e7 in aiVector3D::operator/= (this=0x7fffffffce00, f=0) at /home/abma/dev/spring/master/rts/lib/assimp/include/aiVector3D.inl:103 No locals. #1 0x000000000122f9e4 in aiVector3D::Normalize (this=0x7fffffffce00) at /home/abma/dev/spring/master/rts/lib/assimp/code/../include/aiVector3D.inl:87 No locals. #2 0x000000000123997d in Assimp::CalcTangentsProcess::ProcessMesh (this=0x7fffe09c57c0, pMesh=0x7fffe1052660, meshIndex=0) at /home/abma/dev/spring/master/rts/lib/assimp/code/CalcTangentsProcess.cpp:201 p = 198 localTangent = {x = 0, y = 0, z = 0} localBitangent = {x = 0, y = 0, z = 0} b = 0 p2 = 200 w = {x = -1.90734863e-06, y = -0.70567131, z = -0.641520023} sx = 0 dirCorrection = 1 tangent = {x = -0, y = -0, z = -0} p0 = 198 sy = 0 tx = 0 bitangent = {x = -0, y = -0, z = -0} face = @0x7fffe0e07998 p1 = 199 ---Type <return> to continue, or q <return> to quit--- v = {x = 9.53674316e-07, y = 0, z = 3.84911966} ty = 0 a = 66 angleEpsilon = 0.999899983 qnan = nan(0x400000) meshPos = 0x7fffe1196f20 vertexFinder = 0x1215dc5 _vertexFinder = {mPlaneNormal = {x = -7.80073417e+19, y = 4.59163468e-41, z = -nan(0x7fcd30)}, mPositions = {<std::_Vector_base<Assimp::SpatialSort::Entry, std::allocator<Assimp::SpatialSort::Entry> >> = { _M_impl = {<std::allocator<Assimp::SpatialSort::Entry>> = {<__gnu_cxx::new_allocator<Assimp::SpatialSort::Entry>> = {<No data fields>}, <No data fields>}, _M_start = 0x7fffe0edba40, _M_finish = 0x1231001, _M_end_of_storage = 0x7fffe0875238}}, <No data fields>}} closeVertices = {<std::_Vector_base<unsigned int, std::allocator<unsigned int> >> = { _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x7fffffffcd90, _M_finish = 0x0, _M_end_of_storage = 0x7fffe0875238}}, <No data fields>} vertexDone = {<std::_Bvector_base<std::allocator<bool> >> = { _M_impl = {<std::allocator<unsigned long>> = {<__gnu_cxx::new_allocator<unsigned long>> = {<No data fields>}, <No data fields>}, _M_start = {<std::_Bit_iterator_base> = {<std::iterator<std::random_access_iterator_tag, bool, long, bool*, bool&>> = {<No data fields>}, _M_p = 0x7fffe0409680, _M_offset = 0}, <No data fields>}, ---Type <return> to continue, or q <return> to quit--- _M_finish = {<std::_Bit_iterator_base> = {<std::iterator<std::random_access_iterator_tag, bool, long, bool*, bool&>> = {<No data fields>}, _M_p = 0x7fffe04096e0, _M_offset = 60}, <No data fields>}, _M_end_of_storage = 0x7fffe04096e8}}, <No data fields>} meshNorm = 0x7fffe119a2f0 meshTex = 0x7fffe119d6c0 meshTang = 0x7fffe103ff90 meshBitang = 0x7fffe0ffca30 posEpsilon = 4.59163468e-41 verticesFound = {<std::_Vector_base<unsigned int, std::allocator<unsigned int> >> = { _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x7fffe0875238, _M_finish = 0x7fffe0875230, _M_end_of_storage = 0x7fffe0edba40}}, <No data fields>} fLimit = 2.13983324e+12 0000003 0x00000000012390de in Assimp::CalcTangentsProcess::Execute (this=0x7fffe09c57c0, pScene=0x7fffe0ca05e0) at /home/abma/dev/spring/master/rts/lib/assimp/code/CalcTangentsProcess.cpp:96 a = 0 bHas = false 0000004 0x000000000122a407 in Assimp::BaseProcess::ExecuteOnScene (this=0x7fffe09c57c0, pImp=0x7fffffffd3d0) at /home/abma/dev/spring/master/rts/lib/assimp/code/BaseProcess.cpp:80 __PRETTY_FUNCTION__ = "void Assimp::BaseProcess::ExecuteOnScene(Assimp::Importer*)" 0000005 0x000000000121130a in Assimp::Importer::ApplyPostProcessing (this=0x7fffffffd3d0, pFlags=426203) at /home/abma/dev/spring/master/rts/lib/assimp/code/Importer.cpp:768 ---Type <return> to continue, or q <return> to quit--- process = 0x7fffe09c57c0 a = 18 profiler = {px = 0x0} __PRETTY_FUNCTION__ = "const aiScene* Assimp::Importer::ApplyPostProcessing(unsigned int)" #6 0x0000000001210e0d in Assimp::Importer::ReadFile (this=0x7fffffffd3d0, _pFile=0x7fffe092b218 "objects3d/blender/corraid.blend", pFlags=426203) at /home/abma/dev/spring/master/rts/lib/assimp/code/Importer.cpp:678 pre = {scene = 0x7fffe0ca05e0} profiler = {px = 0x0} imp = 0x7fffe0e82fb0 pFile = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0d06118 "objects3d/blender/corraid.blend"}} #7 0x0000000000dfa60c in Assimp::Importer::ReadFile (this=0x7fffffffd3d0, pFile=..., pFlags=426203) at /home/abma/dev/spring/master/rts/lib/assimp/include/assimp.hpp:597 No locals. #8 0x0000000000df54f0 in CAssParser::Load (this=0x2b08010, modelFilePath=...) at /home/abma/dev/spring/master/rts/Rendering/Models/AssParser.cpp:151 modelPath = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0884b88 "objects3d/blender"}} modelFileNameNoPath = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0b675e8 "corraid.blend"}} ---Type <return> to continue, or q <return> to quit--- modelName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe07f2078 "corraid"}} metaTable = @0x7fffffffd2c0 importer = {pimpl = 0x7fffe0894760} maxIndices = 16777215 scene = 0xdffb98 metaFileName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe04391a8 "objects3d/blender/corraid.blend.lua"}} metaFile = 0x7fffe0871b30 model = 0x32d1418 modelExt = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0930878 ".blend"}} metaFileParser = {fileName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe04391a8 "objects3d/blender/corraid.blend.lua"}}, fileModes = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0440b48 "Mb"}}, textChunk = { static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff5320598 ""}}, accessModes = { ---Type <return> to continue, or q <return> to quit--- static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe07f26b8 "Mmb"}}, valid = true, initDepth = -1, L = 0x7fffe0cc1390, tables = {_M_t = { _M_impl = {<std::allocator<std::_Rb_tree_node<LuaTable*> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<LuaTable*> >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<LuaTable*, LuaTable*, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x7fffe0b9c400, _M_left = 0x7fffe0b9c400, _M_right = 0x7fffe0b9c400}, _M_node_count = 1}}}, rootRef = 1, currentRef = 1, lowerKeys = true, lowerCppKeys = true, errorLog = { static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff5320598 ""}}, accessedFiles = {_M_t = { _M_impl = {<std::allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fffffffd290, _M_right = 0x7fffffffd290}, _M_node_count = 0}}}, static currentParser = 0x0} severity = 15 maxVertices = 2147483647 ---Type <return> to continue, or q <return> to quit--- #9 0x0000000000dfe1be in C3DModelLoader::Load3DModel (this=0x32d13e0, name=..., centerOffset=...) at /home/abma/dev/spring/master/rts/Rendering/Models/IModelParser.cpp:153 p = 0x2b08010 model = 0x0 root = 0x0 ci = {_M_node = 0x32d13e8} fileExt = @0x7fffffffd670 pi = {_M_node = 0x32f2740} 0000010 0x000000000100f5a5 in UnitDef::LoadModel (this=0x2aef370) at /home/abma/dev/spring/master/rts/Sim/Units/UnitDef.cpp:754 No locals. #11 0x0000000000ff18c0 in CUnit::PreInit (this=0x7fffe08730b0, uDef=0x2aef370, uTeam=0, facing=0, position=..., build=false) at /home/abma/dev/spring/master/rts/Sim/Units/Unit.cpp:448 No locals. 0000012 0x0000000001024d75 in CUnitLoader::LoadUnit (this=0x32d12c0, ud=0x2aef370, pos=..., team=0, build=false, facing=0, builder=0x0) at /home/abma/dev/spring/master/rts/Sim/Units/UnitLoader.cpp:115 unit = 0x7fffe08730b0 myScopedTimerFromMakro = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0871b88 "UnitLoader::LoadUnit"}}, starttime = 13235}, autoShowGraph = false} 0000013 0x000000000102663f in CUnitLoader::GiveUnits (this=0x32d12c0, objectName=..., pos=..., ---Type <return> to continue, or q <return> to quit--- amount=1, team=0, featureAllyTeam=-1) at /home/abma/dev/spring/master/rts/Sim/Units/UnitLoader.cpp:409 px = 980 pz = 881 unitPos = {static binder = {class_ = 0x1c54e80, base = 0x0, flags = creg::CF_None, memberRegistrator = 0x1bf0280, name = 0x163a2ea "float3", size = 12, constructor = 0x10cd90e <float3::_ConstructInstance(void*)>, destructor = 0x10cd93a <float3::_DestructInstance(void*)>, nextBinder = 0x1bf0340}, static memberRegistrator = 0x1bf0310, static CMP_EPS = 9.99999975e-05, static NORMALIZE_EPS = 9.99999996e-13, static maxxpos = 2047, static maxzpos = 2047, x = 980, y = 193.4375, z = 881} unit = 0x7fffffffda78 x = 0 z = 0 xsize = 2 zsize = 2 squareSize = 1 squarePos = {static binder = {class_ = 0x1c54e80, base = 0x0, flags = creg::CF_None, memberRegistrator = 0x1bf0280, name = 0x163a2ea "float3", size = 12, constructor = 0x10cd90e <float3::_ConstructInstance(void*)>, destructor = 0x10cd93a <float3::_DestructInstance(void*)>, nextBinder = 0x1bf0340}, static memberRegistrator = 0x1bf0310, static CMP_EPS = 9.99999975e-05, static NORMALIZE_EPS = 9.99999996e-13, static maxxpos = 2047, static maxzpos = 2047, x = 980, y = 194, z = 881} ---Type <return> to continue, or q <return> to quit--- total = 1 numRequestedUnits = 1 currentNumUnits = 0 unitDef = 0x2aef370 featureDef = 0x0 receivingTeam = 0x245dd60 __FUNCTION__ = "GiveUnits" 0000014 0x0000000001025fd6 in CUnitLoader::ParseAndExecuteGiveUnitsCommand (this=0x32d12c0, args=..., team=0) at /home/abma/dev/spring/master/rts/Sim/Units/UnitLoader.cpp:326 __FUNCTION__ = "ParseAndExecuteGiveUnitsCommand" amount = 1 teamArgIdx = -1 featureAllyTeam = -1 objectName = @0x7fffe07bd7e0 pos = {static binder = {class_ = 0x1c54e80, base = 0x0, flags = creg::CF_None, memberRegistrator = 0x1bf0280, name = 0x163a2ea "float3", size = 12, constructor = 0x10cd90e <float3::_ConstructInstance(void*)>, destructor = 0x10cd93a <float3::_DestructInstance(void*)>, nextBinder = 0x1bf0340}, static memberRegistrator = 0x1bf0310, static CMP_EPS = 9.99999975e-05, static NORMALIZE_EPS = 9.99999996e-13, static maxxpos = 2047, static maxzpos = 2047, x = 980, y = 194, z = 881} amountArgIdx = -1 #15 0x0000000000b4f984 in (anonymous namespace)::GiveActionExecutor::Execute (this=0x3be3280, action=...) at /home/abma/dev/spring/master/rts/Game/SyncedGameCommands.cpp:126 ---Type <return> to continue, or q <return> to quit--- parsedArgs = @0x7fffffffdac0 #16 0x0000000000aade40 in IActionExecutor<SyncedAction, true>::ExecuteAction (this=0x3be3280, action=...) at /home/abma/dev/spring/master/rts/Game/IActionExecutor.h:119 No locals. #17 0x0000000000aa8b8c in CGame::ActionReceived (this=0x2740300, action=..., playerID=0) at /home/abma/dev/spring/master/rts/Game/Game.cpp:2247 syncedAction = {<IAction> = {_vptr.IAction = 0x15ad0b0, action = @0x7fffffffdda0}, playerID = 0} executor = 0x3be3280 #18 0x0000000000b2579d in CGame::ClientReadNet (this=0x2740300) at /home/abma/dev/spring/master/rts/Game/NetCommands.cpp:975 msg = {action = {command = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe000cae8 "give"}}, extra = { static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe0444378 "blendtank @980,194,881"}}, rawline = { static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff5320598 ""}}, boundWith = { static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff5320598 ""}}}, playerID = 0} inbuf = 0x7fffe0872970 "6#" ---Type <return> to continue, or q <return> to quit--- dataLength = 35 packetCode = 54 '6' packet = {px = 0x7fffe03fce80, pn = {pi_ = 0x7fffe0406ac0}} procstarttime = 13235 __PRETTY_FUNCTION__ = "void CGame::ClientReadNet()" #19 0x0000000000aa163f in CGame::Update (this=0x2740300) at /home/abma/dev/spring/master/rts/Game/Game.cpp:885 timeNow = 13235 difTime = 17 dif = 0.0170000009 0000020 0x00000000010b0bf5 in SpringApp::UpdateSim (this=0x7fffffffe5a0, ac=0x2740300) at /home/abma/dev/spring/master/rts/System/SpringApp.cpp:987 ret = false #21 0x00000000010b0c69 in SpringApp::Update (this=0x7fffffffe5a0) at /home/abma/dev/spring/master/rts/System/SpringApp.cpp:1062 ret = 1 #22 0x00000000010b0ed7 in SpringApp::Run (this=0x7fffffffe5a0, argc=1, argv=0x7fffffffe768) at /home/abma/dev/spring/master/rts/System/SpringApp.cpp:1166 No locals. #23 0x000000000108d563 in MainFunc (argc=1, argv=0x7fffffffe768, ret=0x7fffffffe64c) at /home/abma/dev/spring/master/rts/System/Main.cpp:51 app = {cmdline = 0x1c4ffb0, lastRequiredDraw = 165, static ogc = 0x0} 0000024 0x000000000108d7f6 in Run (argc=1, argv=0x7fffffffe768) at /home/abma/dev/spring/master/rts/System/Main.cpp:62 ---Type <return> to continue, or q <return> to quit--- ret = -1 err = 0x7ffff480dc48 #25 0x000000000108d88f in main (argc=1, argv=0x7fffffffe768) at /home/abma/dev/spring/master/rts/System/Main.cpp:92 No locals. | ||||||||
Additional Information | to test, compile spring with SIGNAL_NAN=TRUE, load assimp-test mod: http://www.warriorhut.org/spring/projects/assimp/AssimpTest.sd7 and type /cheat /give blendtank | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
abma (administrator) 2011-11-06 20:29 |
what to do with assimp releated bugs like this one? |
Kloot (developer) 2011-11-06 21:11 |
imo: write an as-minimalistic-as-possible patch/workaround (or failing that, disable the crashing format(s) entirely in the loader), and strongly advice the assimp developers to test their code more. |
spliff (reporter) 2011-11-13 01:07 |
Blender support is very alpha quality in the assimp version used by spring. At the time blender support was less than a month old and patches were being added to assimp almost daily. Do you get the error with other formats? If not the only real solution to this is to let blender support mature and pull in a new version of assimp or we can disable calculating tangents in the assimp post process options. |
abma (administrator) 2011-11-13 01:59 Last edited: 2011-11-13 02:05 |
i follow the assimp development, but they made no fixes to blender. last merge with assimp was about 3 months ago: https://github.com/spring/spring/commits/02d5469ebf86e46c1643a77eb8ad831aba516ed6 the assimp repo is a bit newer but it contains no useful fixes, so i didn't merge into spring... ( https://github.com/spring/assimp ) only thing they did is, they increased priority for my bug report, see also: https://sourceforge.net/tracker/?func=detail&aid=3385430&group_id=226462&atid=1067632 |
jK (developer) 2013-05-06 00:39 |
deactivated SigNaNs in Assimp for now |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2011-11-06 20:28 | abma | New Issue | |
2011-11-06 20:29 | abma | Note Added: 0007516 | |
2011-11-06 21:11 | Kloot | Note Added: 0007517 | |
2011-11-13 01:07 | spliff | Note Added: 0007592 | |
2011-11-13 01:50 | abma | Relationship added | related to 0002617 |
2011-11-13 01:59 | abma | Note Added: 0007593 | |
2011-11-13 02:04 | abma | Note Edited: 0007593 | |
2011-11-13 02:05 | abma | Note Edited: 0007593 | |
2012-09-03 08:51 | abma | Product Version | 83.0 => 91.0.1+git |
2013-05-06 00:39 | jK | Note Added: 0010650 | |
2013-05-06 00:39 | jK | Status | new => resolved |
2013-05-06 00:39 | jK | Resolution | open => fixed |
2013-05-06 00:39 | jK | Assigned To | => jK |