Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TextSymbolizer with no face_name causes crash #217

Open
larsga opened this issue Dec 26, 2019 · 1 comment
Open

TextSymbolizer with no face_name causes crash #217

larsga opened this issue Dec 26, 2019 · 1 comment

Comments

@larsga
Copy link

@larsga larsga commented Dec 26, 2019

I tried creating a TextSymbolizer without specifying the face_name property. This caused a crash as follows:

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
@larsga
Copy link
Author

@larsga larsga commented Dec 26, 2019

ShieldSymbolizer seems to have the exact same problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.