← Back to team overview

dx-packages team mailing list archive

[Bug 1199571] Re: compiz crashed with SIGSEGV in af_latin_hints_compute_edges()

 

I looked at the implementation of cairo-ft-font.c and it seems that
there are huge multi-threading violations in cairo. The reason is that
FreeType API documentation clearly states:

In multi-threaded applications, make sure that the same FT_Library
object or any of its children doesn't get accessed in parallel.

Cairo initializes FT_Library for its font map and there's a lock for
that, however it's only used for font map manipulations, the actual FT_
library calls are completely unprotected with that lock, although they
should be! What adds to the injury is that cairo-ft-font.c even has this
comment on one of its functions:

You must be careful when using this function in a library or in a
threaded application, because freetype's design makes it unsafe to
call freetype functions simultaneously from multiple threads, (even
if using distinct FT_Face objects)

Too bad they don't follow their own advice, and no wonder compiz is
crashing like that. Can somebody contact upstream about this issue and
make them aware of it?

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1199571

Title:
  compiz crashed with SIGSEGV in af_latin_hints_compute_edges()

Status in “unity” package in Ubuntu:
  Triaged

Bug description:
  Fresh dist-upgrade; brought up the dash, typed "term"; single clicked
  on the terminal app and _bang_.

  ProblemType: Crash
  DistroRelease: Ubuntu 13.10
  Package: unity 7.0.2+13.10.20130705.1-0ubuntu1
  ProcVersionSignature: Ubuntu 3.10.0-2.10-generic 3.10.0
  Uname: Linux 3.10.0-2-generic x86_64
  ApportVersion: 2.10.2-0ubuntu4
  Architecture: amd64
  Date: Tue Jul  9 17:47:10 2013
  EcryptfsInUse: Yes
  ExecutablePath: /usr/bin/compiz
  InstallationDate: Installed on 2013-06-06 (33 days ago)
  InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
  MarkForUpload: True
  ProcCmdline: compiz
  ProcEnviron:
   LANGUAGE=en_US
   PATH=(custom, user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SegvAnalysis:
   Segfault happened at: 0x7ff3b4ed7a10:	mov    %rdx,0x10(%rax)
   PC (0x7ff3b4ed7a10) ok
   source "%rdx" ok
   destination "0x10(%rax)" (0x00000010) not located in a known VMA region (needed writable region)!
   Stack memory exhausted (SP below stack segment)
  SegvReason: writing NULL VMA
  Signal: 11
  SourcePackage: unity
  StacktraceTop:
   ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
   ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
   ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
   ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
   FT_Load_Glyph () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
  Title: compiz crashed with SIGSEGV in FT_Load_Glyph()
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1199571/+subscriptions