Open larsga opened 4 years ago
I tried creating a TextSymbolizer without specifying the face_name property. This caused a crash as follows:
face_name
VM Regions Near 0: --> __TEXT 00000001084bd000-00000001084bf000 [ 8K] r-x/rwx SM=COW /usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libmapnik.dylib 0x00000001091271fd mapnik::base_symbolizer_helper::base_symbolizer_helper(mapnik::symbolizer_base const&, mapnik::feature_impl const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, mapnik::value_adl_barrier::value, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, mapnik::value_adl_barrier::value> > > const&, mapnik::proj_transform const&, unsigned int, unsigned int, double, mapnik::view_transform const&, mapnik::box2d<double> const&) + 205 1 libmapnik.dylib 0x00000001091286c5 mapnik::text_symbolizer_helper::text_symbolizer_helper<mapnik::face_manager, mapnik::label_collision_detector4>(mapnik::text_symbolizer const&, mapnik::feature_impl const&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, mapnik::value_adl_barrier::value, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, mapnik::value_adl_barrier::value> > > const&, mapnik::proj_transform const&, unsigned int, unsigned int, double, mapnik::view_transform const&, mapnik::face_manager&, mapnik::label_collision_detector4&, mapnik::box2d<double> const&, agg::trans_affine const&) + 69 2 libmapnik.dylib 0x00000001096e8e05 mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4>::process(mapnik::text_symbolizer const&, mapnik::feature_impl&, mapnik::proj_transform const&) + 405 3 libmapnik.dylib 0x0000000108fcace5 mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::render_style(mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4>&, mapnik::feature_type_style const*, mapnik::rule_cache const&, std::__1::shared_ptr<mapnik::Featureset>, mapnik::proj_transform const&) + 2613 4 libmapnik.dylib 0x0000000108fc9c90 mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::render_material(mapnik::layer_rendering_material&, mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4>&) + 2224 5 libmapnik.dylib 0x0000000108fc81b5 mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double) + 709 6 _mapnik.so 0x00000001089ab2a1 render(mapnik::Map const&, mapnik::image_any&, double, unsigned int, unsigned int) + 161 7 _mapnik.so 0x00000001089ae051 render_to_file1(mapnik::Map const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 257 8 _mapnik.so 0x00000001089bbac6 boost::python::detail::caller_arity<3u>::impl<void (*)(mapnik::Map const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), boost::python::default_call_policies, boost::mpl::vector4<void, mapnik::Map const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> >::operator()(_object*, _object*) + 326 9 _mapnik.so 0x0000000108a9548e boost::python::objects::function::call(_object*, _object*) const + 798 10 _mapnik.so 0x0000000108a9789a boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 26 11 _mapnik.so 0x0000000108a9e3a3 boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const + 67 12 _mapnik.so 0x00000001089bbda6 boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::runtime_error, void (*)(std::runtime_error const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::runtime_error const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) + 22 13 _mapnik.so 0x0000000108a9e38b boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const + 43 14 _mapnik.so 0x00000001089bbe76 boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<mapnik::value_error, void (*)(mapnik::value_error const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(mapnik::value_error const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) + 22 15 _mapnik.so 0x0000000108a9e38b boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const + 43 16 _mapnik.so 0x00000001089bbf46 boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::out_of_range, void (*)(std::out_of_range const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::out_of_range const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) + 22 17 _mapnik.so 0x0000000108a9e38b boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const + 43 18 _mapnik.so 0x00000001089bc016 boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::exception, void (*)(std::exception const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::exception const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) + 22 19 _mapnik.so 0x0000000108a9e143 boost::python::handle_exception_impl(boost::function0<void>) + 51 20 _mapnik.so 0x0000000108a972b3 boost::python::objects::function_call(_object*, _object*, _object*) + 83 21 org.python.python 0x00000001084d1f73 PyObject_Call + 97 22 org.python.python 0x000000010854e3d7 PyEval_EvalFrameEx + 19980 23 org.python.python 0x000000010855264d fast_function + 190 24 org.python.python 0x000000010854e29c PyEval_EvalFrameEx + 19665 25 org.python.python 0x000000010854939a PyEval_EvalCodeEx + 1555 26 org.python.python 0x00000001085526ab fast_function + 284 27 org.python.python 0x000000010854e29c PyEval_EvalFrameEx + 19665 28 org.python.python 0x000000010854939a PyEval_EvalCodeEx + 1555 29 org.python.python 0x0000000108548d81 PyEval_EvalCode + 32 30 org.python.python 0x000000010856abaa run_mod + 49 31 org.python.python 0x000000010856ac51 PyRun_FileExFlags + 130 32 org.python.python 0x000000010856a7d0 PyRun_SimpleFileExFlags + 718 33 org.python.python 0x000000010857c166 Py_Main + 3134 34 libdyld.dylib 0x00007fff5fcb83d5 start + 1
ShieldSymbolizer seems to have the exact same problem.
I tried creating a TextSymbolizer without specifying the
face_name
property. This caused a crash as follows: