On Tue, 2011-04-26 at 13:28 +0000, Chow Loong Jin wrote:
> Okay, I think I've found the issue, based on a crash with liferea:-
> 
> At wins.c:95, we have
> DEBUGLEVEL = 0;
> 
> Somewhere in source3/include/debug.h, we have
> #define DEBUGLEVEL *debug_level
> extern int DEBUGLEVEL;
> 
> In source3/lib/debug.c, we have:
> int DEBUGLEVEL = &debug_all_class_hack;
> 
> 
> Based on this, all seems well and good, except that due to a problematic 
> build system, libnss_wins.so dynamically resolves this debug_level variable 
> when loaded by libc. In the case of liferea, it uses a global int debug_level 
> somewhere around its source code. I reckon the other applications that are 
> affected by this bug also use something similar.
> 
> Given that Natty is really near, and I reckon it's too late to be trying
> something grand like controlling what symbols do and do not get
> exported/dynamically resolved during load, I have come up with a patch
> that renames debug_level to smb_debug_level in source3/include/debug.h.
> This should solve the issue for the time being.
I'm surprised nss modules aren't loaded with RTLD_DEEPBIND specified.
This is a flag for dlopen() that allows you to indicate that module
local symbols should preferred to global ones.

>From the manpage:

RTLD_DEEPBIND (since glibc 2.3.4)
     Place the lookup scope of the symbols in this library ahead  of
     the  global  scope.   This  means that a self-contained library
     will use its own symbols in preference to global  symbols  with
     the  same  name  contained  in libraries that have already been
     loaded.  This flag is not specified in POSIX.1-2001.

Cheers,

Jelmer

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is a bug assignee.
https://bugs.launchpad.net/bugs/529714

Title:
  rhythmbox crashed with SIGSEGV in _nss_wins_gethostbyname_r()

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to