sessionid.tdb missing after build and client read failutre

David Shapiro david.shapiro at btitele.com
Wed Jul 3 13:06:06 GMT 2002


I recompiled with CFLAGS option -g and ran again:
 
313                                     fmtint (buffer, &currlen, maxlen,
value, 10, min, max, flags);
(gdb) 
314                                     break;
(gdb) 
368                                     break;
(gdb) 
400                             state = DP_S_DEFAULT;
(gdb) 
401                             flags = cflags = min = 0;
(gdb) 
402                             max = -1;
(gdb) 
408                             break; /* some picky compilers need this */
(gdb) 
185                     switch(state) {
(gdb) 
187                             if (ch == '%') 
(gdb) 
190                                     dopr_outch (buffer, &currlen,
maxlen, ch);
(gdb) 
192                             break;
(gdb) 
408                             break; /* some picky compilers need this */
(gdb) 
185                     switch(state) {
(gdb) 
408                             break; /* some picky compilers need this */
(gdb) 
411             if (maxlen != 0) {
(gdb) 
412                     if (currlen < maxlen - 1) 
(gdb) 
413                             buffer[currlen] = '\0';
(gdb) 
419     }
(gdb) 
vsnprintf (str=0x15 <Address 0x15 out of bounds>, count=1023, fmt=0x1c482e
"", args=0xffbef50c) at lib/snprintf.c:777
777     }
(gdb) 
dbgtext (format_str=0x1c4818 "got smb length of %d\n") at lib/debug.c:982
982       format_debug_text( msgbuf );
(gdb) 
985       } /* dbgtext */
(gdb) 
read_smb_length_return_keepalive (fd=13, inbuf=0x26af68 "", timeout=0) at
lib/util_sock.c:541
541             return(len);
(gdb) 
542     }
(gdb) 
receive_smb (fd=13, buffer=0x26af68 "", timeout=0) at lib/util_sock.c:588
588             if (len < 0) {
(gdb) 
607             if (len > (BUFFER_SIZE + LARGE_WRITEX_HDR_SIZE)) {
(gdb) 
624                     ret = read_socket_data(fd,buffer+4,len);
(gdb) 
625                     if (ret != len) {
(gdb) 
632             return(True);
(gdb) 
633     }
(gdb) 
receive_message_or_smb (buffer=0x26af68 "", buffer_len=131137,
timeout=60000) at smbd/process.c:271
271     }
(gdb) 
smbd_process () at smbd/process.c:1267
1267                    num_echos = smb_echo_count;
(gdb) 
1269                    process_smb(InBuffer, OutBuffer);
(gdb) 
 
Program received signal SIGSEGV, Segmentation fault.
0xff132e84 in strcmp () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function strcmp, 
which has no line number information.
0xff1544ec in _tzload () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function _tzload, 
which has no line number information.
0xff152df8 in _ltzset_u () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function _ltzset_u, 
which has no line number information.
 
 
 
 
 
 
 
 
 
 
 
0xff152994 in mktime () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function mktime, 
which has no line number information.
0xff1736dc in strftime () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function strftime, 
which has no line number information.
timestring (hires=0) at lib/time.c:709
709     }
(gdb) 
dbghdr (level=0, file=0x1c18e0 "lib/fault.c", func=0x1c18f0 "fault_report",
line=36) at lib/debug.c:956
956       errno = old_errno;
(gdb) 
957       return( True );
(gdb) 
958     }
(gdb) 
fault_report (sig=11) at lib/fault.c:37
37              DEBUG(0,("INTERNAL ERROR: Signal %d in pid %d
(%s)",sig,(int)sys_getpid(),VERSION));
(gdb) 
38              DEBUG(0,("\nPlease read the file BUGS.txt in the
distribution\n"));
(gdb) 
39
DEBUG(0,("===============================================================\n"
));
(gdb) 
41              smb_panic("internal error");
(gdb) 
 
Program received signal SIGABRT, Aborted.
0xff19c724 in _libc_kill () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function _libc_kill, 
which has no line number information.
procfs: couldn't stop process 84866: wait returned -1


-----Original Message-----
From: Esh, Andrew [mailto:AEsh at tricord.com]
Sent: Tuesday, July 02, 2002 11:10 AM
To: 'David Shapiro'; 'Andrew Bartlett'
Cc: 'Richard Sharpe'; 'samba-technical at lists.samba.org'
Subject: RE: sessionid.tdb missing after build and client read failutre



Don't step at that point. The process has already run the CPU into the wrong
segment, or accessed memory using a bad pointer. Stepping will only destroy
information.

Do a 'bt' instead. That will dump the call stack, and show what path the
code ran to get to this point. What I expect to see is somewhere above the
strcmp routine, a Samba routine will call strcmp with a bad pointer, or a
non-terminated string buffer. We need to know which routine did that.

-----Original Message----- 
From: David Shapiro [ mailto:david.shapiro at btitele.com
<mailto:david.shapiro at btitele.com> ] 
Sent: Tuesday, July 02, 2002 9:17 AM 
To: 'Andrew Bartlett'; David Shapiro 
Cc: 'Richard Sharpe'; 'samba-technical at lists.samba.org' 
Subject: RE: sessionid.tdb missing after build and client read failutre 


Trying to get better at this gdb here.  I see a segmentation fault: 

which has no line number information. 

Program received signal SIGSEGV, Segmentation fault. 
0xff132e84 in strcmp () from /usr/lib/libc.so.1 
(gdb) step 
Single stepping until exit from function strcmp, 
which has no line number information. 
0xff1544ec in _tzload () from /usr/lib/libc.so.1 
(gdb) step 
Single stepping until exit from function _tzload, 
which has no line number information. 
0xff152df8 in _ltzset_u () from /usr/lib/libc.so.1 
(gdb) step 
Single stepping until exit from function _ltzset_u, 
which has no line number information. 
0xff152994 in mktime () from /usr/lib/libc.so.1 
(gdb) step 
Single stepping until exit from function mktime, 
which has no line number information. 
0xff1736dc in strftime () from /usr/lib/libc.so.1 
(gdb) step 
Single stepping until exit from function strftime, 
which has no line number information. 
0x136db0 in timestring () 
(gdb) step 
Single stepping until exit from function timestring, 


-----Original Message----- 
From: Andrew Bartlett [ mailto:abartlet at samba.org
<mailto:abartlet at samba.org> ] 
Sent: Tuesday, July 02, 2002 9:01 AM 
To: David Shapiro 
Cc: 'Andrew Bartlett'; 'Richard Sharpe'; 
'samba-technical at lists.samba.org' 
Subject: Re: sessionid.tdb missing after build and client read failutre 


David Shapiro wrote: 
> 
> Thank you Andrew.  I was looking at joining because it was mentioned that 
to 
> get sessionid.tdb, you needed to join domain.  I looked ing smbd.log and 
saw 
> a connection from davidsha, and then in my workstation log and saw at the 
> bottom: 
> 

>   =============================================================== 
> [2002/07/02 08:40:53, 0] lib/fault.c:fault_report(37) 
>   INTERNAL ERROR: Signal 11 in pid 8127 (3.0-alpha17) 
>   Please read the file BUGS.txt in the distribution 
> [2002/07/02 08:40:53, 0] lib/fault.c:fault_report(39) 
>   =============================================================== 
> 
> I also keep getting an xterm session pop up that says: 
> 
> xterm: Can't execvp /usr/local/bin/gdb 
> 
> I think this comes from the line in smb.conf: 
> 
> panic action = /usr/openwin/bin/xterm -display $DISPLAY -e 
> /usr/local/bin/gbd -p %d 
> 
> gdb is in /usr/local/bin.  What does it mean it can't execvp it? 

I dunno - but just make it a simple 'panic action = /bin/sleep 9000' and 
attach manually.  Then lets look at it from there. 

Andrew Bartlett 

-- 
Andrew Bartlett                                 abartlet at pcug.org.au 
Manager, Authentication Subsystems, Samba Team  abartlet at samba.org 
Student Network Administrator, Hawker College   abartlet at hawkerc.net 
http://samba.org <http://samba.org>      http://build.samba.org
<http://build.samba.org>      http://hawkerc.net <http://hawkerc.net>  

-------------- next part --------------
HTML attachment scrubbed and removed


More information about the samba-technical mailing list