Bug#958017: libpango-1.0-0: Crash in pango_font_get_hb_font

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#958017: libpango-1.0-0: Crash in pango_font_get_hb_font

Sam Morris
Package: libpango-1.0-0
Version: 1.44.7-3
Followup-For: Bug #958017
Control: -1 severity minor

After upgrading libpangocairo-1.0-0 to the version in unstable,
pango-view gives some more useful messages:

    (pango-view:303404): GLib-GObject-WARNING **: 13:40:03.869: specified class size for type 'PangoCairoFcFont' is smaller than the parent type's 'PangoFcFont' class size

    (pango-view:303404): GLib-GObject-CRITICAL **: 13:40:03.869: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

    (pango-view:303404): GLib-CRITICAL **: 13:40:03.869: g_once_init_leave: assertion 'result != 0' failed

    (pango-view:303404): GLib-GObject-CRITICAL **: 13:40:03.869: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

So I think the crash is caused by the version skew between the
different pango libraries.

After installing libpangoft2-1.0-0 (which pulls in libharfbuzz0b as
well), pango-view and other programs work again.

-- System Information:
Debian Release: 10.3
  APT prefers stable-debug
  APT policy: (570, 'stable-debug'), (570, 'stable'), (550, 'testing-debug'), (550, 'testing'), (530, 'unstable-debug'), (530, 'unstable'), (500, 'stable-updates'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.4.0-4-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_USER
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: SELinux: enabled - Mode: Permissive - Policy name: default

Versions of packages libpango-1.0-0 depends on:
ii  fontconfig     2.13.1-2
ii  libc6          2.30-4
ii  libfribidi0    1.0.5-3.1+deb10u1
ii  libglib2.0-0   2.64.1-1
ii  libharfbuzz0b  2.3.1-1
ii  libthai0       0.1.28-2

libpango-1.0-0 recommends no packages.

libpango-1.0-0 suggests no packages.

-- no debconf information

Reply | Threaded
Open this post in threaded view
|

Bug#958017: libpango-1.0-0: Crash in pango_font_get_hb_font

Simon McVittie-7
On Fri, 17 Apr 2020 at 13:55:29 +0100, Sam Morris wrote:
> After upgrading libpangocairo-1.0-0 to the version in unstable

I think this points to pango needing tighter dependencies between its
various sub-libraries. An upstream developer is never going to support
us installing a mixture of shared libraries from different versions of
the same source package.

I think this can be set up by using debian/shlibs.local (in progress).

I wonder whether there should be a special case in debhelper that looks
for shared library dependencies on binary packages from the same source,
and automatically upgrades them to "= ${binary:Version}" by default?

>     (pango-view:303404): GLib-GObject-WARNING **: 13:40:03.869: specified class size for type 'PangoCairoFcFont' is smaller than the parent type's 'PangoFcFont' class size

Yeah, that's never going to work. Pango has private headers that share
information (like the concrete layout of these class structs) between
shared libraries that are (meant to be!) tightly-coupled.

    smcv