From owner-freebsd-bugs@FreeBSD.ORG Wed Apr 23 13:20:01 2008 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 05BFE106570B for ; Wed, 23 Apr 2008 13:20: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 C88198FC1E for ; Wed, 23 Apr 2008 13:20:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m3NDK0XP073087 for ; Wed, 23 Apr 2008 13:20:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m3NDK04J073086; Wed, 23 Apr 2008 13:20:00 GMT (envelope-from gnats) Resent-Date: Wed, 23 Apr 2008 13:20:00 GMT Resent-Message-Id: <200804231320.m3NDK04J073086@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, Danny Braniss Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 08B981065672 for ; Wed, 23 Apr 2008 13:17:48 +0000 (UTC) (envelope-from danny@cs.huji.ac.il) Received: from cs1.cs.huji.ac.il (cs1.cs.huji.ac.il [132.65.16.10]) by mx1.freebsd.org (Postfix) with ESMTP id A2A778FC0A for ; Wed, 23 Apr 2008 13:17:47 +0000 (UTC) (envelope-from danny@cs.huji.ac.il) Received: from pundit.cs.huji.ac.il ([132.65.80.200]) by cs1.cs.huji.ac.il with esmtp id 1JoeBi-000JIi-SC for FreeBSD-gnats-submit@freebsd.org; Wed, 23 Apr 2008 15:35:02 +0300 Received: from danny by pundit.cs.huji.ac.il with local (Exim 4.69 (FreeBSD)) (envelope-from ) id 1JoeBi-0000Vu-QD for FreeBSD-gnats-submit@freebsd.org; Wed, 23 Apr 2008 15:35:02 +0300 Message-Id: Date: Wed, 23 Apr 2008 15:35:02 +0300 From: Danny Braniss To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: bin/123014: rpc.rstatd broken X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Danny Braniss List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Apr 2008 13:20:01 -0000 >Number: 123014 >Category: bin >Synopsis: rpc.rstatd broken >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: Wed Apr 23 13:20:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Danny Braniss >Release: FreeBSD 7.0-STABLE amd64 >Organization: >Environment: System: FreeBSD pundit 7.0-STABLE FreeBSD 7.0-STABLE #78: Wed Apr 23 13:41:25 IDT 2008 danny@sunfire:/r+d/obj/sunfire/r+d/7.0/src/sys/HUJI amd64 >Description: cp_time is no longer a global variable, so kvm_nlist fails. rpc.rstatd[1678]: rstatd: Can't get namelist. 1 inetd[1187]: /usr/libexec/rpc.rstatd[1678]: exited, status 1 >How-To-Repeat: enable rpc.rstatd/1-3 in inetd.conf, and try rup localhost >Fix: use sysctl instead: diff -bru /r+d/releng_7/src/libexec/rpc.rstatd/rstat_proc.c rpc.rstatd/rstat_proc.c --- /r+d/releng_7/src/libexec/rpc.rstatd/rstat_proc.c 2003-06-02 05:34:36.000000000 +0300 +++ rpc.rstatd/rstat_proc.c 2008-04-23 15:25:24.534878000 +0300 @@ -77,9 +77,7 @@ #include struct nlist nl[] = { -#define X_CPTIME 0 - { "_cp_time" }, -#define X_CNT 1 +#define X_CNT 0 { "_cnt" }, { "" }, }; @@ -213,9 +211,9 @@ } hz = clockrate.hz; - if (kvm_read(kd, (long)nl[X_CPTIME].n_value, (char *)bsd_cp_time, sizeof(bsd_cp_time)) - != sizeof(bsd_cp_time)) { - syslog(LOG_ERR, "rstat: can't read cp_time from kmem"); + len = sizeof(bsd_cp_time); + if (sysctlbyname("kern.cp_time", bsd_cp_time, &len, 0, 0) < 0) { + syslog(LOG_ERR, "sysctl kern.cp_time: %m"); exit(1); } for(i = 0; i < RSTAT_CPUSTATES ; i++) >Release-Note: >Audit-Trail: >Unformatted: