New Font Gallery crashes on Inkscape 1.4beta
Summary:
Using Inkscape 1.4beta in Mabox Linux. I have a new file with only one big text (both fill and stroked set). I open the Text and Font panel and all the fonts in my system start to intialize the gallery. Font Gallery tool crashes around reading Skywalker Bold font info (not sure if it is exactly where it crashes).
Steps to reproduce:
- open Inkscape, new file
- use Font button and write down two words (tool previously set with fill, stroke, and stroke width)
- open Text and Font panel; automatically, all the fonts in my system start to initialize the panel (I guess ;D)
- the tool crashes, but not Inkscape
What happened?
A window message pops up. Info below.
<pre>
0# Inkscape::Application::crash_handler(int) in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
1# 0x00007F0C90A9D090 in /tmp/.mount_InkscaFh5ReL/lib/x86_64-linux-gnu/libc.so.6
2# 0x00007F0C9086BF5A in /tmp/.mount_InkscaFh5ReL/usr/lib/libcairo.so.2
3# 0x00007F0C9081553F in /tmp/.mount_InkscaFh5ReL/usr/lib/libcairo.so.2
4# cairo_scaled_font_glyph_extents in /tmp/.mount_InkscaFh5ReL/usr/lib/libcairo.so.2
5# 0x00007F0C908DC691 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpangocairo-1.0.so.0
6# pango_glyph_string_extents_range in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
7# 0x00007F0C9075EEA5 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
8# 0x00007F0C9075F209 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
9# 0x00007F0C9075F4DA in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
10# 0x00007F0C90763FA8 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
11# 0x00007F0C908DC1AA in /tmp/.mount_InkscaFh5ReL/usr/lib/libpangocairo-1.0.so.0
12# 0x00007F0C9075EECF in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
13# 0x00007F0C9075F209 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
14# 0x00007F0C9075F4DA in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
15# 0x00007F0C90763FA8 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
16# 0x00007F0C907648DA in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
17# pango_renderer_draw_layout in /tmp/.mount_InkscaFh5ReL/usr/lib/libpango-1.0.so.0
18# 0x00007F0C908DF208 in /tmp/.mount_InkscaFh5ReL/usr/lib/libpangocairo-1.0.so.0
19# Inkscape::calculate_font_weight(Pango::FontDescription&, double) in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
20# Inkscape::get_all_fonts(Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&) in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
21# std::_Function_handler<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const> (Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&), Inkscape::FontDiscovery::connect_to_fonts(std::function<void (std::variant<Inkscape::Async::Msg::OperationStarted, Inkscape::Async::Msg::OperationProgress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >, Inkscape::Async::Msg::OperationResult<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const> >, Inkscape::Async::Msg::OperationCancelled, Inkscape::Async::Msg::OperationException, Inkscape::Async::Msg::OperationFinished> const&)>)::{lambda(Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&)#1}>::_M_invoke(std::_Any_data const&, Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&) in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
22# Inkscape::Async::BackgroundTask<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const>, double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >::Task::run_async() in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
23# std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<Inkscape::Async::BackgroundTask<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const>, double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >::run(std::function<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const> (Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&)>, std::function<void (double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> >)>, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)::{lambda()#2}> >, void> >::_M_invoke(std::_Any_data const&) in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
24# std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
25# __pthread_once_slow in /tmp/.mount_InkscaFh5ReL/lib/x86_64-linux-gnu/libpthread.so.0
26# std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<Inkscape::Async::BackgroundTask<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const>, double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >::run(std::function<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const> (Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&)>, std::function<void (double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> >)>, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)::{lambda()#2}> >, void>::_Async_state_impl(std::tuple<Inkscape::Async::BackgroundTask<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const>, double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >::run(std::function<std::shared_ptr<std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > const> (Inkscape::Async::Progress<double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> > >&)>, std::function<void (double, Glib::ustring, std::vector<Inkscape::FontInfo, std::allocator<Inkscape::FontInfo> >)>, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)::{lambda()#2}>&&)::{lambda()#1}> > >::_M_run() in /tmp/.mount_InkscaFh5ReL/usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so.1.4.0.0
27# 0x00007F0C90D24DF4 in /tmp/.mount_InkscaFh5ReL/usr/lib/libstdc++.so.6
28# start_thread in /tmp/.mount_InkscaFh5ReL/lib/x86_64-linux-gnu/libpthread.so.0
29# __clone in /tmp/.mount_InkscaFh5ReL/lib/x86_64-linux-gnu/libc.so.6
</pre>
<details><summary>System info</summary>
Inkscape 1.4-beta (62f545b, 2024-04-22)
Compile (Run)
GLib version: 2.64.6
GTK version: 3.24.20 (3.24.20)
glibmm version: 2.64.2
gtkmm version: 3.24.2
libxml2 version: 2.9.10
libxslt version: 1.1.34
Cairo version: 1.16.0 (1.16.0)
Pango version: 1.44.7 (1.44.7)
HarfBuzz version: 2.6.4 (2.6.4)
OS version: Manjaro Linux
</details>
What should have happened?
To finish the initialization of system and local fonts. To be able to switch font using the new tool
Sample attachments:
Version info
Inkscape 1.4-beta (62f545b, 2024-04-22)
Compile (Run)
GLib version: 2.64.6
GTK version: 3.24.20 (3.24.20)
glibmm version: 2.64.2
gtkmm version: 3.24.2
libxml2 version: 2.9.10
libxslt version: 1.1.34
Cairo version: 1.16.0 (1.16.0)
Pango version: 1.44.7 (1.44.7)
HarfBuzz version: 2.6.4 (2.6.4)
OS version: Manjaro Linux
Edited by Lobaluna