From owner-freebsd-stable Fri Jun 28 6:43:35 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E416B37B406 for ; Fri, 28 Jun 2002 06:43:28 -0700 (PDT) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4DEB743E0A for ; Fri, 28 Jun 2002 06:43:28 -0700 (PDT) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2653.19) id ; Fri, 28 Jun 2002 09:43:27 -0400 Message-ID: From: Don Bowman To: "'freebsd-stable@freebsd.org'" Subject: panic in 4.6 with knote_enqueue from kill Date: Fri, 28 Jun 2002 09:43:27 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I have a system panic occuring with FreeBSD 4.6. The stack trace is below... Debugger(c032d70a) at Debugger+0x34 panic(c032bf57,e0f37000,800001e,e0f35ee4,c01ba339) at panic+0xa4 knote_enqueue(e0f37000) at knote_enqueue+0x22 knote(db433820,800001e) at knote+0x35 psignal(db433700,1e,2,db433700,e0f35f80) at psignal+0x49 kill(db433700,e0f35f80,281f8944,81a9000,818467c) at kill+0x7b syscall2(2821002f,281f002f,80f002f,818467c,81a9000) at syscall2+0x23d Xint0x80_syscall() at Xint0x80_syscall+0x2b This is occurring about once per day (well, the machine locks up with no messages at all about once per day. Today I got it dropped into ddb). The best guess I have for the process which caused the panic is below as 'XXX', 68264. I'm not sure what the flags etc mean. This process has an event loop running which is in kqueue all the time, with sockets in that kqueue as well as 1 other thread which calls 'kill SIGUSR1', and a kevent for sigusr1 so that the main thread will wake up and perform some processing. The threads are pthreads. From knote_enqueue() its fairly obvious which line panic'd: static void knote_enqueue(struct knote *kn) { struct kqueue *kq = kn->kn_kq; int s = splhigh(); KASSERT((kn->kn_status & KN_QUEUED) == 0, ("knote already queued")); TAILQ_INSERT_TAIL(&kq->kq_head, kn, kn_tqe); kn->kn_status |= KN_QUEUED; kq->kq_count++; splx(s); kqueue_wakeup(kq); } The machine is a dual P-3 650MHz. Has anyone else seen anything like this? Would anyone care to suggest what I might do next to characterise or solve this issue? db> show all procs pid proc addr uid ppid pgrp flag stat wmesg wchan cmd 68891 e0fb92a0 e11d1000 504 68872 68891 4005806 4 avu 68872 e0fb7be0 e128c000 504 68740 68872 004086 3 poll c03b25c0 gdb52 68740 e0fb9ac0 e108d000 504 68739 68740 004086 3 wait e0fb9ac0 bash 68739 e0fb7f20 e1276000 0 149 149 000184 3 select c03b25c0 sshd 68645 e0fb7700 e128f000 70 68584 68570 000086 3 sbwait dc68b848 postgres 68644 e0fb9c60 e0fd1000 529 68313 68644 004086 3 ttyin c8c0ae30 psql 68625 e0fb9100 e11d9000 70 68584 68570 000086 3 sbwait dc680508 postgres 68624 db433700 e0f33000 0 68622 68619 4004006 2 XXX 68622 db432d40 e0f55000 0 1 68619 004086 3 wait db432d40 sh 68589 e0fb88e0 e11f7000 70 68588 68570 000086 3 select c03b25c0 postgres 68588 e0fb9440 e11ce000 70 68584 68570 000086 3 select c03b25c0 postgres 68584 e0fb8c20 e11eb000 70 1 68570 004086 3 select c03b25c0 postgres 68313 e0fb7d80 e127f000 529 68312 68313 004086 3 wait e0fb7d80 bash 68312 db4321e0 e0fa7000 0 149 149 000184 3 select c03b25c0 sshd 66514 e0fb7a40 e1255000 504 66513 66514 004086 3 ttyin c89a8c30 bash 66513 e0fb8400 e1230000 0 149 149 000184 3 select c03b25c0 sshd ... --don To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message