anura-engine / anura

Anura Engine
Other
386 stars 80 forks source link

When you have an incorrect image path in a particle system, it causes the following segfault. #172

Open rkettering opened 7 years ago

rkettering commented 7 years ago

We probably want some kind of assert we can catch.

#0  0x00007fffb4e9bdd6 in __pthread_kill ()
#1  0x00000001038c1a1c in pthread_kill ()
#2  0x00007fffb4e01420 in abort ()
#3  0x00007fffb395c85a in abort_message ()
#4  0x00007fffb3981c37 in default_terminate_handler() ()
#5  0x00007fffb448bf33 in _objc_terminate() ()
#6  0x00007fffb397ed69 in std::__terminate(void (*)()) ()
#7  0x00007fffb397e7de in __cxa_throw ()
#8  0x000000010094cbe2 in KRE::SurfaceSDL::createFromFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>) at /Users/richard_kettering/Public/anura/src/kre/SurfaceSDL.cpp:731
#9  0x000000010095e017 in decltype(std::__1::forward<std::__1::shared_ptr<KRE::Surface> (*&)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>)>(fp)(std::__1::forward<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)> >(fp0))) std::__1::__invoke<std::__1::shared_ptr<KRE::Surface> (*&)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)> >(std::__1::shared_ptr<KRE::Surface> (*&&&)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&, KRE::PixelFormat::PF&&, KRE::SurfaceFlags&&, std::__1::function<void (int&, int&, int&, int&)>&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_base:416
#10 0x000000010095dff1 in std::__1::shared_ptr<KRE::Surface> std::__1::__invoke_void_return_wrapper<std::__1::shared_ptr<KRE::Surface> >::__call<std::__1::shared_ptr<KRE::Surface> (*&)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)> >(std::__1::shared_ptr<KRE::Surface> (*&&&)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&, KRE::PixelFormat::PF&&, KRE::SurfaceFlags&&, std::__1::function<void (int&, int&, int&, int&)>&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_base:437
#11 0x000000010095df98 in std::__1::__function::__func<std::__1::shared_ptr<KRE::Surface> (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>), std::__1::allocator<std::__1::shared_ptr<KRE::Surface> (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>)>, std::__1::shared_ptr<KRE::Surface> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF&&, KRE::SurfaceFlags&&, std::__1::function<void (int&, int&, int&, int&)>&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1437
#12 0x000000010051c006 in std::__1::function<std::__1::shared_ptr<KRE::Surface> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::PixelFormat::PF, KRE::SurfaceFlags, std::__1::function<void (int&, int&, int&, int&)>) const at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1817
#13 0x000000010051baf3 in KRE::Surface::create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, KRE::SurfaceFlags, KRE::PixelFormat::PF, std::__1::function<void (int&, int&, int&, int&)>) at /Users/richard_kettering/Public/anura/src/kre/Surface.cpp:143
#14 0x00000001005a9441 in KRE::Texture::Texture(variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > > const&) at /Users/richard_kettering/Public/anura/src/kre/Texture.cpp:95
#15 0x0000000100841abf in KRE::OpenGLTexture::OpenGLTexture(variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > > const&) at /Users/richard_kettering/Public/anura/src/kre/TextureOGL.cpp:90
#16 0x00000001003b3cec in std::__1::__libcpp_compressed_pair_imp<std::__1::allocator<KRE::OpenGLTexture>, KRE::OpenGLTexture, 1u>::__libcpp_compressed_pair_imp<std::__1::allocator<KRE::OpenGLTexture>&, variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&, 0ul, 0ul, 1ul>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<KRE::OpenGLTexture>&>, std::__1::tuple<variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>, std::__1::__tuple_indices<0ul>, std::__1::__tuple_indices<0ul, 1ul>) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2194
#17 0x00000001003b3cd7 in std::__1::__compressed_pair<std::__1::allocator<KRE::OpenGLTexture>, KRE::OpenGLTexture>::__compressed_pair<std::__1::allocator<KRE::OpenGLTexture>&, variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<KRE::OpenGLTexture>&>, std::__1::tuple<variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2457
#18 0x00000001003b3cd7 in std::__1::__compressed_pair<std::__1::allocator<KRE::OpenGLTexture>, KRE::OpenGLTexture>::__compressed_pair<std::__1::allocator<KRE::OpenGLTexture>&, variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<KRE::OpenGLTexture>&>, std::__1::tuple<variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2460
#19 0x00000001003b3cd7 in std::__1::__shared_ptr_emplace<KRE::OpenGLTexture, std::__1::allocator<KRE::OpenGLTexture> >::__shared_ptr_emplace<variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>(std::__1::allocator<KRE::OpenGLTexture>, variant const&&&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:3800
#20 0x00000001003b3cbd in std::__1::__shared_ptr_emplace<KRE::OpenGLTexture, std::__1::allocator<KRE::OpenGLTexture> >::__shared_ptr_emplace<variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>(std::__1::allocator<KRE::OpenGLTexture>, variant const&&&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:3801
#21 0x00000001003b3cbd in std::__1::shared_ptr<KRE::OpenGLTexture> std::__1::shared_ptr<KRE::OpenGLTexture>::make_shared<variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>(variant const&&&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4411
#22 0x00000001003b0b6a in std::__1::enable_if<!(is_array<KRE::OpenGLTexture>::value), std::__1::shared_ptr<KRE::OpenGLTexture> >::type std::__1::make_shared<KRE::OpenGLTexture, variant const&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&>(variant const&&&, std::__1::vector<std::__1::shared_ptr<KRE::Surface>, std::__1::allocator<std::__1::shared_ptr<KRE::Surface> > >&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4775
#23 0x00000001003b0b5a in KRE::DisplayDeviceOpenGL::handleCreateTexture(std::__1::shared_ptr<KRE::Surface> const&, variant const&) at /Users/richard_kettering/Public/anura/src/kre/DisplayDeviceOGL.cpp:477
#24 0x00000001000274a4 in KRE::DisplayDevice::createTexture(std::__1::shared_ptr<KRE::Surface> const&, variant const&) at /Users/richard_kettering/Public/anura/src/kre/DisplayDevice.cpp:158
#25 0x00000001005b30e6 in KRE::Texture::createTexture(variant const&) at /Users/richard_kettering/Public/anura/src/kre/Texture.cpp:568
#26 0x00000001006df42c in KRE::Renderable::setFromVariant(variant const&) at /Users/richard_kettering/Public/anura/src/kre/Renderable.cpp:175
#27 0x00000001006de560 in KRE::Renderable::Renderable(variant const&) at /Users/richard_kettering/Public/anura/src/kre/Renderable.cpp:89
#28 0x000000010044b31b in KRE::SceneObject::SceneObject(variant const&) at /Users/richard_kettering/Public/anura/src/kre/SceneObject.cpp:37
#29 0x0000000100700605 in KRE::Particles::ParticleSystem::ParticleSystem(std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>, variant const&) at /Users/richard_kettering/Public/anura/src/kre/ParticleSystem.cpp:151
#30 0x0000000100706392 in std::__1::__libcpp_compressed_pair_imp<std::__1::allocator<KRE::Particles::ParticleSystem>, KRE::Particles::ParticleSystem, 1u>::__libcpp_compressed_pair_imp<std::__1::allocator<KRE::Particles::ParticleSystem>&, std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&, 0ul, 0ul, 1ul>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<KRE::Particles::ParticleSystem>&>, std::__1::tuple<std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>, std::__1::__tuple_indices<0ul>, std::__1::__tuple_indices<0ul, 1ul>) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2194
#31 0x0000000100706365 in std::__1::__compressed_pair<std::__1::allocator<KRE::Particles::ParticleSystem>, KRE::Particles::ParticleSystem>::__compressed_pair<std::__1::allocator<KRE::Particles::ParticleSystem>&, std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<KRE::Particles::ParticleSystem>&>, std::__1::tuple<std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2457
#32 0x0000000100706365 in std::__1::__compressed_pair<std::__1::allocator<KRE::Particles::ParticleSystem>, KRE::Particles::ParticleSystem>::__compressed_pair<std::__1::allocator<KRE::Particles::ParticleSystem>&, std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<KRE::Particles::ParticleSystem>&>, std::__1::tuple<std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2460
#33 0x0000000100706365 in std::__1::__shared_ptr_emplace<KRE::Particles::ParticleSystem, std::__1::allocator<KRE::Particles::ParticleSystem> >::__shared_ptr_emplace<std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>(std::__1::allocator<KRE::Particles::ParticleSystem>, std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&&&, variant const&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:3800
#34 0x000000010070634b in std::__1::__shared_ptr_emplace<KRE::Particles::ParticleSystem, std::__1::allocator<KRE::Particles::ParticleSystem> >::__shared_ptr_emplace<std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>(std::__1::allocator<KRE::Particles::ParticleSystem>, std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&&&, variant const&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:3801
#35 0x000000010070634b in std::__1::shared_ptr<KRE::Particles::ParticleSystem> std::__1::shared_ptr<KRE::Particles::ParticleSystem>::make_shared<std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>(std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&&&, variant const&&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4411
#36 0x0000000100703d80 in std::__1::enable_if<!(is_array<KRE::Particles::ParticleSystem>::value), std::__1::shared_ptr<KRE::Particles::ParticleSystem> >::type std::__1::make_shared<KRE::Particles::ParticleSystem, std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&, variant const&>(std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>&&&, variant const&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4775
#37 0x0000000100703d7b in KRE::Particles::ParticleSystem::factory(std::__1::weak_ptr<KRE::Particles::ParticleSystemContainer>, variant const&) at /Users/richard_kettering/Public/anura/src/kre/ParticleSystem.cpp:379
#38 0x000000010070469b in KRE::Particles::ParticleSystemContainer::init(variant const&) at /Users/richard_kettering/Public/anura/src/kre/ParticleSystem.cpp:478
#39 0x0000000100704735 in KRE::Particles::ParticleSystemContainer::create(std::__1::weak_ptr<KRE::SceneGraph>, variant const&) at /Users/richard_kettering/Public/anura/src/kre/ParticleSystem.cpp:485
#40 0x0000000100569879 in graphics::ParticleSystemContainerProxy::ParticleSystemContainerProxy(variant const&) at /Users/richard_kettering/Public/anura/src/particle_system_proxy.cpp:88
#41 0x0000000100143dff in CustomObject::createParticles(variant const&) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:839
#42 0x000000010016b59d in CustomObject::executeCommand(variant const&) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:5354
#43 0x000000010016b56d in CustomObject::executeCommand(variant const&) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:5349
#44 0x0000000100162b6a in CustomObject::setValueBySlot(int, variant const&) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:4842
#45 0x00000001001adae7 in (anonymous namespace)::object_function::executeWithArgs(game_logic::FormulaCallable const&, variant const*, int) const at /Users/richard_kettering/Public/anura/src/custom_object_functions.cpp:1846
#46 0x000000010071cf5e in formula_vm::VirtualMachine::executeInternal(game_logic::FormulaCallable const&, std::__1::vector<ffl::IntrusivePtr<game_logic::FormulaCallable>, std::__1::allocator<ffl::IntrusivePtr<game_logic::FormulaCallable> > >&, std::__1::vector<variant, std::__1::allocator<variant> >&, std::__1::vector<variant, std::__1::allocator<variant> >&, short const*, short const*) const at /Users/richard_kettering/Public/anura/src/formula_vm.cpp:435
#47 0x000000010071b71d in formula_vm::VirtualMachine::execute(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/src/formula_vm.cpp:51
#48 0x000000010031b482 in game_logic::(anonymous namespace)::VMExpression::execute(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/src/formula.cpp:362
#49 0x00000001000c1974 in game_logic::FormulaExpression::evaluate(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/MacOS/../src/formula_function.hpp:84
#50 0x00000001002cef32 in game_logic::Formula::execute(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/src/formula.cpp:5034
#51 0x000000010014546c in CustomObject::initProperties() at /Users/richard_kettering/Public/anura/src/custom_object.cpp:775
#52 0x0000000100144e0c in CustomObject::CustomObject(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, bool) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:626
#53 0x00000001001a8afd in (anonymous namespace)::spawn_function::executeWithArgs(game_logic::FormulaCallable const&, variant const*, int) const at /Users/richard_kettering/Public/anura/src/custom_object_functions.cpp:1516
#54 0x000000010071cf5e in formula_vm::VirtualMachine::executeInternal(game_logic::FormulaCallable const&, std::__1::vector<ffl::IntrusivePtr<game_logic::FormulaCallable>, std::__1::allocator<ffl::IntrusivePtr<game_logic::FormulaCallable> > >&, std::__1::vector<variant, std::__1::allocator<variant> >&, std::__1::vector<variant, std::__1::allocator<variant> >&, short const*, short const*) const at /Users/richard_kettering/Public/anura/src/formula_vm.cpp:435
#55 0x000000010071b71d in formula_vm::VirtualMachine::execute(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/src/formula_vm.cpp:51
#56 0x000000010031b482 in game_logic::(anonymous namespace)::VMExpression::execute(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/src/formula.cpp:362
#57 0x00000001000c1974 in game_logic::FormulaExpression::evaluate(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/MacOS/../src/formula_function.hpp:84
#58 0x00000001002cef32 in game_logic::Formula::execute(game_logic::FormulaCallable const&) const at /Users/richard_kettering/Public/anura/src/formula.cpp:5034
#59 0x000000010016ad4e in CustomObject::handleEventInternal(int, game_logic::FormulaCallable const*, bool) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:5278
#60 0x000000010016b32b in CustomObject::handleEvent(int, game_logic::FormulaCallable const*) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:5187
#61 0x0000000100153f02 in CustomObject::staticProcess(Level&) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:2380
#62 0x0000000100150e01 in CustomObject::process(Level&) at /Users/richard_kettering/Public/anura/src/custom_object.cpp:2370
#63 0x000000010053d7f2 in Level::do_processing() at /Users/richard_kettering/Public/anura/src/level.cpp:2566
#64 0x000000010053d371 in Level::process() at /Users/richard_kettering/Public/anura/src/level.cpp:2411
#65 0x00000001005901bd in LevelRunner::play_cycle() at /Users/richard_kettering/Public/anura/src/level_runner.cpp:1603
#66 0x000000010058beb9 in LevelRunner::play_level() at /Users/richard_kettering/Public/anura/src/level_runner.cpp:853
#67 0x00000001005bccaa in main at /Users/richard_kettering/Public/anura/src/main.cpp:1171
#68 0x00007fffb4d6d255 in start ()
sweetkristas commented 7 years ago

