<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - SIGABRT in _cairo_ft_unscaled_font_create_internal"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=105746">105746</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>SIGABRT in _cairo_ft_unscaled_font_create_internal
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>cairo
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>freetype font backend
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>david@freetype.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>raul@rmr.ninja
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>cairo-bugs@cairographics.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Testing with the current master (`1ed124ace  Fix a 'memory leak' in the image
compositor`) I'm getting a SIGABRT when running Mapnik's visual test.

Here is the callstack:
```
==15411== Process terminating with default action of signal 6 (SIGABRT):
dumping core
==15411==    at 0x9567860: raise (in /usr/lib/libc-2.26.so)
==15411==    by 0x9568EC8: abort (in /usr/lib/libc-2.26.so)
==15411==    by 0x95600BB: __assert_fail_base (in /usr/lib/libc-2.26.so)
==15411==    by 0x9560132: __assert_fail (in /usr/lib/libc-2.26.so)
==15411==    by 0x61F0616: _cairo_ft_unscaled_font_create_internal
(cairo-ft-font.c:576)
==15411==    by 0x61F0616: _cairo_ft_unscaled_font_create_from_face
(cairo-ft-font.c:643)
==15411==    by 0x61F0616: cairo_ft_font_face_create_for_ft_face
(cairo-ft-font.c:3707)
==15411==    by 0x545BA7C:
mapnik::cairo_face::cairo_face(std::shared_ptr<mapnik::font_library> const&,
std::shared_ptr<mapnik::font_face> const&) (cairo_context.cpp:39)
==15411==    by 0x545CDD2: construct<mapnik::cairo_face,
std::shared_ptr<mapnik::font_library> &, std::shared_ptr<mapnik::font_face> &>
(new_allocator.h:136)
==15411==    by 0x545CDD2: construct<mapnik::cairo_face,
std::shared_ptr<mapnik::font_library> &, std::shared_ptr<mapnik::font_face> &>
(alloc_traits.h:475)
==15411==    by 0x545CDD2:
_Sp_counted_ptr_inplace<std::shared_ptr<mapnik::font_library> &,
std::shared_ptr<mapnik::font_face> &> (shared_ptr_base.h:526)
==15411==    by 0x545CDD2: __shared_count<mapnik::cairo_face,
std::allocator<mapnik::cairo_face>, std::shared_ptr<mapnik::font_library> &,
std::shared_ptr<mapnik::font_face> &> (shared_ptr_base.h:637)
==15411==    by 0x545CDD2: __shared_ptr<std::allocator<mapnik::cairo_face>,
std::shared_ptr<mapnik::font_library> &, std::shared_ptr<mapnik::font_face> &>
(shared_ptr_base.h:1294)
==15411==    by 0x545CDD2: shared_ptr<std::allocator<mapnik::cairo_face>,
std::shared_ptr<mapnik::font_library> &, std::shared_ptr<mapnik::font_face> &>
(shared_ptr.h:344)
==15411==    by 0x545CDD2: allocate_shared<mapnik::cairo_face,
std::allocator<mapnik::cairo_face>, std::shared_ptr<mapnik::font_library> &,
std::shared_ptr<mapnik::font_face> &> (shared_ptr.h:690)
==15411==    by 0x545CDD2: make_shared<mapnik::cairo_face,
std::shared_ptr<mapnik::font_library> &, std::shared_ptr<mapnik::font_face> &>
(shared_ptr.h:706)
==15411==    by 0x545CDD2:
mapnik::cairo_face_manager::get_face(std::shared_ptr<mapnik::font_face>)
(cairo_context.cpp:526)
==15411==    by 0x545CAD0:
mapnik::cairo_context::set_font_face(mapnik::cairo_face_manager&,
std::shared_ptr<mapnik::font_face>) (cairo_context.cpp:374)
==15411==    by 0x545D335:
mapnik::cairo_context::add_text(mapnik::glyph_positions const&,
mapnik::cairo_face_manager&, mapnik::composite_mode_e,
mapnik::composite_mode_e, double) (cairo_context.cpp:469)
==15411==    by 0x5461875: mapnik::cairo_renderer<std::shared_ptr<_cairo>
<span class="quote">>::process(mapnik::text_symbolizer const&, mapnik::feature_impl&,</span >
mapnik::proj_transform const&) (process_text_symbolizer.cpp:99)
==15411==    by 0x4F7D15E: apply_const (variant.hpp:317)
==15411==    by 0x4F7D15E:
visit<mapnik::symbolizer_dispatch<mapnik::cairo_renderer<mapnik::cairo_ptr> >,
mapbox::util::variant<mapnik::point_symbolizer, mapnik::line_symbolizer,
mapnik::line_pattern_symbolizer, mapnik::polygon_symbolizer,
mapnik::polygon_pattern_symbolizer, mapnik::raster_symbolizer,
mapnik::shield_symbolizer, mapnik::text_symbolizer,
mapnik::building_symbolizer, mapnik::markers_symbolizer,
mapnik::group_symbolizer, mapnik::debug_symbolizer, mapnik::dot_symbolizer>,
void> (variant.hpp:864)
==15411==    by 0x4F7D15E:
apply_visitor<mapnik::symbolizer_dispatch<mapnik::cairo_renderer<mapnik::cairo_ptr>
<span class="quote">>, mapbox::util::variant<mapnik::point_symbolizer, mapnik::line_symbolizer,</span >
mapnik::line_pattern_symbolizer, mapnik::polygon_symbolizer,
mapnik::polygon_pattern_symbolizer, mapnik::raster_symbolizer,
mapnik::shield_symbolizer, mapnik::text_symbolizer,
mapnik::building_symbolizer, mapnik::markers_symbolizer,
mapnik::group_symbolizer, mapnik::debug_symbolizer, mapnik::dot_symbolizer> >
(variant.hpp:42)
==15411==    by 0x4F7D15E:
mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo>
<span class="quote">> >::render_style(mapnik::cairo_renderer<std::shared_ptr<_cairo> >&,</span >
mapnik::feature_type_style const*, mapnik::rule_cache const&,
std::shared_ptr<mapnik::Featureset>, mapnik::proj_transform const&)
(feature_style_processor_impl.hpp:621)
==15411==    by 0x4F7B142:
mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo>
<span class="quote">> >::render_material(mapnik::layer_rendering_material const&,</span >
mapnik::cairo_renderer<std::shared_ptr<_cairo> >&)
(feature_style_processor_impl.hpp:573)
```


This was working correctly with `1.15.10` and I've bisected the changes and
found that the issue was introduced in `42f07ef90 Always save the origin face
index`. Reverting that commit on top of the current master/HEAD solves the
issue.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>