The Precise Pangolin has reached end of life, so this bug will not be
fixed for that release

** Changed in: libnih (Ubuntu Precise)
       Status: New => Won't Fix

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

Title:
  nih uses eglibc private symbol __abort_msg

Status in libnih:
  Confirmed
Status in apport package in Ubuntu:
  Fix Released
Status in libnih package in Ubuntu:
  Fix Released
Status in apport source package in Precise:
  Won't Fix
Status in libnih source package in Precise:
  Won't Fix
Status in apport source package in Quantal:
  Won't Fix
Status in libnih source package in Quantal:
  Won't Fix
Status in apport source package in Raring:
  Fix Released
Status in libnih source package in Raring:
  Fix Released

Bug description:
  NIH uses the private eglibc '__abort_msg' symbol to save a string
  explaining why nih_assert() failed. However, __abort_msg is not a
  public symbol which causes problems when libc is upgraded - it
  actually necessitates that for every libc upgrade on, for example,
  Ubuntu systems the following has to happen:

  1) eglibc is upgraded with a version set to <version>~foo
  2) nih is rebuilt against the eglibc version
  3) nih is upgraded.
  4) the eglibc package is upgraded *again* to drop the ~foo.

  The symbol can be made use of like this:

  $ cat >foo.c<<EOF
  int
  main(int argc, char *argv[])
  {
      nih_log_set_priority (NIH_LOG_FATAL);
      nih_assert (0 == 1);

      exit (EXIT_SUCCESS);
  }
  EOF
  $ gcc -std=gnu99 -g -Wall -pedantic -o foo foo.c `pkg-config --cflags --libs 
libnih`
  $ ./foo
  (null):nih_make_core.c:46: Assertion failed in main: 0 == 1
  Aborted (core dumped)
  $ gdb foo core.1597
  GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu1) 7.4-2012.04
  Copyright (C) 2012 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  and "show warranty" for details.
  This GDB was configured as "i686-linux-gnu".
  For bug reporting instructions, please see:
  <http://bugs.launchpad.net/gdb-linaro/>...
  Reading symbols from /home/james/src/c/foo...done.
  [New LWP 1597]
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
  Core was generated by `foo'.
  Program terminated with signal 6, Aborted.
  #0  0xb770d1b2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
  (gdb) p (char *)__abort_msg
  $1 = 0x93fa098 "nih_make_core.c:46: Assertion failed in main: 0 == 1"
  (gdb)

To manage notifications about this bug go to:
https://bugs.launchpad.net/libnih/+bug/997359/+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