If I have an invalid path in the particle system I get the following logged error: ERROR: SurfaceSDL.cpp:730 : Failed to load image file: '\12\cube.png' : Couldn't open images/\12\cube.png

Please indicate if you get something different.

ghost commented 6 years ago

At one host of mine not exactly segfault, but the application terminates:

INFO: formula_function.cpp:4049 : Instrument: deck_preview_widget_markup_text: 2
4.0239ms
INFO: formula_function.cpp:4101 : Instrument: render_deck_preview_widget: 0ms
INFO: formula_function.cpp:4079 : Instrument Command: render_deck_preview_widget
: 0ms
INFO: formula_function.cpp:4101 : Instrument: spawn_objects_deck_preview_widget:
 0ms
INFO: formula_function.cpp:4079 : Instrument Command: spawn_objects_deck_preview
_widget: 0ms
ERROR: SurfaceSDL.cpp:733 : Failed to load image file: 'particles/spade.png' : C
ouldn't open images/particles/spade.png
terminate called after throwing an instance of 'KRE::ImageLoadError'
  what():  Failed to load image file: 'particles/spade.png' : Couldn't open imag
es/particles/spade.png
Aborted
$ echo $?
134
$ _
ghost commented 6 years ago

That log was from a cooked example at the particle system editor, but I've since checked that cooking an in-game example the output is exactly the same.