[Trisquel-devel] dino-im segfaulting on Trisquel GNU/Linux 12.0
Xavier Del Campo Romero
xavi92 at disroot.org
Sun May 25 18:49:57 UTC 2025
Hello everyone,
I did a fresh install of Trisquel (KDE flavour) yesterday, after being a
Kubuntu user for over 10 years. Thank you very much for your hard work
into maintaining this great distro!
Being a daily XMPP user myself, I installed the dino-im package and I
noticed it would always segfault on startup. Some quick debugging with
gdb(1) shows some issue inside libpango. My GTK3-based fork [1] of Dino
also segfaults inside the same function:
Thread 1 "dino-im" received signal SIGSEGV, Segmentation fault.
0x00007ffff7b106f4 in pango_coverage_get () from
/lib/x86_64-linux-gnu/libpango-1.0.so.0
In order to get more information, I have built libpango from sources
(obtained via `apt source libpango-1.0-0`) and installed it, so that I
re-configured my fork to choose that version of libpango instad. Then, I
found out the reason behind the segmentation fault is a null pointer
dereference (see `coverage`):
#0 pango_coverage_get (coverage=0x0, index=84) at
../pango/pango-coverage.c:183
183 return PANGO_COVERAGE_GET_CLASS (coverage)->get
(coverage, index);
(gdb) bt
#0 pango_coverage_get (coverage=0x0, index=84) at
../pango/pango-coverage.c:183
#1 0x00007ffff6db44fc in pango_font_default_has_char
(font=<optimized out>, wc=84) at ../pango/fonts.c:1795
Where `coverage` is obtained by the caller, pango_font_default_has_char
- unfortunately, without any null pointer check. [2] Some more
source-level debugging shows pango_font_default_has_char is entered with
a valid pointer for `font`, but pango_language_get_default returns
NULLas it does not enter the `|g_once_init_enter (&result)` branch. [3]|
At this point, I am unsure whether this is a distribution-specific
issue, or an actual bug in libpango.
Best regards,
Xavi
[1]: https://gitea.privatedns.org/xavi/dino
[2]:
https://gitlab.gnome.org/GNOME/pango/-/blob/1.52.1/pango/fonts.c?ref_type=tags#L1794-1795
[3]:
https://gitlab.gnome.org/GNOME/pango/-/blob/1.52.1/pango/pango-language.c?ref_type=tags#L307
More information about the Trisquel-devel
mailing list