← Back to team overview

dx-packages team mailing list archive

[Bug 1495173] Re: compiz crashed with SIGSEGV in g_bit_lock()

 

This is not a bug in glib. UploadBlacklist() loops through a list of
strings with

  for (auto item : blacklist_)
    // do something with item.c_str()

which makes a copy of each string in every iteration. This means that
item.c_str() is not valid anymore after the loop finishes.
g_settings_set_strv() then rightly complains about invalid utf8  from
whatever is lying around at those memory addresses then.

The attached branch fixes this by using a const reference in the loop.

** Changed in: unity (Ubuntu)
       Status: Invalid => In Progress

** Changed in: glib2.0 (Ubuntu)
       Status: Confirmed => Invalid

** Changed in: unity (Ubuntu)
   Importance: Medium => High

** Branch linked: lp:~larsu/unity/lp1495173

-- 
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/1495173

Title:
  compiz crashed with SIGSEGV in g_bit_lock()

Status in glib2.0 package in Ubuntu:
  Invalid
Status in unity package in Ubuntu:
  In Progress

Bug description:
  Error occurred while trying to unlock from launcher disk volume icon using context menu.
  The error can be reproduced.

  ProblemType: Crash
  DistroRelease: Ubuntu 15.10
  Package: unity 7.3.2+15.10.20150910.1-0ubuntu1
  ProcVersionSignature: Ubuntu 4.2.0-7.7-generic 4.2.0
  Uname: Linux 4.2.0-7-generic x86_64
  ApportVersion: 2.18.1-0ubuntu1
  Architecture: amd64
  CrashCounter: 1
  CurrentDesktop: Unity
  Date: Sun Sep 13 01:10:59 2015
  ExecutablePath: /usr/bin/compiz
  InstallationDate: Installed on 2015-09-13 (0 days ago)
  InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150911)
  ProcCmdline: compiz
  SegvAnalysis:
   Segfault happened at: 0x7f33bc884338 <g_bit_lock+72>:	lock bts %r12d,(%rbx)
   PC (0x7f33bc884338) ok
   source "%r12d" ok
   destination "(%rbx)" (0x00000020) not located in a known VMA region (needed writable region)!
  SegvReason: writing NULL VMA
  Signal: 11
  SourcePackage: unity
  StacktraceTop:
   g_bit_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
   ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
   g_variant_serialiser_needed_size () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
   ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
   ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  Title: compiz crashed with SIGSEGV in g_bit_lock()
  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/glib2.0/+bug/1495173/+subscriptions