SIGBUS Panic in smbd
Ken Weaverling
weave at hopi.dtcc.edu
Mon Jun 28 23:38:10 GMT 1999
On Tue, 29 Jun 1999, Jeremy Allison wrote:
> Ken Weaverling wrote:
>
> > > The reason for the crashes the this thread started with is that
> > > ret->pw_passwd is __most__ likely a pointer to a static area and
> > > calling free on that can cause a crash.
> >
> > I've seen this myself. I just upgraded to 2.04b from 2.03 on a box that
> > serves thousands of users. The panics started to occur. This is
> > a debugger dump.
>
> Ok - I want to get this straight. This is with a machine
> that has HAVE_GETPWANAM defined after configure, correct ?
Sorry to break bad news to you, but on this box, there is no getpwanam()
and it isn't defined in config.h either.
It looks like it is failing inside getpwnam()...
btw, I have a machine that I can reproduce this everytime consistently.
But if I log onto the same machine with a different account executing the
same logon script, it's fine. Weird...
dbx) up
Frame 15, line 153, routine _Get_Pwnam(s=0xefffd2b8 -> "usertemp"), file username.c
* 153 ret = getpwnam(s);
(dbx) list 153
148 ****************************************************************************/
149 static struct passwd *_Get_Pwnam(char *s)
150 {
151 struct passwd *ret;
152
* 153 ret = getpwnam(s);
154 if (ret)
155 {
156 #ifdef HAVE_GETPWANAM
157 struct passwd_adjunct *pwret;
158 pwret = getpwanam(s);
(dbx) print s
s = 0xefffd2b8 -> "usertemp"
(dbx) print ret
ret = 0xefffd1f1
(dbx) print *ret
Warning: Unable to dereference pointer.
Warning: Unable to dereference pointer.
Warning: Unable to dereference pointer.
Warning: Unable to dereference pointer.
Warning: Unable to dereference pointer.
Warning: Unable to dereference pointer.
Warning: Unable to dereference pointer.
*ret = {
pw_name = 0x00fe9400
pw_passwd = 0x26ab0000
pw_uid = 632443008
pw_gid = 180262912
pw_age = 0x00002000
pw_comment = 0x1d540400
pw_gecos = 0x00001380
pw_dir = 0x0abe9880
pw_shell = 0x06027000
}
More information about the samba-technical
mailing list