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 now test-building the patched package, and will post a follow-up
comment.

** Patch added: "debdiff-debuglevel.patch"
   
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/529714/+attachment/2089845/+files/debdiff-debuglevel.patch

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