From owner-freebsd-bugs@FreeBSD.ORG Sun Apr 26 18:40:01 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5902A106567C for ; Sun, 26 Apr 2009 18:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 324EB8FC0C for ; Sun, 26 Apr 2009 18:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3QIe1OG029955 for ; Sun, 26 Apr 2009 18:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3QIe1R3029954; Sun, 26 Apr 2009 18:40:01 GMT (envelope-from gnats) Resent-Date: Sun, 26 Apr 2009 18:40:01 GMT Resent-Message-Id: <200904261840.n3QIe1R3029954@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Damien Bobillot Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0720D1065672 for ; Sun, 26 Apr 2009 18:31:26 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id DF5618FC08 for ; Sun, 26 Apr 2009 18:31:25 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n3QIVOMB043934 for ; Sun, 26 Apr 2009 18:31:24 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n3QIVObE043933; Sun, 26 Apr 2009 18:31:24 GMT (envelope-from nobody) Message-Id: <200904261831.n3QIVObE043933@www.freebsd.org> Date: Sun, 26 Apr 2009 18:31:24 GMT From: Damien Bobillot To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: bin/134022: host, dig and nslookup hang in _umtx_op syscall after 7.1-RELEASE-p5 update X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Apr 2009 18:40:01 -0000 >Number: 134022 >Category: bin >Synopsis: host, dig and nslookup hang in _umtx_op syscall after 7.1-RELEASE-p5 update >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 26 18:40:00 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Damien Bobillot >Release: 7.1-RELEASE-p5 >Organization: >Environment: FreeBSD 7.1-RELEASE-p4 FreeBSD 7.1-RELEASE-p4 #0: Sun Mar 22 09:43:46 UTC 2009 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 >Description: (I've rebooted after installing the "7.1-RELEASE-p5" patch with freebsd-update. It doesn't seem that this patch don't change the default kernel, that's why uname says 7.1-RELEASE-p4 and not 7.1-RELEASE-p5) The commands host, dig and nslookup hang into the _umtx_op system call (see attached ktrace for host). They can only be killed with SIGKILL. However, any others tools can resolve address using DNS (ping, tcpdump). Rollbacking to 7.1-RELEASE-p4 (freebsd-update rollback) suppressed the problem. Searching the web I saw (may be linked to my issue) : - bug report bin/85810 "dig(1): nslookup/dig hang and processes cannot be killed" - http://www.mailinglistarchive.com/freebsd-questions@freebsd.org/msg50315.html As said by freebsd-update, 7.1-RELEASE-p5 changes : /lib/libc.so.7 /lib/libcrypto.so.5 /rescue/* /sbin/init /usr/bin/dig /usr/bin/host /usr/bin/nslookup /usr/bin/nsupdate /usr/bin/openssl /usr/lib/libc.a /usr/lib/libc_pic.a /usr/lib/libcrypto.a /usr/lib/libssl.a /usr/lib/libssl.so.5 /usr/libexec/lukemftpd /usr/libexec/telnetd /usr/sbin/dnssec-keygen /usr/sbin/dnssec-signzone /usr/sbin/lwresd /usr/sbin/named /usr/sbin/named-checkconf /usr/sbin/named-checkzone /usr/sbin/named-compilezone /usr/sbin/ntpd /usr/sbin/rndc-confgen >How-To-Repeat: run : host freebsd.org >Fix: Patch attached with submission follows: 3077 ktrace 0.000000 RET ktrace 0 3077 ktrace 0.000051 CALL execve(0x7fffffffe630,0x7fffffffec08,0x7fffffffec20) 3077 ktrace 0.000068 NAMI "/bin/host" 3077 ktrace 0.000084 RET execve -1 errno 2 No such file or directory 3077 ktrace 0.000091 CALL execve(0x7fffffffe630,0x7fffffffec08,0x7fffffffec20) 3077 ktrace 0.000106 NAMI "/sbin/host" 3077 ktrace 0.000153 RET execve -1 errno 2 No such file or directory 3077 ktrace 0.000159 CALL execve(0x7fffffffe630,0x7fffffffec08,0x7fffffffec20) 3077 ktrace 0.000174 NAMI "/usr/bin/host" 3077 ktrace 0.000269 NAMI "/libexec/ld-elf.so.1" 3077 host 0.000319 RET execve 0 3077 host 0.000334 CALL __sysctl(0x7fffffffe810,0x2,0x7fffffffe82c,0x7fffffffe820,0,0) 3077 host 0.000342 RET __sysctl 0 3077 host 0.000348 CALL mmap(0,0x230,PROT_READ|PROT_WRITE,MAP_ANON,0xffffffff,0) 3077 host 0.000355 RET mmap 6606848/0x80064d000 3077 host 0.000386 CALL munmap(0x80064d000,0x230) 3077 host 0.000393 RET munmap 0 3077 host 0.000401 CALL __sysctl(0x7fffffffe880,0x2,0x800755de8,0x7fffffffe878,0,0) 3077 host 0.000408 RET __sysctl 0 3077 host 0.000414 CALL mmap(0,0x8000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,0xffffffff,0) 3077 host 0.000421 RET mmap 6606848/0x80064d000 3077 host 0.000439 CALL issetugid 3077 host 0.000445 RET issetugid 0 3077 host 0.000470 CALL open(0x80064a4f2,O_RDONLY,0x1b6) 3077 host 0.000479 NAMI "/etc/libmap.conf" 3077 host 0.000489 RET open -1 errno 2 No such file or directory 3077 host 0.000508 CALL open(0x800649508,O_RDONLY,0x2f) 3077 host 0.000515 NAMI "/var/run/ld-elf.so.hints" 3077 host 0.000526 RET open 3 3077 host 0.000532 CALL read(0x3,0x7fffffffe5c0,0x80) 3077 host 0.000541 GIO fd 3 read 128 bytes "..." 3077 host 0.000547 RET read 128/0x80 3077 host 0.000557 CALL lseek(0x3,0x80,SEEK_SET) 3077 host 0.000564 RET lseek 128/0x80 3077 host 0.000570 CALL read(0x3,0x800651000,0x97) 3077 host 0.000578 GIO fd 3 read 151 bytes "/lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/lib/dovecot:/usr/local/lib/dovecot/imap:/usr/local/lib/dovecot/lda:/usr/local/lib/dovecot/pop3\0" 3077 host 0.000584 RET read 151/0x97 3077 host 0.000591 CALL close(0x3) 3077 host 0.000600 RET close 0 3077 host 0.000613 CALL access(0x800652000,F_OK) 3077 host 0.000619 NAMI "/lib/libcrypto.so.5" 3077 host 0.000630 RET access 0 3077 host 0.000636 CALL open(0x80064e080,O_RDONLY,0x755cc0) 3077 host 0.000643 NAMI "/lib/libcrypto.so.5" 3077 host 0.000652 RET open 3 3077 host 0.000659 CALL fstat(0x3,0x7fffffffe840) 3077 host 0.000666 RET fstat 0 3077 host 0.000671 CALL read(0x3,0x800754ca0,0x1000) 3077 host 0.000684 GIO fd 3 read 4096 bytes "..." 3077 host 0.000701 RET read 4096/0x1000 3077 host 0.000707 CALL mmap(0,0x292000,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,0x3,0) 3077 host 0.000717 RET mmap 7708672/0x80075a000 3077 host 0.000723 CALL mprotect(0x8008a7000,0x1000,PROT_READ|PROT_WRITE|PROT_EXEC) 3077 host 0.000731 RET mprotect 0 3077 host 0.000744 CALL mprotect(0x8008a7000,0x1000,PROT_READ|PROT_EXEC) 3077 host 0.000753 RET mprotect 0 3077 host 0.000759 CALL mmap(0x8009a7000,0x42000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,0x3,0x14d000) 3077 host 0.000776 RET mmap 10121216/0x8009a7000 3077 host 0.000790 CALL mmap(0x8009e9000,0x3000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,0xffffffff,0) 3077 host 0.000798 RET mmap 10391552/0x8009e9000 3077 host 0.000824 CALL close(0x3) 3077 host 0.000832 RET close 0 3077 host 0.000839 CALL access(0x800652000,F_OK) 3077 host 0.000847 NAMI "/lib/libthr.so.3" 3077 host 0.000857 RET access 0 3077 host 0.000863 CALL open(0x80064e0c0,O_RDONLY,0x755cc0) 3077 host 0.000870 NAMI "/lib/libthr.so.3" 3077 host 0.000879 RET open 3 3077 host 0.000886 CALL fstat(0x3,0x7fffffffe840) 3077 host 0.000893 RET fstat 0 3077 host 0.000898 CALL read(0x3,0x800754ca0,0x1000) 3077 host 0.000909 GIO fd 3 read 4096 bytes "..." 3077 host 0.000925 RET read 4096/0x1000 3077 host 0.000932 CALL mmap(0,0x116000,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,0x3,0) 3077 host 0.000951 RET mmap 10403840/0x8009ec000 3077 host 0.000958 CALL mprotect(0x8009fc000,0x1000,PROT_READ|PROT_WRITE|PROT_EXEC) 3077 host 0.000966 RET mprotect 0 3077 host 0.000979 CALL mprotect(0x8009fc000,0x1000,PROT_READ|PROT_EXEC) 3077 host 0.000995 RET mprotect 0 3077 host 0.001001 CALL mmap(0x800afd000,0x3000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,0x3,0x11000) 3077 host 0.001011 RET mmap 11522048/0x800afd000 3077 host 0.001026 CALL mmap(0x800b00000,0x2000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,0xffffffff,0) 3077 host 0.001033 RET mmap 11534336/0x800b00000 3077 host 0.001042 CALL close(0x3) 3077 host 0.001049 RET close 0 3077 host 0.001056 CALL access(0x800652000,F_OK) 3077 host 0.001063 NAMI "/lib/libc.so.7" 3077 host 0.001072 RET access 0 3077 host 0.001079 CALL open(0x80064e100,O_RDONLY,0x755cc0) 3077 host 0.001085 NAMI "/lib/libc.so.7" 3077 host 0.001095 RET open 3 3077 host 0.001100 CALL fstat(0x3,0x7fffffffe840) 3077 host 0.001107 RET fstat 0 3077 host 0.001114 CALL read(0x3,0x800754ca0,0x1000) 3077 host 0.001123 GIO fd 3 read 4096 bytes "..." 3077 host 0.001140 RET read 4096/0x1000 3077 host 0.001147 CALL mmap(0,0x223000,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,0x3,0) 3077 host 0.001157 RET mmap 11542528/0x800b02000 3077 host 0.001162 CALL mprotect(0x800bf1000,0x1000,PROT_READ|PROT_WRITE|PROT_EXEC) 3077 host 0.001170 RET mprotect 0 3077 host 0.001193 CALL mprotect(0x800bf1000,0x1000,PROT_READ|PROT_EXEC) 3077 host 0.001201 RET mprotect 0 3077 host 0.001207 CALL mmap(0x800cf1000,0x1d000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,0x3,0xef000) 3077 host 0.001220 RET mmap 13570048/0x800cf1000 3077 host 0.001234 CALL mmap(0x800d0e000,0x17000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,0xffffffff,0) 3077 host 0.001241 RET mmap 13688832/0x800d0e000 3077 host 0.001259 CALL close(0x3) 3077 host 0.001266 RET close 0 3077 host 0.001283 CALL sysarch(0x81,0x7fffffffe900) 3077 host 0.001290 RET sysarch 0 3077 host 0.001297 CALL mmap(0,0xd90,PROT_READ|PROT_WRITE,MAP_ANON,0xffffffff,0) 3077 host 0.001303 RET mmap 6639616/0x800655000 3077 host 0.001309 CALL munmap(0x800655000,0xd90) 3077 host 0.001317 RET munmap 0 3077 host 0.001325 CALL mmap(0,0xd950,PROT_READ|PROT_WRITE,MAP_ANON,0xffffffff,0) 3077 host 0.001331 RET mmap 6639616/0x800655000 3077 host 0.002064 CALL munmap(0x800655000,0xd950) 3077 host 0.002079 RET munmap 0 3077 host 0.002138 CALL mmap(0,0x1e00,PROT_READ|PROT_WRITE,MAP_ANON,0xffffffff,0) 3077 host 0.002146 RET mmap 6639616/0x800655000 3077 host 0.002224 CALL munmap(0x800655000,0x1e00) 3077 host 0.002234 RET munmap 0 3077 host 0.002242 CALL mmap(0,0xa490,PROT_READ|PROT_WRITE,MAP_ANON,0xffffffff,0) 3077 host 0.002249 RET mmap 6639616/0x800655000 3077 host 0.002490 CALL munmap(0x800655000,0xa490) 3077 host 0.002503 RET munmap 0 3077 host 0.002570 CALL __sysctl(0x7fffffffe8b0,0x2,0x800d0f0c0,0x7fffffffe8a8,0,0) 3077 host 0.002583 RET __sysctl 0 3077 host 0.002599 CALL getpid 3077 host 0.002605 RET getpid 3077/0xc05 3077 host 0.002618 CALL __sysctl(0x7fffffffe8a0,0x2,0x800b01b70,0x7fffffffe8a8,0,0) 3077 host 0.002626 RET __sysctl 0 3077 host 0.002648 CALL __sysctl(0x7fffffffe830,0x2,0x7fffffffe7c0,0x7fffffffe828,0x8009fc6d8,0xd) 3077 host 0.002665 RET __sysctl 0 3077 host 0.002673 CALL __sysctl(0x7fffffffe7c0,0x3,0x800b00a68,0x7fffffffe8a8,0,0) 3077 host 0.002680 RET __sysctl 0 3077 host 0.002696 CALL __sysctl(0x7fffffffe860,0x2,0x800d21db8,0x7fffffffe858,0,0) 3077 host 0.002706 RET __sysctl 0 3077 host 0.002726 CALL __sysctl(0x7fffffffe790,0x2,0x800d13128,0x7fffffffe7a8,0,0) 3077 host 0.002733 RET __sysctl 0 3077 host 0.002742 CALL __sysctl(0x7fffffffe320,0x2,0x7fffffffe33c,0x7fffffffe330,0,0) 3077 host 0.002750 RET __sysctl 0 3077 host 0.002757 CALL readlink(0x800be980a,0x7fffffffe380,0x400) 3077 host 0.002765 NAMI "/etc/malloc.conf" 3077 host 0.002776 RET readlink -1 errno 2 No such file or directory 3077 host 0.002794 CALL issetugid 3077 host 0.002801 RET issetugid 0 3077 host 0.002816 CALL break(0x700000) 3077 host 0.002824 RET break 0 3077 host 0.002855 CALL __sysctl(0x7fffffffe670,0x2,0x7fffffffe68c,0x7fffffffe680,0,0) 3077 host 0.002866 RET __sysctl 0 3077 host 0.002871 CALL mmap(0,0x100000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,0xffffffff,0) 3077 host 0.002879 RET mmap 13783040/0x800d25000 3077 host 0.002885 CALL mmap(0x800e25000,0xdb000,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,0xffffffff,0) 3077 host 0.002891 RET mmap 14831616/0x800e25000 3077 host 0.002899 CALL munmap(0x800d25000,0xdb000) 3077 host 0.002908 RET munmap 0 3077 host 0.002939 CALL thr_self(0x800e020f0) 3077 host 0.002946 RET thr_self 0 3077 host 0.002953 CALL mmap(0x7fffffbff000,0x1000,PROT_NONE,MAP_ANON,0xffffffff,0) 3077 host 0.002959 RET mmap -4198400/0x7fffffbff000 3077 host 0.002967 CALL thr_set_name(0x18700,0x8009fc720) 3077 host 0.002974 RET thr_set_name 0 3077 host 0.002981 CALL rtprio_thread(0,0x18700,0x7fffffffe850) 3077 host 0.002995 RET rtprio_thread 0 3077 host 0.003004 CALL sysarch(0x81,0x7fffffffe870) 3077 host 0.003010 RET sysarch 0 3077 host 0.003018 CALL sigprocmask(SIG_SETMASK,0x7fffffffe890,0x7fffffffe880) 3077 host 0.003025 RET sigprocmask 0 3077 host 0.003032 CALL sigaction(SIG 32,0x7fffffffe850,0) 3077 host 0.003038 RET sigaction 0 3077 host 0.003045 CALL sigprocmask(SIG_SETMASK,0x7fffffffe880,0) 3077 host 0.003051 RET sigprocmask 0 3077 host 0.003070 CALL sigprocmask(SIG_BLOCK,0x800754ba0,0x7fffffffe8d0) 3077 host 0.003083 RET sigprocmask 0 3077 host 0.003089 CALL sigprocmask(SIG_SETMASK,0x800754bb0,0) 3077 host 0.003095 RET sigprocmask 0 3077 host 0.003140 CALL sigaction(SIGPIPE,0x7fffffffe270,0) 3077 host 0.003150 RET sigaction 0 3077 host 0.003156 CALL sigaction(SIGHUP,0x7fffffffe270,0) 3077 host 0.003163 RET sigaction 0 3077 host 0.003169 CALL sigaction(SIGTERM,0x7fffffffe270,0) 3077 host 0.003175 RET sigaction 0 3077 host 0.003181 CALL sigaction(SIGINT,0x7fffffffe270,0) 3077 host 0.003187 RET sigaction 0 3077 host 0.003198 CALL sigprocmask(SIG_BLOCK,0x7fffffffe280,0) 3077 host 0.003204 RET sigprocmask 0 3077 host 0.003225 CALL socket(PF_INET,SOCK_STREAM,IPPROTO_IP) 3077 host 0.003241 RET socket 3 3077 host 0.003250 CALL close(0x3) 3077 host 0.003264 RET close 0 3077 host 0.003271 CALL socket(PF_INET6,SOCK_STREAM,IPPROTO_IP) 3077 host 0.003281 RET socket 3 3077 host 0.003296 CALL getsockname(0x3,0x7fffffffe2c0,0x7fffffffe2dc) 3077 host 0.003306 RET getsockname 0 3077 host 0.003311 CALL close(0x3) 3077 host 0.003321 RET close 0 3077 host 0.003327 CALL socket(PF_LOCAL,SOCK_STREAM,0) 3077 host 0.003336 RET socket 3 3077 host 0.003342 CALL close(0x3) 3077 host 0.003357 RET close 0 3077 host 0.003646 CALL _umtx_op(0x7fffffffe198,0x3,0x1,0,0) 3077 host 0.003655 RET _umtx_op 0 3077 host 0.003661 CALL sigprocmask(SIG_BLOCK,0x7fffffffe130,0x800e021c0) 3077 host 0.003668 RET sigprocmask 0 3077 host 0.003677 CALL _umtx_op(0x800b00a80,0x5,0,0,0) 3077 host 6.887548 RET _umtx_op RESTART 3077 host 6.887565 PSIG SIGKILL SIG_DFL >Release-Note: >Audit-Trail: >Unformatted: