Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Mar 2006 21:00:26 +0000 (UTC)
From:      Daniel Gerzo <danger@rulez.sk>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   www/94423: [patch] XML'ified release todo list
Message-ID:  <20060313210026.E7C83483FB8@tomas.elvandar.org>
Resent-Message-ID: <200603132101.k2DL154F000735@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         94423
>Category:       www
>Synopsis:       [patch] XML'ified release todo list
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-www
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 13 21:01:05 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Gerzo
>Release:        FreeBSD 6.1-PRERELEASE i386
>Organization:
rulez.sk
>Environment:
System: FreeBSD tomas.elvandar.org 6.1-PRERELEASE FreeBSD 6.1-PRERELEASE #0: Wed Feb 15 02:22:30 CET 2006 root@redqueen.elvandar.org:/usr/obj/usr/src/sys/REDQUEEN i386
>Description:
I'm submitting this PR because I don't want my work to get lost and
since I've spent a few hours working on this and the work is finished,
it would be really nice to see it commited sometime in future.

Please, see this thread:
http://lists.freebsd.org/mailman/htdig/freebsd-doc/2006-February/009667.html

The patch has been updated against the latest todo list.
>How-To-Repeat:
>Fix:
--- todo.diff begins here ---
diff -ruN 6.1R/Makefile 6.1R.new/Makefile
--- 6.1R/Makefile	Sun Feb 12 15:36:17 2006
+++ 6.1R.new/Makefile	Mon Mar 13 20:45:43 2006
@@ -7,19 +7,21 @@
 .include "../Makefile.inc"
 .endif
 
-DOCS=	todo.sgml approvals.sgml
-DOCS+=	schedule.sgml
+DOCS=	approvals.sgml schedule.sgml
+
+SRCS.DEFAULT=	todo.xsl
+XMLDOCS=	todo
 
 FETCHFILE= http://people.freebsd.org/~pho/stress/log/news.rdf
 FETCHCMD=  /usr/bin/fetch
-CLEANFILES+= news.rdf stress.html
+CLEANFILES+= news.rdf stress.xml
 
 news.rdf:
 	${FETCHCMD} ${FETCHFILE}
 
-stress.html: news.rdf stress.xsl
-	${XSLTPROC} stress.xsl news.rdf > stress.html
+stress.xml: news.rdf stress.xsl
+	${XSLTPROC} stress.xsl news.rdf > stress.xml
 
-todo.html: stress.html
+todo.html: stress.xml
 
 .include "${WEB_PREFIX}/share/mk/web.site.mk"
diff -ruN 6.1R/stress.xsl 6.1R.new/stress.xsl
--- 6.1R/stress.xsl	Wed Jan 25 23:58:36 2006
+++ 6.1R.new/stress.xsl	Sun Jan 29 13:36:47 2006
@@ -7,25 +7,22 @@
  version="1.0">
 
 <xsl:output 
- method="html"
- indent="no"
- encoding="utf-8"/>
+ method="xml"
+ indent="yes"
+ encoding="utf-8"
+ omit-xml-declaration="no"/>
 
 <!-- match first element whether we're using namespaces or not -->
 
 <xsl:template match="/*[1]">
-    <xsl:comment>Generated from XSLT</xsl:comment>
-<ul>
+<results>
   <xsl:for-each select="*[local-name()='item']">
-  <li>
-    <xsl:element name="a">
-      <xsl:attribute name="href"><xsl:value-of select="*[local-name()='link']"/></xsl:attribute>
-      <xsl:value-of select="*[local-name()='title']"/>
-    </xsl:element>
-  </li>
+  <result>
+    <title><xsl:value-of select="*[local-name()='title']"/></title>
+    <link><xsl:value-of select="*[local-name()='link']"/></link>
+  </result>
 </xsl:for-each>
-</ul>
-
+</results>
 </xsl:template>
 
 </xsl:stylesheet>
diff -ruN 6.1R/todo.dtd 6.1R.new/todo.dtd
--- 6.1R/todo.dtd	Thu Jan  1 00:00:00 1970
+++ 6.1R.new/todo.dtd	Sun Jan 29 13:27:35 2006
@@ -0,0 +1,37 @@
+<!-- DTD for todo list entries on the FreeBSD website. -->
+<!-- $FreeBSD:$ -->
+
+<!ELEMENT entries (cvs:keywords?, entry+)>
+
+<!ELEMENT entry (issue, responsible?, description?)>
+<!ATTLIST entry class (showstopper | required | desired | docs
+	| testing) #REQUIRED>
+<!ATTLIST entry status (na | done | wip | untested | new | unknown
+	| deferred) #REQUIRED>
+
+<!ELEMENT issue (#PCDATA)>
+<!ELEMENT responsible (#PCDATA)>
+<!ELEMENT description (#PCDATA|a|b|br|i|tt|em|p|strong|ul|pre)*>
+
+<!-- misc HTML tags -->
+<!ELEMENT a (#PCDATA|img)*>
+<!ATTLIST a href CDATA #REQUIRED>
+
+<!ELEMENT b (#PCDATA|a)*>
+<!ELEMENT br (#PCDATA|a)*>
+<!ELEMENT i (#PCDATA|a)*>
+<!ELEMENT tt (#PCDATA|a)*>
+<!ELEMENT em (#PCDATA|a)*>
+<!ELEMENT p (#PCDATA|a)*>
+<!ELEMENT strong (#PCDATA|a)*>
+<!ELEMENT ul (li)*>
+<!ELEMENT li (#PCDATA|a)*>
+<!ELEMENT pre (#PCDATA|a)*>
+
+<!-- common cvs tags -->
+<!ELEMENT cvs:keywords (cvs:keyword+)>
+<!ATTLIST cvs:keywords xmlns:cvs CDATA #FIXED 'http://www.FreeBSD.org/XML/CVS'>;
+<!ATTLIST cvs:keywords version CDATA #FIXED '1.0'>
+
+<!ELEMENT cvs:keyword (#PCDATA)>
+<!ATTLIST cvs:keyword name CDATA #REQUIRED>
diff -ruN 6.1R/todo.sgml 6.1R.new/todo.sgml
--- 6.1R/todo.sgml	Wed Mar  8 03:48:13 2006
+++ 6.1R.new/todo.sgml	Thu Jan  1 00:00:00 1970
@@ -1,494 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
-<!ENTITY base CDATA "../..">
-<!ENTITY email 'freebsd-qa'>
-<!ENTITY date "$FreeBSD: www/en/releases/6.1R/todo.sgml,v 1.18 2006/03/08 03:48:13 hrs Exp $">
-<!ENTITY local.rel "6.1">
-<!ENTITY title "FreeBSD 6.1 Open Issues">
-<!ENTITY % navincludes SYSTEM "../../includes.navdownload.sgml"> %navincludes;
-<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
-<!ENTITY % developers SYSTEM "../../developers.sgml"> %developers;
-<!-- Status levels -->
-<!ENTITY status.na "<font color=green>N/A</font>">
-<!ENTITY status.done "<font color=green>Done</font>">
-<!ENTITY status.wip "<font color=blue>In&nbsp;progress</font>">
-<!ENTITY status.untested "<font color=orange>Needs&nbsp;testing</font>">
-<!ENTITY status.new "<font color=red>Not&nbsp;done</font>">
-<!ENTITY status.unknown "<font color=red>Unknown</font>">
-<!ENTITY status.deferred "<font color=gray>Deferred for future release</font>">
-
-<!ENTITY url.cvsweb "http://www.freebsd.org/cgi/cvsweb.cgi">;
-<!ENTITY url.mid "http://docs.freebsd.org/cgi/mid.cgi?">;
-<!ENTITY url.pr "http://www.freebsd.org/cgi/query-pr.cgi?">;
-
-<!ENTITY stresstest SYSTEM "./stress.html">
-]>
-
-<!--
-
-  Changes to this list MUST NOT be committed without approval of
-  Release Engineering Team (re@FreeBSD.org) (for general items) or
-  Documentation Engineering Team (doceng@FreeBSD.org) (for doc-related
-  items).
-
--->
-
-<html>
-&header;
-
-<p>This is a list of open issues that need to be resolved for FreeBSD
-  &local.rel;.  If you have any updates for this list, please e-mail
-  re@FreeBSD.org.</p>
-
-<ul>
-  <li><a href="#showstopper">Show stopper defects</a></li>
-  <li><a href="#required">Required features</a></li>
-  <li><a href="#desired">Desired features</a></li>
-  <li><a href="#docs">Documentation Items</a></li>
-  <li><a href="#testing">Testing foci</a></li>
-  <li><a href="#stresstest">Problems Discovered by Kernel Stress Test Suite</a></li>
-</ul>
-  
-<h3>Show stopper defects for &local.rel;-RELEASE</h3>
-
-<a name="showstopper"></a>
-<table class="tblbasic">
-  <tr class="heading">
-    <th>Issue</th>
-    <th>Status</th>
-    <th>Responsible</th>
-    <th>Description</th>
-  </tr>
-
-  <tr>
-    <td>unreliable serial console</td>
-    <td>&status.unknown;</td>
-    <td></td>
-    <td>At the manual 'root mount' prompt, the serial console is very
-      unreliable and drops most characters.</td>
-  </tr>
-
-  <tr>
-    <td>i386 deadlocks with >16GB swap</td>
-    <td>&status.deferred;</td>
-    <td>&a.alc;</td>
-    <td>i386 deadlocks if more than 16GB of swap is in use.
-      Increasing the kern.maxswzone tunable would be a workaround
-      this.  Although a patch from &a.alc; is needed to allow this variable to
-      be increased, this is not suitable for 6.1R.  This limitation should
-      be documented in the Release Notes.</td>
-  </tr>
-
-  <tr>
-    <td>unmount pending error</td>
-    <td>&status.wip;</td>
-    <td>&a.ssouhlal;</td>
-    <td>When unmounting filesystems &a.kris; reports seeing this warning: <tt>/c: unmount pending error: blocks -68512 files 0</tt>.  This dates back at least to 5.3.  It might be associated with
-filesystem corruption reported by many users in which the 'used' space
-on a filesystem is negative; fsck -f is needed to correct this.</td>
-  </tr>
-
-  <tr>
-    <td>swap_pager warnings</td>
-    <td>&status.unknown;</td>
-    <td>&a.truckman;?</td>
-    <td>When swapfiles are in use, there are often warnings printed:
-<tt>swap_pager: indefinite wait buffer: bufobj: 0, blkno: 889347, size: 8192</tt>.  There is also the possibility of deadlock.</td>
-  </tr>
-
-  <tr>
-    <td>umount -f panics</td>
-    <td>&status.wip;</td>
-    <td>&a.jeff;, &a.ssouhlal;</td>
-    <td>panics from race conditions.
-      A patch from &a.jeff; seems to fix some of them.</td>
-  </tr>
-
-  <tr>
-    <td>quota deadlocks</td>
-    <td>&status.wip;</td>
-    <td>&a.jeff;</td>
-    <td>Quota support is not locked properly and causes deadlocks.
-      A patch from &a.jeff; seems to fix some of them.</td>
-  </tr>
-
-  <tr>
-    <td>UFS deadlocks on amd64</td>
-    <td>&status.unknown;</td>
-    <td>&a.tegge;</td>
-    <td>Seen by &a.kris;.</td>
-  </tr>
-
-  <tr>
-    <td>UFS deadlocks</td>
-    <td>&status.unknown;</td>
-    <td></td>
-    <td>Seen by Peter Jeremy.</td>
-  </tr>
-
-  <tr>
-    <td>sparc64 instability</td>
-    <td>&status.unknown;</td>
-    <td>&a.marius;</td>
-    <td>sparc64 instability when accessing /dev/mem.  Contact
-      &a.marius; or &a.kris; for debugging information.</td>
-  </tr>
-
-  <tr>
-    <td>sparc64 frequent hangs</td>
-    <td>&status.unknown;</td>
-    <td></td>
-    <td>no DDB break possible, so impossible to diagnose</td>
-  </tr>
-
-  <tr>
-    <td>serious sparc64 IPv6 panic</td>
-    <td>&status.wip;</td>
-    <td>&a.gnn;</td>
-    <td>Triggered by just ping6'ing the box.  It may even be a MI
-      issue, the reporter of this bug only uses IPv6 with
-      sparc64.  This problem seems to be triggered even when debug.mpsafenet=0.</td>
-  </tr>
-
-  <tr>
-    <td>sort(1) does not work with some locales</td>
-    <td>&status.new;</td>
-    <td>&nbsp;</td>
-    <td>sort(1) can cause a coredump with some locales.
-       See also gnu/93629.</td>
-  </tr>
-
-  <tr>
-    <td>exec_map depletion</td>
-    <td>&status.wip;</td>
-    <td>&a.ups;</td>
-    <td>The exec_map is regularly running out of space
-       on machines running 7.0.  &a.ups; has a proposed
-       patch and it seems to fix this problem.</td>
-  </tr>
-
-  <tr>
-    <td>NFS data corruption between two 7.0 machines</td>
-    <td>&status.wip;</td>
-    <td>&a.mohans;</td>
-    <td>Running fsx between a 7.0 NFS client and server
-       detects data corruption.  This problem can also be reproduced
-       by using 6.1 NFS server.</td>
-  </tr>
-
-  <tr>
-    <td>panic in fxp driver</td>
-    <td>&status.wip;</td>
-    <td>&a.andre;</td>
-    <td>See <a href="http://people.freebsd.org/~pho/stress/log/cons186.html">http://people.freebsd.org/~pho/stress/log/cons186.html</a>.</td>;
-  </tr>
-
-  <tr>
-    <td>deadlock in vn_start_write() consumers</td>
-    <td>&status.wip;</td>
-    <td>&a.tegge;</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>panic in bpf</td>
-    <td>&status.wip;</td>
-    <td>&a.sam;</td>
-    <td>killing tcpdump (e.g. with ^C) can cause panics in bpf.</td>
-  </tr>
-
-  <tr>
-    <td>devfs locking problem</td>
-    <td>&status.wip;</td>
-    <td>&a.jeff;</td>
-    <td>It is trivial to deadlock it on an SMP system, and
-      there are other panics with device removal.</td>
-  </tr>
-
-  <tr>
-    <td>pty leak</td>
-    <td>&status.wip;</td>
-    <td>&a.cognet;</td>
-    <td>Since 6.x has a hard-coded limit, once all ptys are
-      leaked things like ssh and login no longer work.
-      This seems devfs-related.</td>
-  </tr>
-
-  <tr>
-    <td>cpu_ipi_selected() can cause a trap on FreeBSD/sparc64</td>
-    <td>&status.wip;</td>
-    <td>&a.kmacy;</td>
-    <td>On sparc64, cpu_ipi_selected() can cause a trap (which is bad since
-      it appears in the trap code path).</td>
-  </tr>
-
-  <tr>
-    <td>rpc.lockd interoperability problems</td>
-    <td>&status.unknown;</td>
-    <td>&a.kuriyama;</td>
-    <td>After <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/80389">this commit</a>
-      rpc.lockd seems to have interoperability problems.
-      This may be the cause of the many "rpc.lockd no longer interoperates"
-      bug reports seen on -stable.</td>
-  </tr>
-
-  <tr>
-    <td>dup(2) regression on 6.x</td>
-    <td>&status.unknown;</td>
-    <td>&a.des;</td>
-    <td>Simple "close(0); dup(fd)" does not return descriptor "0" in some cases.
-      This problem has been reported in
-      <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/87208">kern/87208</a>,
-      and there is a proposed patch in the PR, too.</td>
-  </tr>
-
-  <tr>
-    <td>ifconfig regression on 6.x</td>
-    <td>&status.wip;</td>
-    <td>&a.yar;</td>
-    <td>ifconfig cannot handle vlan and mtu parameters at the same time
-      after rev.1.7.2.3 of sbin/ifconfig/ifvlan.c commit.
-      For more information and a proposed patch, see
-      <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/94028">bin/94028</a>.</td>;
-  </tr>
-
-  <tr>
-    <td>"calcru: runtime went backwards" problem for threaded program</td>
-    <td>&status.unknown;</td>
-    <td>&nbsp;</td>
-    <td>stress2 thr1 test can trigger "calcru: runtime went backwards" problem
-      and there are also many similar reports on -stable and -current.
-      &a.phk; committed a possible fix (src/sys/kern/kern_tc.c rev.1.169) to
-      update the calibration code to be more precise on 2 March.</td>
-  </tr>
-</table>
-
-<h3>Required features for &local.rel;-RELEASE</h3>
-
-<a name="required"></a>
-<table class="tblbasic">
-  <tr class="heading">
-    <th>Issue</th>
-    <th>Status</th>
-    <th>Responsible</th>
-    <th>Description</th>
-  </tr>
-
-</table>
-
-<h3>Desired features for &local.rel;-RELEASE</h3>
-
-<a name="desired"></a>
-<table class="tblbasic">
-  <tr class="heading">
-    <th>Issue</th>
-    <th>Status</th>
-    <th>Responsible</th>
-    <th>Description</th>
-  </tr>
-
-  <tr>
-    <td>SMP kernels for install</td>
-    <td>&status.unknown;</td>
-    <td></td>
-
-    <td><em>From the <a
-      href="http://www.freebsd.org/projects/ideas/#p-smpinstall">ideas
-      page</a>.</em>  Right now we only install a UP kernel, for performance
-      reasons. We should be able to package both a UP and SMP kernel
-      into the release bits, and have sysinstall install both. It
-      should also select the correct one for the target system and
-      make that the default on boot. The easiest way to do this would
-      be to have sysinstall boot an SMP kernel and then look at the
-      hw.ncpu sysctl. The only problem is being able to have
-      sysinstall fall back to booting a UP kernel for itself if the
-      SMP one fails. This can probably be 'faked' by setting one of
-      the SMP-disabling variables in the loader. But in any case, the
-      point is to make the process Just Work for the user, without the
-      user needing to know arcane loader/sysctl knobs. SMP laptops are
-      here, and we should be ready to support SMP out-of-the-box.</td>
-  </tr>
-
-  <tr>
-    <td>swap panic on sparc64</td>
-    <td>&status.unknown;</td>
-    <td>&a.kris; has panic info</td>
-
-    <td>&a.kris; reports configuring a 74GB swap-backed md on sparc64 that
-      caused a panic after a week or two of load (during which time
-      swap was slowly filling as more of the md was dirtied).</td>
-  </tr>
-
-  <tr>
-    <td>updated hal and ath drivers</td>
-    <td>&status.new;</td>
-    <td>&a.sam;</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>fix ntpdate(1) bogus output on amd64.</td>
-    <td>&status.unknown;</td>
-    <td>&a.roberto;</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Improve performance</td>
-    <td>&status.unknown;</td>
-    <td></td>
-    <td>What seem to be 4BSD scheduler bugs in 6.0 that
-      cause performance to be anomalously low in certain situations.
-      &a.davidxu; has expressed some interest in this problem.</td>
-  </tr>
-
-  <tr>
-    <td>/dev/kmem panic</td>
-    <td>&status.wip;</td>
-    <td>&a.ups;</td>
-    <td>&a.kris; has noticed panics on SMP machines when there was ABI
-      breakage of libkvm and world was not rebuilt and utilities like
-      fstat were used.  This suggests panics can be caused by incorrect
-      accesses to /dev/kmem.  &a.ups; committed a fix for i386.</td>
-  </tr>
-
-  <tr>
-    <td>KLDs on sparc64</td>
-    <td>&status.new;</td>
-    <td>&nbsp;</td>
-    <td>On sparc64 machines with more than 4Gb memory KLDs are not usable
-      and will panic the system.  The problem is reportedly with how the
-      KLDs are compiled, it only works if the code ends up below 4G.</td>
-  </tr>
-
-  <tr>
-    <td>Max RAM on sparc64</td>
-    <td>&status.new;</td>
-    <td>&nbsp;</td>
-    <td>Maximum RAM on sparc64 appears to be limited to 16Gb.</td>
-  </tr>
-
-  <tr>
-    <td>make -jN</td>
-    <td>&status.new;</td>
-    <td>&nbsp;</td>
-    <td>Doing 'make -jN', then suspending/resuming it may result in make
-      reporting it lost child process(es).</td>
-  </tr>
-
-  <tr>
-    <td>OpenBSM</td>
-    <td>&status.unknown;</td>
-    <td>&a.rwatson;</td>
-    <td>The integration of OpenBSM is waiting on some final licensing hurdles.
-      Once those are cleared, it will be a very desirable feature for &local.rel;.</td>
-  </tr>
-
-  <tr>
-    <td>update sysinstall disk labeling</td>
-    <td>&status.wip;</td>
-    <td>&a.rodrigc;</td>
-    <td>Sysinstall could use the same fixes recently made to fdisk so it
-      plays nice with GEOM and disk labeling.  This does not cause problems
-      during install because nothing on the disk is mounted when its label
-      is being manipulated but it can cause problems if sysinstall gets
-      used on a live system to adjust labels on existing disks which
-      sys-admins tend to do.</td>
-  </tr>
-
-  <tr>
-    <td>swapping on 6.0 is slower than on 4.x</td>
-    <td>&status.new;</td>
-    <td>&nbsp;</td>
-    <td>Performance on swap handling is much slower than 4.x and
-      this can make a system essentially unusable when moderate
-      paging activity is going on.</td>
-  </tr>
-</table>
-
-<h3>Documentation items that must be resolved for &local.rel;</h3>
-
-<a name="docs"></a>
-<table class="tblbasic">
-  <tr class="heading">
-    <th>Issue</th>
-    <th>Status</th>
-    <th>Responsible</th>
-    <th>Description</th>
-  </tr>
-
-</table>
-
-<h3>Testing foci for &local.rel;-RELEASE</h3>
-
-<a name="testing"></a>
-<table class="tblbasic">
-  <tr class="heading">
-    <th>Issue</th>
-    <th>Status</th>
-    <th>Responsible</th>
-    <th>Description</th>
-  </tr>
-
-  <tr>
-    <td>manual root mount lockmgr panics</td>
-    <td>&status.untested;</td>
-    <td>&a.ssouhlal;</td>
-    <td>Specifying a manual root mount location causes lockmgr panics.
-      &a.ssouhlal; has committed a patch for this.</td>
-  </tr>
-
-  <tr>
-    <td>dhclient causes ipv6 panics.</td>
-    <td>&status.untested;</td>
-    <td>&a.dougb;</td>
-    <td>&a.dougb; has more details about this.</td>
-  </tr>
-
-  <tr>
-    <td>amd64 panics in ipv6 with date(1)</td>
-    <td>&status.untested;</td>
-    <td>&a.ume;</td>
-    <td>amd64 panics in ipv6 when the date is changed using date(1) or
-	ntpdate(1).  This may be a MI issue.</td>
-  </tr>
-
-  <tr>
-    <td>grep(1) -w does not work with multibyte locales</td>
-    <td>&status.untested;</td>
-    <td>&a.tjr;</td>
-    <td>grep(1) -w generates wrong results with non-UTF-8
-       multibyte locales.  &a.tjr; has committed a patch
-       to -HEAD.  See also gnu/91909.</td>
-  </tr>
-
-  <tr>
-    <td>Improve kbdmux</td>
-    <td>&status.wip;</td>
-    <td>&a.emax;</td>
-    <td><em>From the <a
-      href="http://www.freebsd.org/projects/ideas/#p-kbdmux">ideas
-      page</a>.</em> We need this for the growing number of systems
-      that assume that USB is the primary keyboard. Current status
-      appears to be that the kbdmux driver breaks very easily. We need
-      this working well enough where it can be enabled by default, and
-      all attached keyboards Just Work. &a.emax; commit kbdmux and
-      rc.d/syscons patches in HEAD and RELENG_6. It is not yet enabled
-      by default. See kbdmux(4) and contact &a.emax; if you have
-      problems.</td>
-  </tr>
-</table>
-
-<h3>Stress Test Panics</h3>
-
-<a name="stresstest"></a>
-<p>The system is continuously being subjected to Peter Holm's <a
-  href="http://www.holm.cc/stress/">Kernel Stress Test Suite</a>.  The
-  following issues have recently been discovered from this test
-  suite.</p>
-
-&stresstest;
-
-    &footer;
-
-  </body>
-</html>
diff -ruN 6.1R/todo.xml 6.1R.new/todo.xml
--- 6.1R/todo.xml	Thu Jan  1 00:00:00 1970
+++ 6.1R.new/todo.xml	Mon Mar 13 20:33:54 2006
@@ -0,0 +1,401 @@
+<?xml version="1.0"?>
+<!DOCTYPE entries SYSTEM "todo.dtd">
+
+<!--
+
+  Changes to this list MUST NOT be committed without approval of
+  Release Engineering Team (re@FreeBSD.org) (for general items) or
+  Documentation Engineering Team (doceng@FreeBSD.org) (for doc-related
+  items).
+
+  available classes: < showstopper | required | desired | docs |
+	testing >
+  available states: < na | done | wip | untested | new | unknown |
+	deferred >
+
+-->
+
+<entries>
+  <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
+    <cvs:keyword name="freebsd">
+      $FreeBSD:$
+    </cvs:keyword>
+  </cvs:keywords>
+
+  <entry class="showstopper" status="unknown">
+    <issue>Unreliable serial console</issue>
+    <description>
+      At the manual 'root mount' prompt, the serial console is very
+      unreliable and drops most characters.
+    </description>
+  </entry>
+
+  <entry class="testing" status="untested">
+    <issue>Manual root mount lockmgr panics</issue>
+    <responsible>Suleiman Souhlal</responsible>
+    <description>
+      Specifying a manual root mount location causes lockmgr panics.
+      ssouhlal@ has committed a patch for this.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="deferred">
+    <issue>i386 deadlocks with more than 16GB swap</issue>
+    <responsible>Alan L. Cox</responsible>
+    <description>
+      i386 deadlocks if more than 16GB of swap is in use.  Increasing
+      the kern.maxswzone tunable would be a workaround this, but a patch
+      from alc@ is needed to allow this variable to be increased.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>Unmount pending error</issue>
+    <responsible>Suleiman Souhlal</responsible>
+    <description>
+      When unmounting filesystems Kris Kennaway reports seeing this
+      warning: <tt>/c: unmount pending error: blocks -68512 files 0</tt>.
+      This dates back at least to 5.3.  It might be associated with
+      filesystem corruption reported by many users in which the 'used'
+      space on a filesystem is negative; fsck -f is needed to correct
+      this.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>swap_pager warnings</issue>
+    <responsible>Don Lewis?</responsible>
+    <description>
+      When swapfiles are in use, there are often warnings printed: <tt>
+      swap_pager: indefinite wait buffer: bufobj: 0, blkno: 889347,
+      size: 8192</tt>.  There is also the possibility of deadlock.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>umount -f panics</issue>
+    <responsible>Jeff Roberson, Suleiman Souhlal</responsible>
+    <description>
+      Panics from race conditions.  A patch from Jeff Roberson seems to
+      fix some of them.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>UFS deadlocks on amd64</issue>
+    <responsible>Tor Egge</responsible>
+    <description>
+      Seen by Kris Kennaway.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>UFS deadlocks</issue>
+    <description>
+      Seen by Peter Jeremy.
+    </description>
+  </entry>
+
+  <entry class="testing" status="untested">
+    <issue>amd64 panics in ipv6 with date(1)</issue>
+    <responsible>Hajimu UMEMOTO</responsible>
+    <description>
+      amd64 panics in ipv6 when the date is changed using date(1) or
+      ntpdate(1).  This may be a MI issue.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>sparc64 instability.</issue>
+    <responsible>Marius Strobl</responsible>
+    <description>
+      sparc64 instability when accessing /dev/mem.  Contact marius@ or
+      kris@ for debugging information.
+    </description>
+  </entry>
+
+  <entry class="testing" status="untested">
+    <issue>dhclient causes ipv6 panics.</issue>
+    <responsible>Doug Barton</responsible>
+    <description>
+      dougb@ has more details about this.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>sparc64 frequent hangs</issue>
+    <status>unknown</status>
+    <description>
+      No DDB break possible, so impossible to diagnose.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>Serious sparc64 IPv6 panic</issue>
+    <responsible>George V. Neville-Neil</responsible>
+    <description>
+      Triggered by just ping6'ing the box.  It may even be a MI issue,
+      the reporter of this bug only uses IPv6 with sparc64. This problem
+      seems to be triggered even when debug.mpsafenet=0.
+    </description>
+  </entry>
+
+  <entry class="desired" status="unknown">
+    <issue>SMP kernels for install</issue>
+    <description>
+      <em>From the <a
+	href="http://www.freebsd.org/projects/ideas/#p-smpinstall">ideas
+      page</a>.</em>  Right now we only install a UP kernel, for
+      performance reasons.  We should be able to package both a UP and
+      SMP kernel into the release bits, and have sysinstall install
+      both.  It should also select the correct one for the target system
+      and make that the default on boot.  The easiest way to do this
+      wouldbe to have sysinstall boot an SMP kernel and then look at the
+      hw.ncpu sysctl.  The only problem is being able to have sysinstall
+      fall back to booting a UP kernel for itself if the SMP one fails.
+      This can probably be 'faked' by setting one of the SMP-disabling
+      variables in the loader.  But in any case, the point is to make
+      the process Just Work for the user, without the user needing to
+      know arcane loader/sysctl knobs.  SMP laptops are here, and we
+      should be ready to support SMP out-of-the-box.
+    </description>
+  </entry>
+
+  <entry class="testing" status="untested">
+    <issue>Improve kbdmux</issue>
+    <responsible>Maksim Yevmenkin</responsible>
+    <description>
+      <em>From the <a
+	href="http://www.freebsd.org/projects/ideas/#p-kbdmux">ideas
+      page</a>.</em>  We need this for the growing number of systems
+      that assume that USB is the primary keyboard.  Current status
+      appears to be that the kbdmux driver breaks very easily.  We need
+      this working well enough where it can be enabled by default, and
+      all attached keyboards Just Work.
+    </description>
+  </entry>
+
+  <entry class="desired" status="unknown">
+    <issue>swap panic on sparc64</issue>
+    <responsible>Kris Kennaway has panic info</responsible>
+    <description>
+      Kris reports configuring a 74GB swap-backed md on sparc64 that
+      caused a panic after a week or two of load (during which time swap
+      was slowly filling as more of the md was dirtied).
+    </description>
+  </entry>
+
+  <entry class="desired" status="new">
+    <issue>Updated hal and ath drivers</issue>
+    <responsible>Sam Leffler</responsible>
+  </entry>
+
+  <entry class="desired" status="unknown">
+    <issue>Fix ntpdate(1) bogus output on amd64.</issue>
+    <responsible>Ollivier Robert</responsible>
+  </entry>
+
+  <entry class="desired" status="unknown">
+    <issue>Improve performance</issue>
+    <description>
+      What seem to be 4BSD scheduler bugs in 6.0 that cause performance
+      to be anomalously low in certain situations.  davidxu@ has
+      expressed some interest in this problem.
+    </description>
+  </entry>
+
+  <entry class="desired" status="wip">
+    <issue>/dev/kmem panic</issue>
+    <responsible>Stephan Uphoff</responsible>
+    <description>
+      Kris has noticed panics on SMP machines when there was ABI
+      breakage of libkvm and world was not rebuilt and utilities like
+      fstat were used.  This suggests panics can be caused by incorrect
+      accesses to /dev/kmem.  Stephan Uphoff committed a fix for i386.
+    </description>
+  </entry>
+
+  <entry class="desired" status="new">
+    <issue>KLDs on sparc64</issue>
+    <description>
+      On sparc64 machines with more than 4Gb memory KLDs are not usable
+      and will panic the system.  The problem is reportedly with how the
+      KLDs are compiled, it only works if the code ends up below 4G.
+    </description>
+  </entry>
+
+  <entry class="desired" status="new">
+    <issue>Max RAM on sparc64</issue>
+    <description>
+      Maximum RAM on sparc64 appears to be limited to 16Gb.
+    </description>
+  </entry>
+
+  <entry class="desired" status="new">
+    <issue>make -jN</issue>
+    <description>
+      Doing 'make -jN', then suspending/resuming it may result in make
+      reporting it lost child process(es).
+    </description>
+  </entry>
+
+  <entry class="testing" status="untested">
+    <issue>OpenBSM</issue>
+    <responsible>Robert Watson</responsible>
+    <description>
+      The OpenBSM has been MFC'ed to RELENG_6 and needs some testing.
+    </description>
+  </entry>
+
+  <entry class="desired" status="wip">
+    <issue>Update sysinstall disk labeling</issue>
+    <responsible>Craig Rodrigues</responsible>
+    <description>
+      Sysinstall could use the same fixes recently made to fdisk so it
+      plays nice with GEOM and disk labeling.  This does not cause
+      problems during install because nothing on the disk is mounted
+      when its label is being manipulated but it can cause problems if
+      sysinstall gets used on a live system to adjust labels on existing
+      disks which sys-admins tend to do.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>Quota deadlocks</issue>
+    <responsible>Jeff Roberson</responsible>
+    <description>
+      Quota support is not locked properly and causes deadlocks.  A
+      patch from Jeff Roberson seems to fix some of them.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="new">
+    <issue>sort(1) does not work with some locales</issue>
+    <description>
+      sort(1) can cause a coredump with some locales.  See also
+      gnu/93629.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>exec_map depletion</issue>
+    <responsible>Stephan Uphoff</responsible>
+    <description>
+      The exec_map is regularly running out of space on machines running
+      7.0.  Stephan Uphoff has a proposed patch and it seems to fix this
+      problem.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>NFS data corruption between two 7.0 machines</issue>
+    <responsible>Mohan Srinivasan</responsible>
+    <description>
+      Running fsx between a 7.0 NFS client and server detects data
+      corruption.  This problem can also be reproduced by using 6.1 NFS
+      server.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>Panic in fxp driver</issue>
+    <responsible>Andre Oppermann</responsible>
+    <description>
+      See <a href="http://people.freebsd.org/~pho/stress/log/cons186.html">;
+	http://people.freebsd.org/~pho/stress/log/cons186.html</a>.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>Deadlock in vn_start_write() consumers</issue>
+    <responsible>Tor Egge</responsible>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>panic in bpf</issue>
+    <responsible>Sam Leffler</responsible>
+    <description>
+      Killing tcpdump (e.g. with ^C) can cause panics in bpf.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>devfs locking problem</issue>
+    <responsible>Jeff Roberson</responsible>
+    <description>
+      It is trivial to deadlock it on an SMP system, and there are other
+      panics with device removal.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>pty leak</issue>
+    <responsible>Olivier Houchard</responsible>
+    <description>
+      Since 6.x has a hard-coded limit, once all ptys are leaked things
+      like ssh and login no longer work.  This seems to be related to
+      devfs.
+    </description>
+  </entry>  
+
+  <entry class="showstopper" status="wip">
+    <issue>cpu_ipi_selected() can cause a trap on sparc64</issue>
+    <responsible>Kip Macy</responsible>
+    <description>
+      On sparc64, cpu_ipi_selected() can cause a trap (which is bad
+      since it appears in the trap code path).
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>rpc.lockd interoperability problems</issue>
+    <responsible>Jun Kuriyama</responsible>
+    <description>
+      After <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/80389">;
+	this commit</a> rpc.lockd seems to have interoperability
+      problems.  This may be the cause of the many "rpc.lockd no longer
+      interoperates" bug reports seen on -stable.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>dup(2) regression on 6.x</issue>
+    <responsible>Dag-Erling Smorgrav</responsible>
+    <description>
+      Simple "close(0); dup(fd)" does not return descriptor "0" in some
+      cases.  This problem has been reported in kern/87208, and there is
+      a proposed patch in the PR, too.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="wip">
+    <issue>ifconfig regression on 6.x</issue>
+    <responsible>Yar Tikhiy</responsible>
+    <description>
+      ifconfig can not handle vlan and mtu parameters at the same time
+      after rev.1.7.2.3 of sbin/ifconfig/ifvlan.c commit.  For more
+      information and a proposed patch, see bin/94028.
+    </description>
+  </entry>
+
+  <entry class="showstopper" status="unknown">
+    <issue>"calcru: runtime went backwards" problem for threaded
+      program</issue>
+    <description>
+      stress2 thr1 test can trigger "calcru: runtime went backwards"
+      problem and there are also many similar reports on -stable and
+      -current.  Poul-Henning Kamp committed a possible fix
+      (src/sys/kern/kern_tc.c rev.1.169) to update the calibration code
+      to be more precise on 2 March.
+    </description>
+  </entry>
+
+  <entry class="desired" status="new">
+    <issue>Swapping on 6.0 is slower than on 4.x</issue>
+    <description>
+      Performance on swap handling is much slower than 4.x and this can
+      make a system essentially unusable when moderate paging activity
+      is going on.
+    </description>
+  </entry>
+</entries>
diff -ruN 6.1R/todo.xsl 6.1R.new/todo.xsl
--- 6.1R/todo.xsl	Thu Jan  1 00:00:00 1970
+++ 6.1R.new/todo.xsl	Mon Mar 13 20:39:50 2006
@@ -0,0 +1,221 @@
+<?xml version="1.0"?>
+
+<!-- Copyright (c) 2006 Daniel Gerzo <danger@rulez.sk>
+     All rights reserved.
+
+     Redistribution and use in source and binary forms, with or without
+     modification, are permitted provided that the following conditions
+     are met:
+     1. Redistributions of source code must retain the above copyright
+	notice, this list of conditions and the following disclaimer.
+     2. Redistributions in binary form must reproduce the above copyright
+	notice, this list of conditions and the following disclaimer in the
+	documentation and/or other materials provided with the distribution.
+
+     THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+     ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+     FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+     OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+     OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+     SUCH DAMAGE.
+
+     $FreeBSD:$
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+  xmlns:cvs="http://www.FreeBSD.org/XML/CVS"
+  exclude-result-prefixes="cvs">
+
+  <xsl:import href="../../includes.xsl"/>
+  <xsl:variable name="section" select="'download'"/>
+  <xsl:variable name="base" select="'../..'"/>
+  <xsl:variable name="date">
+    <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
+  </xsl:variable>
+  <xsl:variable name="email" select="'re'"/>
+  <xsl:variable name="localrel" select="'6.1'"/>
+  <xsl:variable name="title" select="concat('FreeBSD ', $localrel, '-RELEASE Open Issues')"/>
+  <xsl:variable name="upperCase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
+  <xsl:variable name="lowerCase" select="'abcdefghijklmnopqrstuvwxyz'"/>
+
+  <xsl:output method="xml" encoding="iso-8859-1"
+    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
+
+  <xsl:template match="entries">
+    <html>
+
+      <xsl:copy-of select="$header1"/>
+
+      <body>
+
+        <div id="containerwrap">
+          <div id="container">
+
+            <xsl:copy-of select="$header2"/>
+
+            <div id="content">
+
+              <xsl:copy-of select="$sidenav"/>
+
+              <div id="contentwrap">
+
+                <xsl:copy-of select="$header3"/>
+
+	<p>This is a list of open issues that need to be resolved for
+	  FreeBSD <xsl:value-of select="$localrel" />-RELEASE. If you
+	  have any updates for this list, please e-mail
+	  re@FreeBSD.org.</p>
+
+	<ul>
+	  <li><a href="#showstopper">Show stopper defects</a></li>
+	  <li><a href="#required">Required features</a></li>
+	  <li><a href="#desired">Desired features</a></li>
+	  <li><a href="#docs">Documentation Items</a></li>
+	  <li><a href="#testing">Testing focuses</a></li>
+	  <li><a href="#stresstest">Problems Discovered by Kernel Stress Test Suite</a></li>
+	</ul>
+
+	<h3>Show stopper defects for <xsl:value-of select="$localrel"/>-RELEASE</h3>
+	<a name="showstopper"></a>
+	<table class="tblbasic">
+	  <tr class="heading">
+	    <th>Issue</th>
+	    <th>Status</th>
+	    <th>Responsible</th>
+	    <th>Description</th>
+	  </tr>
+	  <xsl:for-each select="entry[@class='showstopper']">
+	    <xsl:sort select="translate(./issue, $upperCase, $lowerCase)"/>
+	    <xsl:call-template name="entry"/>
+	  </xsl:for-each>
+	</table>
+
+	<h3>Required features for <xsl:value-of select="$localrel"/>-RELEASE</h3>
+	<a name="required"></a>
+	<table class="tblbasic">
+	  <tr class="heading">
+	    <th>Issue</th>
+	    <th>Status</th>
+	    <th>Responsible</th>
+	    <th>Description</th>
+	  </tr>
+	  <xsl:for-each select="entry[@class='required']">
+	    <xsl:sort select="translate(./issue, $upperCase, $lowerCase)"/>
+	    <xsl:call-template name="entry"/>
+	  </xsl:for-each>
+	</table>
+
+	<h3>Desired features for <xsl:value-of select="$localrel"/>-RELEASE</h3>
+	<a name="desired"></a>
+	<table class="tblbasic">
+	  <tr class="heading">
+	    <th>Issue</th>
+	    <th>Status</th>
+	    <th>Responsible</th>
+	    <th>Description</th>
+	  </tr>
+	  <xsl:for-each select="entry[@class='desired']">
+	    <xsl:sort select="translate(./issue, $upperCase, $lowerCase)"/>
+	    <xsl:call-template name="entry"/>
+	  </xsl:for-each>
+	</table>
+
+	<h3>Documentation items that must be resolved for <xsl:value-of select="$localrel"/>-RELEASE</h3>
+	<a name="docs"></a>
+	<table class="tblbasic">
+	  <tr class="heading">
+	    <th>Issue</th>
+	    <th>Status</th>
+	    <th>Responsible</th>
+	    <th>Description</th>
+	  </tr>
+	  <xsl:for-each select="entry[@class='docs']">
+	    <xsl:sort select="translate(./issue, $upperCase, $lowerCase)"/>
+	    <xsl:call-template name="entry"/>
+	  </xsl:for-each>
+	</table>
+
+	<h3>Testing focuses for <xsl:value-of select="$localrel"/>-RELEASE</h3>
+	<a name="testing"></a>
+	<table class="tblbasic">
+	  <tr class="heading">
+	    <th>Issue</th>
+	    <th>Status</th>
+	    <th>Responsible</th>
+	    <th>Description</th>
+	  </tr>
+	  <xsl:for-each select="entry[@class='testing']">
+	    <xsl:sort select="translate(./issue, $upperCase, $lowerCase)"/>
+	    <xsl:call-template name="entry"/>
+	  </xsl:for-each>
+	</table>
+
+	<h3>Stress Test Panics</h3>
+	<a name="stresstest"></a>
+	<p>The system is continuously being subjected to Peter Holm's <a
+	  href="http://www.holm.cc/stress/">Kernel Stress Test Suite</a>.
+	  The following issues have recently been discovered from this
+	  test suite.</p>
+
+	<ul>
+	  <xsl:for-each select="document('stress.xml')/results/result">
+	  <li>
+	    <xsl:element name="a">
+	      <xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
+	      <xsl:value-of select="title"/>
+	    </xsl:element>
+	  </li>
+	  </xsl:for-each>
+	</ul>
+
+	</div> <!-- contentwrap -->
+	<br class="clearboth" />
+
+	</div> <!-- content -->
+
+	<xsl:copy-of select="$footer"/>
+
+	</div> <!-- container -->
+      </div> <!-- containerwrap -->
+
+      </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template name="entry">
+    <tr>
+      <td><xsl:value-of select="issue"/></td>
+      <xsl:choose>
+        <xsl:when test="@status='na'">
+	  <td><font color="green">N/A</font></td>
+	</xsl:when>
+	<xsl:when test="@status='done'">
+	  <td><font color="green">Done</font></td>
+	</xsl:when>
+	<xsl:when test="@status='wip'">
+	  <td><font color="blue">In progress</font></td>
+	</xsl:when>
+	<xsl:when test="@status='untested'">
+	  <td><font color="orange">Needs testing</font></td>
+	</xsl:when>
+	<xsl:when test="@status='new'">
+	  <td><font color="red">Not done</font></td>
+	</xsl:when>
+	<xsl:when test="@status='unknown'">
+	  <td><font color="red">Unknown</font></td>
+	</xsl:when>
+	<xsl:when test="@status='deferred'">
+	  <td><font color="gray">Deferred for future release</font></td>
+	</xsl:when>
+      </xsl:choose>
+      <td><xsl:value-of select="responsible"/></td>
+      <td><xsl:copy-of select="description/child::node()"/></td>
+    </tr>
+  </xsl:template>
+</xsl:stylesheet>
--- todo.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060313210026.E7C83483FB8>