bin/113850: unable to debug sshd with strace/truss/gdb

Peter Keel peter.keel at hostpoint.ch
Tue Jun 19 09:10:06 UTC 2007


>Number:         113850
>Category:       bin
>Synopsis:       unable to debug sshd with strace/truss/gdb
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 19 09:10:05 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Peter Keel
>Release:        FreeBSD 6.2-RELEASE-p5
>Organization:
Hostpoint AG
>Environment:
FreeBSD proto2 6.2-RELEASE-p5 FreeBSD 6.2-RELEASE-p5 #3: Tue Jun  5 14:19:30 CEST 2007     root at proto2:/usr/obj/usr/src/sys/SMP-IPFW  i386

>Description:
sshd does not want to get debugged. No matter how UsePrivilegeSeparation is set:


root at proto2 [/]# truss -fae /usr/sbin/sshd -d -d -d
70621: mmap(0x0,3904,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 671723520 (0x2809b000)
70621: munmap(0x2809b000,3904)                   = 0 (0x0)
70621: __sysctl(0xbfbfea48,0x2,0x28097b58,0xbfbfea44,0x0,0x0) = 0 (0x0)
70621: mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 671723520 (0x2809b000)
70621: issetugid()                               = 0 (0x0)
70621: open("/etc/libmap.conf",O_RDONLY,0666)    ERR#2 'No such file or directory'
70621: open("/var/run/ld-elf.so.hints",O_RDONLY,00) = 3 (0x3)
70621: read(3,"Ehnt\^A\0\0\0\M^@\0\0\0\M-G\0\0"...,128) = 128 (0x80)
70621: lseek(3,0x80,SEEK_SET)                    = 128 (0x80)
70621: read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,199) = 199 (0xc7)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libssh.so.3",0)              ERR#2 'No such file or directory'
70621: access("/usr/lib/libssh.so.3",0)          = 0 (0x0)
70621: open("/usr/lib/libssh.so.3",O_RDONLY,00)  = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=164956,size=208860,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,217088,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 671756288 (0x280a3000)
70621: mprotect(0x280d4000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x280d4000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x280d5000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x31000) = 671961088 (0x280d5000)
70621: mmap(0x280d7000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 671969280 (0x280d7000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libutil.so.5",0)             = 0 (0x0)
70621: open("/lib/libutil.so.5",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=541712,size=43572,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,49152,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 671973376 (0x280d8000)
70621: mprotect(0x280e1000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x280e1000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x280e2000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x9000) = 672014336 (0x280e2000)
70621: mmap(0x280e3000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 672018432 (0x280e3000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libz.so.3",0)                = 0 (0x0)
70621: open("/lib/libz.so.3",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=541742,size=64284,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,69632,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672022528 (0x280e4000)
70621: mprotect(0x280f3000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x280f3000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x280f4000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xf000) = 672088064 (0x280f4000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libwrap.so.4",0)             ERR#2 'No such file or directory'
70621: access("/usr/lib/libwrap.so.4",0)         = 0 (0x0)
70621: open("/usr/lib/libwrap.so.4",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=165427,size=27812,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,28672,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672092160 (0x280f5000)
70621: mprotect(0x280fa000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x280fa000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x280fb000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x6000) = 672116736 (0x280fb000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libpam.so.3",0)              ERR#2 'No such file or directory'
70621: access("/usr/lib/libpam.so.3",0)          = 0 (0x0)
70621: open("/usr/lib/libpam.so.3",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=165268,size=25484,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,28672,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672120832 (0x280fc000)
70621: mprotect(0x28101000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28101000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28102000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x5000) = 672145408 (0x28102000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libbsm.so.1",0)              ERR#2 'No such file or directory'
70621: access("/usr/lib/libbsm.so.1",0)          = 0 (0x0)
70621: open("/usr/lib/libbsm.so.1",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=165025,size=59448,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,61440,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672149504 (0x28103000)
70621: mprotect(0x28110000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28110000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28111000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xe000) = 672206848 (0x28111000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libgssapi.so.8",0)           ERR#2 'No such file or directory'
70621: access("/usr/lib/libgssapi.so.8",0)       = 0 (0x0)
70621: open("/usr/lib/libgssapi.so.8",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=164917,size=53556,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,57344,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672210944 (0x28112000)
70621: mprotect(0x2811e000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x2811e000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x2811f000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xc000) = 672264192 (0x2811f000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libkrb5.so.8",0)             ERR#2 'No such file or directory'
70621: access("/usr/lib/libkrb5.so.8",0)         = 0 (0x0)
70621: open("/usr/lib/libkrb5.so.8",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=164936,size=216484,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,212992,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672268288 (0x28120000)
70621: mprotect(0x28151000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28151000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28152000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x32000) = 672473088 (0x28152000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libasn1.so.8",0)             ERR#2 'No such file or directory'
70621: access("/usr/lib/libasn1.so.8",0)         = 0 (0x0)
70621: open("/usr/lib/libasn1.so.8",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=164908,size=134060,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,135168,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672481280 (0x28154000)
70621: mprotect(0x28173000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28173000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28174000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x1f000) = 672612352 (0x28174000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libcom_err.so.3",0)          ERR#2 'No such file or directory'
70621: access("/usr/lib/libcom_err.so.3",0)      = 0 (0x0)
70621: open("/usr/lib/libcom_err.so.3",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=165065,size=5544,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,8192,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672616448 (0x28175000)
70621: mprotect(0x28175000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28175000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28176000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x1000) = 672620544 (0x28176000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libroken.so.8",0)            ERR#2 'No such file or directory'
70621: access("/usr/lib/libroken.so.8",0)        = 0 (0x0)
70621: open("/usr/lib/libroken.so.8",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=164944,size=49268,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,49152,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672624640 (0x28177000)
70621: mprotect(0x28181000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28181000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28182000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xb000) = 672669696 (0x28182000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libcrypto.so.4",0)           = 0 (0x0)
70621: open("/lib/libcrypto.so.4",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=541743,size=1004332,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,1003520,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 672673792 (0x28183000)
70621: mprotect(0x28261000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28261000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28262000,77824,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xde000) = 673587200 (0x28262000)
70621: mmap(0x28275000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 673665024 (0x28275000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libcrypt.so.3",0)            = 0 (0x0)
70621: open("/lib/libcrypt.so.3",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=541699,size=28680,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,98304,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 673677312 (0x28278000)
70621: mprotect(0x2827d000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x2827d000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x2827e000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x6000) = 673701888 (0x2827e000)
70621: mmap(0x2827f000,69632,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 673705984 (0x2827f000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libc.so.6",0)                = 0 (0x0)
70621: open("/lib/libc.so.6",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=541722,size=923884,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,942080,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 673775616 (0x28290000)
70621: mprotect(0x28359000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28359000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x2835a000,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xc9000) = 674603008 (0x2835a000)
70621: mmap(0x28360000,90112,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 674627584 (0x28360000)
70621: close(3)                                  = 0 (0x0)
70621: access("/lib/libz.so.3",0)                = 0 (0x0)
70621: access("/lib/libgssapi.so.8",0)           ERR#2 'No such file or directory'
70621: access("/usr/lib/libgssapi.so.8",0)       = 0 (0x0)
70621: access("/lib/libkrb5.so.8",0)             ERR#2 'No such file or directory'
70621: access("/usr/lib/libkrb5.so.8",0)         = 0 (0x0)
70621: access("/lib/libasn1.so.8",0)             ERR#2 'No such file or directory'
70621: access("/usr/lib/libasn1.so.8",0)         = 0 (0x0)
70621: access("/lib/libcom_err.so.3",0)          ERR#2 'No such file or directory'
70621: access("/usr/lib/libcom_err.so.3",0)      = 0 (0x0)
70621: access("/lib/libroken.so.8",0)            ERR#2 'No such file or directory'
70621: access("/usr/lib/libroken.so.8",0)        = 0 (0x0)
70621: access("/lib/libcrypto.so.4",0)           = 0 (0x0)
70621: access("/lib/libcrypt.so.3",0)            = 0 (0x0)
70621: access("/lib/libmd.so.3",0)               = 0 (0x0)
70621: open("/lib/libmd.so.3",O_RDONLY,027757765310) = 3 (0x3)
70621: fstat(3,{mode=-r--r--r-- ,inode=541704,size=55160,blksize=4096}) = 0 (0x0)
70621: read(3,"\^?ELF\^A\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
70621: mmap(0x0,57344,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 674717696 (0x28376000)
70621: mprotect(0x28382000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mprotect(0x28382000,4096,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x28383000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xc000) = 674770944 (0x28383000)
70621: close(3)                                  = 0 (0x0)
70621: sysarch(0xa,0xbfbfeac0)                   = 0 (0x0)
70621: mmap(0x0,3808,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,3808)                   = 0 (0x0)
70621: mmap(0x0,5400,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,5400)                   = 0 (0x0)
70621: mmap(0x0,1832,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,1832)                   = 0 (0x0)
70621: mmap(0x0,1024,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,1024)                   = 0 (0x0)
70621: mmap(0x0,1176,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,1176)                   = 0 (0x0)
70621: mmap(0x0,1064,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,1064)                   = 0 (0x0)
70621: mmap(0x0,1488,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,1488)                   = 0 (0x0)
70621: mmap(0x0,1912,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,1912)                   = 0 (0x0)
70621: mmap(0x0,6368,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,6368)                   = 0 (0x0)
70621: mmap(0x0,2904,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,2904)                   = 0 (0x0)
70621: mmap(0x0,416,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,416)                    = 0 (0x0)
70621: mmap(0x0,2032,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,2032)                   = 0 (0x0)
70621: mprotect(0x28183000,913408,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
70621: mmap(0x0,22336,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,22336)                  = 0 (0x0)
70621: mprotect(0x28183000,913408,PROT_READ|PROT_EXEC) = 0 (0x0)
70621: mmap(0x0,600,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,600)                    = 0 (0x0)
70621: mmap(0x0,22824,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,22824)                  = 0 (0x0)
70621: mmap(0x0,808,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: munmap(0x28384000,808)                    = 0 (0x0)
70621: sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
70621: sigprocmask(SIG_SETMASK,0x0,0x0)          = 0 (0x0)
70621: readlink("/etc/malloc.conf",0xbfbfdea0,63) ERR#2 'No such file or directory'
70621: issetugid()                               = 0 (0x0)
70621: mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 674775040 (0x28384000)
70621: break(0x8078000)                          = 0 (0x0)
70621: break(0x8079000)                          = 0 (0x0)
70621: geteuid()                                 = 0 (0x0)
debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 186
debug2: parse_server_config: config /etc/ssh/sshd_config len 186
debug3: /etc/ssh/sshd_config:20 setting Protocol 2
debug3: /etc/ssh/sshd_config:42 setting PermitRootLogin yes
debug3: /etc/ssh/sshd_config:111 setting Subsystem sftp /usr/libexec/sftp-server
debug1: sshd version OpenSSH_4.5p1 FreeBSD-20061110
debug3: Not a RSA1 key file /etc/ssh/ssh_host_dsa_key.
debug1: read PEM private key done: type DSA
debug1: private host key: #0 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: rexec_argv[2]='-d'
debug1: rexec_argv[3]='-d'
debug2: fd 4 setting O_NONBLOCK
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug2: fd 5 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.

The latter part beginning with "debug2" isn't in any output of truss, no matter what flags are given to follow forks. 

Same with strace. If I redirect the output of strace to files, it should produce a file.pid for every fork. Nothing here as well. 

root at proto2 [/]# strace  -ff -F /usr/sbin/sshd -d -d -d
execve(0xbfbfe7b0, [0xbfbfec9c], [/* 0 vars */]) = 0
mmap(0, 3904, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2809b000
munmap(0x2809b000, 3904)                = 0
__sysctl([...], 0x28097b58, 0xbfbfea44, NULL, 0) = 0
mmap(0, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x2809b000
issetugid(0)                            = 0
open("/etc/libmap.conf", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/var/run/ld-elf.so.hints", O_RDONLY) = 3
read(3, "_NOW\0LD_TRACE_LOADED_OBJECTS\0LD_"..., 128) = 128
lseek(3, 128, SEEK_SET)                 = 128
read(3, "/lib:/usr/lib:/usr/lib/compat:/u"..., 199) = 199
close(3)                                = 0
access("/lib/libssh.so.3", F_OK)        = -1 ENOENT (No such file or directory)
access("/usr/lib/libssh.so.3", F_OK)    = 0
open("/usr/lib/libssh.so.3", O_RDONLY)  = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0t\225\0"..., 4096) = 4096
mmap(0, 217088, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x280a3000
mprotect(0x280d4000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x280d4000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x280d5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x31000) = 0x280d5000
mmap(0x280d7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x280d7000
close(3)                                = 0
access("/lib/libutil.so.5", F_OK)       = 0
open("/lib/libutil.so.5", O_RDONLY)     = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\244.\0"..., 4096) = 4096
mmap(0, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x280d8000
mprotect(0x280e1000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x280e1000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x280e2000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000) = 0x280e2000
mmap(0x280e3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x280e3000
close(3)                                = 0
access("/lib/libz.so.3", F_OK)          = 0
open("/lib/libz.so.3", O_RDONLY)        = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\324\26"..., 4096) = 4096
mmap(0, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x280e4000
mprotect(0x280f3000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x280f3000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x280f4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xf000) = 0x280f4000
close(3)                                = 0
access("/lib/libwrap.so.4", F_OK)       = -1 ENOENT (No such file or directory)
access("/usr/lib/libwrap.so.4", F_OK)   = 0
open("/usr/lib/libwrap.so.4", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270\36"..., 4096) = 4096
mmap(0, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x280f5000
mprotect(0x280fa000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x280fa000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x280fb000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x280fb000
close(3)                                = 0
access("/lib/libpam.so.3", F_OK)        = -1 ENOENT (No such file or directory)
access("/usr/lib/libpam.so.3", F_OK)    = 0
open("/usr/lib/libpam.so.3", O_RDONLY)  = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\33"..., 4096) = 4096
mmap(0, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x280fc000
mprotect(0x28101000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28101000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28102000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x28102000
close(3)                                = 0
access("/lib/libbsm.so.1", F_OK)        = -1 ENOENT (No such file or directory)
access("/usr/lib/libbsm.so.1", F_OK)    = 0
open("/usr/lib/libbsm.so.1", O_RDONLY)  = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340!\0"..., 4096) = 4096
mmap(0, 61440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28103000
mprotect(0x28110000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28110000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28111000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xe000) = 0x28111000
close(3)                                = 0
access("/lib/libgssapi.so.8", F_OK)     = -1 ENOENT (No such file or directory)
access("/usr/lib/libgssapi.so.8", F_OK) = 0
open("/usr/lib/libgssapi.so.8", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0049\0"..., 4096) = 4096
mmap(0, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28112000
mprotect(0x2811e000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x2811e000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x2811f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x2811f000
close(3)                                = 0
access("/lib/libkrb5.so.8", F_OK)       = -1 ENOENT (No such file or directory)
access("/usr/lib/libkrb5.so.8", F_OK)   = 0
open("/usr/lib/libkrb5.so.8", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\264\311"..., 4096) = 4096
mmap(0, 212992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28120000
mprotect(0x28151000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28151000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28152000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x32000) = 0x28152000
close(3)                                = 0
access("/lib/libasn1.so.8", F_OK)       = -1 ENOENT (No such file or directory)
access("/usr/lib/libasn1.so.8", F_OK)   = 0
open("/usr/lib/libasn1.so.8", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\234O\0"..., 4096) = 4096
mmap(0, 135168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28154000
mprotect(0x28173000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28173000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28174000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x28174000
close(3)                                = 0
access("/lib/libcom_err.so.3", F_OK)    = -1 ENOENT (No such file or directory)
access("/usr/lib/libcom_err.so.3", F_OK) = 0
open("/usr/lib/libcom_err.so.3", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\10"..., 4096) = 4096
mmap(0, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28175000
mprotect(0x28175000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28175000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28176000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x28176000
close(3)                                = 0
access("/lib/libroken.so.8", F_OK)      = -1 ENOENT (No such file or directory)
access("/usr/lib/libroken.so.8", F_OK)  = 0
open("/usr/lib/libroken.so.8", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\310/\0"..., 4096) = 4096
mmap(0, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28177000
mprotect(0x28181000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28181000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28182000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb000) = 0x28182000
close(3)                                = 0
access("/lib/libcrypto.so.4", F_OK)     = 0
open("/lib/libcrypto.so.4", O_RDONLY)   = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\3600\3"..., 4096) = 4096
mmap(0, 1003520, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28183000
mprotect(0x28261000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28261000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28262000, 77824, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xde000) = 0x28262000
mmap(0x28275000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x28275000
close(3)                                = 0
access("/lib/libcrypt.so.3", F_OK)      = 0
open("/lib/libcrypt.so.3", O_RDONLY)    = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\16"..., 4096) = 4096
mmap(0, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28278000
mprotect(0x2827d000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x2827d000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x2827e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x2827e000
mmap(0x2827f000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x2827f000
close(3)                                = 0
access("/lib/libc.so.6", F_OK)          = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\353"..., 4096) = 4096
mmap(0, 942080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28290000
mprotect(0x28359000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28359000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x2835a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc9000) = 0x2835a000
mmap(0x28360000, 90112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x28360000
close(3)                                = 0
access("/lib/libz.so.3", F_OK)          = 0
access("/lib/libgssapi.so.8", F_OK)     = -1 ENOENT (No such file or directory)
access("/usr/lib/libgssapi.so.8", F_OK) = 0
access("/lib/libkrb5.so.8", F_OK)       = -1 ENOENT (No such file or directory)
access("/usr/lib/libkrb5.so.8", F_OK)   = 0
access("/lib/libasn1.so.8", F_OK)       = -1 ENOENT (No such file or directory)
access("/usr/lib/libasn1.so.8", F_OK)   = 0
access("/lib/libcom_err.so.3", F_OK)    = -1 ENOENT (No such file or directory)
access("/usr/lib/libcom_err.so.3", F_OK) = 0
access("/lib/libroken.so.8", F_OK)      = -1 ENOENT (No such file or directory)
access("/usr/lib/libroken.so.8", F_OK)  = 0
access("/lib/libcrypto.so.4", F_OK)     = 0
access("/lib/libcrypt.so.3", F_OK)      = 0
access("/lib/libmd.so.3", F_OK)         = 0
open("/lib/libmd.so.3", O_RDONLY)       = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\23"..., 4096) = 4096
mmap(0, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28376000
mprotect(0x28382000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x28382000, 4096, PROT_READ|PROT_EXEC) = 0
mmap(0x28383000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x28383000
close(3)                                = 0
sysarch(0xa, 0xbfbfeac0)                = 0
mmap(0, 3808, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 3808)                = 0
mmap(0, 5400, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 5400)                = 0
mmap(0, 1832, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 1832)                = 0
mmap(0, 1024, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 1024)                = 0
mmap(0, 1176, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 1176)                = 0
mmap(0, 1064, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 1064)                = 0
mmap(0, 1488, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 1488)                = 0
mmap(0, 1912, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 1912)                = 0
mmap(0, 6368, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 6368)                = 0
mmap(0, 2904, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 2904)                = 0
mmap(0, 416, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 416)                 = 0
mmap(0, 2032, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 2032)                = 0
mprotect(0x28183000, 913408, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mmap(0, 22336, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 22336)               = 0
mprotect(0x28183000, 913408, PROT_READ|PROT_EXEC) = 0
mmap(0, 600, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 600)                 = 0
mmap(0, 22824, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 22824)               = 0
mmap(0, 808, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28384000
munmap(0x28384000, 808)                 = 0
sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
readlink("/etc/malloc.conf", 0xbfbfde90, 63) = -1 ENOENT (No such file or directory)
issetugid(0xf4ecd33)                    = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x28384000
break(0x8078000)                        = 0
break(0x8079000)                        = 0
geteuid(0)                              = 0
setgroups(0, []debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 186
debug2: parse_server_config: config /etc/ssh/sshd_config len 186
debug3: /etc/ssh/sshd_config:20 setting Protocol 2
debug3: /etc/ssh/sshd_config:42 setting PermitRootLogin yes
debug3: /etc/ssh/sshd_config:111 setting Subsystem sftp /usr/libexec/sftp-server
debug1: sshd version OpenSSH_4.5p1 FreeBSD-20061110
debug3: Not a RSA1 key file /etc/ssh/ssh_host_dsa_key.
debug1: read PEM private key done: type DSA
debug1: private host key: #0 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: rexec_argv[2]='-d'
debug1: rexec_argv[3]='-d'
debug2: fd 4 setting O_NONBLOCK
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug2: fd 5 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.

Same with gdb "set follow-fork-mode child". 

Interestingly the whole procedure works on my Debian-box without problems. 

>How-To-Repeat:
See above. 
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list