From owner-freebsd-threads@FreeBSD.ORG Thu Sep 9 19:12:30 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A616B16A4CE; Thu, 9 Sep 2004 19:12:30 +0000 (GMT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4095643D1F; Thu, 9 Sep 2004 19:12:30 +0000 (GMT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.10/8.12.10) with ESMTP id i89JCSJt027623 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 9 Sep 2004 15:12:28 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.12.9p2/8.12.9/Submit) id i89JCNuQ058586; Thu, 9 Sep 2004 15:12:23 -0400 (EDT) (envelope-from gallatin) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16704.43799.598836.408741@grasshopper.cs.duke.edu> Date: Thu, 9 Sep 2004 15:12:23 -0400 (EDT) To: Julian Elischer In-Reply-To: <4140AA2A.90605@elischer.org> References: <16703.11479.679335.588170@grasshopper.cs.duke.edu> <16703.12410.319869.29996@grasshopper.cs.duke.edu> <413F55B8.50003@elischer.org> <16703.28031.454342.774229@grasshopper.cs.duke.edu> <413F8DBB.5040502@elischer.org> <16704.40876.708925.425911@grasshopper.cs.duke.edu> <4140AA2A.90605@elischer.org> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid cc: John Baldwin cc: freebsd-threads@freebsd.org Subject: Re: Unkillable KSE threaded proc X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Sep 2004 19:12:30 -0000 Julian Elischer writes: > > thread 0xc1b617d0 ksegrp 0xc18779a0 [CPU 1] > > thread 0xc1b614b0 ksegrp 0xc18779a0 [SUSP] > > thread 0xc1b61320 ksegrp 0xc18779a0 [LOCK process lock c1b13200] > > thread 0xc2b6ce10 ksegrp 0xc1a270e0 [LOCK process lock c1b13200] > > > >db> call db_trace_thread(0xc1b617d0, -1) > >sched_switch(3249936336,3244003328,3244003328,468695918,1992661338) at sched_switch+216 > >mi_switch(2,3244003328,3244003668,3244003328,3867700060) at mi_switch+455 > >maybe_preempt(3244003328,252,0,3867700072,3226402603) at maybe_preempt+153 > >sched_add(70,3867700092,3226402999,3246881184,3867189248) at sched_add+259 > >end() at 3246881184 > >0 > > > > > > odd that teh stack trace stops there?? that in itself is wierd.. > I don't understand why the thread is marked as currently running on > CPU1. it called sched_switch that should have saved its state > and put it on teh run queue (and marked it as such) so its state should > be RUNQ. In another context, John recently told me: for threads on CPUs we don't save the current thread state anywhere when we enter the debugger, so the backtrace is only relevant for info since the last context switch. Maybe that explains at least this wierdness.. Drew