Public bug reported:

Code example:
http://paste.ubuntu.com/24133139/

Fails on the 2nd load due to an issue of libprotobuf-lite not being
unloaded. Meaning the static variables aren't being re-inited. Protobuf
uses a static variable for an empty string optimization which ends up
becoming a dangling pointer:

back trace:
http://paste.ubuntu.com/24133152/

valgrind:
http://paste.ubuntu.com/24133156/


The workaround/fix that we saw was to re-set that static variable which will 
let the empty string be init'd correctly.

** Affects: mir
     Importance: High
     Assignee: Brandon Schaefer (brandontschaefer)
         Status: In Progress

** Affects: mir (Ubuntu)
     Importance: High
     Assignee: Brandon Schaefer (brandontschaefer)
         Status: In Progress

** Changed in: mir
       Status: New => In Progress

** Changed in: mir
   Importance: Undecided => High

** Changed in: mir
     Assignee: (unassigned) => Brandon Schaefer (brandontschaefer)

** Also affects: mir (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: mir
    Milestone: None => 1.0.0

** Changed in: mir
    Milestone: 1.0.0 => 0.26.2

** Changed in: mir (Ubuntu)
       Status: New => In Progress

** Changed in: mir (Ubuntu)
   Importance: Undecided => High

** Changed in: mir (Ubuntu)
     Assignee: (unassigned) => Brandon Schaefer (brandontschaefer)

** Summary changed:

- Mirclient cannot be reloaded through dlopen
+ libmirclient cannot be reloaded through dlopen

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1670844

Title:
  libmirclient cannot be reloaded through dlopen

Status in Mir:
  In Progress
Status in mir package in Ubuntu:
  In Progress

Bug description:
  Code example:
  http://paste.ubuntu.com/24133139/

  Fails on the 2nd load due to an issue of libprotobuf-lite not being
  unloaded. Meaning the static variables aren't being re-inited.
  Protobuf uses a static variable for an empty string optimization which
  ends up becoming a dangling pointer:

  back trace:
  http://paste.ubuntu.com/24133152/

  valgrind:
  http://paste.ubuntu.com/24133156/

  
  The workaround/fix that we saw was to re-set that static variable which will 
let the empty string be init'd correctly.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1670844/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to