diff --git a/en_US.ISO8859-1/htdocs/releases/5.3R/todo.xml b/en_US.ISO8859-1/htdocs/releases/5.3R/todo.xml index 0b188df942..10f15d4035 100644 --- a/en_US.ISO8859-1/htdocs/releases/5.3R/todo.xml +++ b/en_US.ISO8859-1/htdocs/releases/5.3R/todo.xml @@ -1,640 +1,640 @@ N/A"> Done"> In progress"> Needs testing"> Not done"> Unknown"> ]>
This is a list of open issues that need to be resolved for FreeBSD 5.3. If you have any updates for this list, please e-mail re@FreeBSD.org.
| Issue | Status | Responsible | Description |
|---|
| Issue | Status | Responsible | Description |
|---|
| Issue | Status | Responsible | Description |
|---|
| Issue | Status | Responsible | Description |
|---|---|---|---|
| Reports of poor performance with the if_re driver (re ethernet interfaces) | &status.wip; | &a.jmg; | There have been reports that specific gigabit ethernet cards supported by the if_re driver are experiencing poor performance; a patch has been posted that corrects timer and interrupt problems with the driver, and is believed to correct the performace problems. The patch will be merged to 6.x and 5.x shortly. |
| GDB thread support | &status.wip; | &a.davidxu;, &a.marcel; | With improved support for threading primitives, support is now required to ease debugging of threaded applications. Ideally, this support will work for both libthr and libkse threading models. |
| KSE support for sparc64 | &status.wip; | &a.kensmith; | Kernel bits implemented, userland not implemented. |
| truss support for ptrace | -- | -- | Almost all process debugging tools have been updated to use non-procfs kernel primitives, with the exception of truss(1). As procfs is considered deprecated due to its inherent security risks, it is highly desirable to update truss to operate in a post-procfs world. &a.des; had prototype patches; &a.robert; is developing and testing patches now. Support for system call tracing has been added to ptrace(). |
| FAST_IPSEC and KAME compatibility | &status.new; | -- | FAST_IPSEC currently cannot be used directly with the KAME IPv6 implementation, requiring an additional level of IP tunnel indirection to protect IPv6 packets when using hardware crypto acceleration. This issue must be resolved so that the two services may more easily be used together. Among other things, this will require a careful review of the handling of mbuf header copying and m_tag support in the KAME IPv6 code. |
| rpc.lockd(8) stability | -- | -- | A process cannot be interrupted while waiting on a lock. Fixing this requires that the RPC code be taught how to deal with lock cancellation and interruption events. |
| Revised kld build infrastructure | &status.new; | &a.peter; | Kernel modules are currently built independently from a kernel configuration, and independently from one another, resulting in substantially redundant compilation of objects, as well as the inability to easily manage compile-time options for kernel objects (such as MAC, PAE, etc) that may require conditional compilation in the kernel modules. In order to improve build performance and better support options of this sort, the KLD build infrastructure needs to be revamped. &a.peter; has done some initial prototyping, and should be contacted before starting on this work. |
| Race conditions in truss | Errata candidate | &a.robert; | Truss appears to contain a race condition during the start-up of debugging, which can result in truss failing to attach to the process before it exits. The symptom is that truss reports that it cannot open the procfs node supporting the process being debugged. A bug also appears to exist where in truss will hang if execve() returns ENOENT. A further race appears to exist in which truss will return "PIOCWAIT: Input/output error" occasionally on startup. The fix for this sufficiently changes process execution handling that we will defer the fix to post-5.0 and consider this errata. |
| filedesc LOR | &status.new; | -- | The LOR reported in PR kern/55175 needs to be fixed. Filedesc locking needs to be heavily reviewed in general. |
| KSE support for alpha | &status.wip; | &a.marcel; | Userland bits implemented, kernel bits not implemented. |
| CAM locking | &status.wip; | &a.scottl;, &a.gibbs; | For kernel API/ABI compatibility reasons, it would be desirable to have the CAM locking strategy determined and loosely implemented for 5.3. |
| syscons not working on Sparc64 Ultra-30 | &status.new; | -- | When running syscons on an Ultra-30 with Creator-3D typing characters on the keyboard produces garbage. Problem reported by &a.kris;. Debugging difficult due to lack of this particular configuration among developers and problem isn't present on similar hardware (e.g. no problem on Ultra-60 w/Creator-3D). |
| Issue | Status | Responsible | Description |
|---|---|---|---|
| i386 Floppy Installation Docs | &status.done; | Gavin Atkinson, &a.bmah; | The installation documentation doesn't take into account the
new floppy images (with a full kernel split across multiple
disks). This should be updated. References: docs/70485 (closed) |
| Finish hardware notes trimming | &status.done; | &a.simon;, &a.brueffer; | Finish removing mention of individual devices in the hardware notes and use auto-generated lists, based on driver manual pages, instead. |
| sound(4) related manual pages | &status.done; | &a.simon; | The snd(4) and pcm(4) drivers have been renamed but their
manual pages are still outdated. sound(4) has to be added and
pcm(4), csa(4), gusc(4), sbc(4), and uaudio(4) should be revised.
Other manual pages which refer to pcm(4) (if any) should possibly
be revised, too. In addition, supported cards list needs to be
updated. References: Manpage for snd_solo on -doc@ [PATCH] sound(4) related manpages 5.3 TODO item on -doc@ src/share/man/man4/Makefile rev.1.279 |
| Sound section in the Handbook | &status.done; | &a.blackend; | This section is outdated, some rewrites are needed for
5.3-RELEASE. References: doc/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml rev.1.94 |
| FDP documentations related pcm(4) | &status.new; | -- | With the snd(4) and pcm(4) drivers changes, documentations (FAQ) regarding the use of these drivers need an update. |
| Early Adopter's Guide | &status.done; | &a.bmah;, &a.trhodes; | Xin LI pointed out that FreeBSD 5.3-RELEASE is the first
stable release on 5.X and it is (hopefully) not for early
adopters. Early Adopter's Guide is still useful, but
contains a bit old information. Some parts of this guide
need a rewrite, and this document should be published
as "4.X to 5.X Migration Guide", which focuses difference
between 4.X and 5.X. References: Draft for review discussion on -doc@ and -current@ |
| Installation Notes | &status.new; | &a.trhodes; | Some parts are outdated. doc/70485 has been committed, but
more work is needed to reflect the realities. bmah@ pointed out
that we should have "quick-start" installation guide for each
platform instead of the current ones because they become too long
and difficult to be maintained. References: doc/70485 (closed) |
| Xorg | &status.done; | Ken Tom, &a.blackend; | Update the X11 chapter of the Handbook for X.Org's X11
server. References: books/handbook/config/chapter.xml rev.1.147 |
| rc.d scripts | &status.done; | &a.trhodes; | Ch.11.4 and 11.5 of the Handbook must be updated to mention
the new rc.d scripts and some ports use /etc/rc.conf for their
configuration. References: books/handbook/config/chapter.xml rev.1.170 books/handbook/config/chapter.xml rev.1.172 |
| Handbook's kernel configuration chapter | &status.done; | &a.ceri; | Chapter 8 must be updated to match 5.3-RELEASE. References: docs/70674 (closed) books/handbook/kernelconfig/chapter.xml rev.1.135 |
| Handbook's IPsec section | &status.new; | -- | Some parts of Section 14.10 are outdated and are not correct
for 5.X systems. References: ipsec on -doc@ Problem with IPSEC in handbook on -doc@ |
| Handbook's Vinum chapter | &status.new; | -- | Vinum chapter needs to be revised for 5.X systems. |
| Issue | Status | Responsible | Description | |
|---|---|---|---|---|
| KSE as the default threads library | &status.untested; | &a.davidxu;, &a.deischen; | KSE has matured to the point of being more stable and POSIX-compliant than the traditional libc_r. All Tier-1 platforms MUST have stable KSE support for 5.3 in order to support a consistent transition. Additionally, all ports that depend on the pthreads API must be modified to properly detect and support the default threading library. | |
| Updated binutils for all platforms | &status.untested; | &a.obrien; | Binutils needs updating in order to support new platforms, newer GDB versions, and Thread Local Storage. | |
| gcc 3.3 floating point alignment regression | &status.untested; | The previous GCC 3.3 snapshot included regressions in alignment of floating point arguments, resulting in a substantial performance degradation. The recent GCC 3.4.2 import should fix this, but more testing is needed. | ||
| in6_pcbnotify() panic with TCP | &status.done; | &a.rwatson; | &a.kuriyama; has reported a failed locking assertion with IPv6 TCP notifications. This problem is believed to be corrected. | |
| Per-platform Thread-Local Storage | &status.untested; | &a.dfr;, &a.marcel; | To complete support for thread-local storage on FreeBSD, per-architecture changes must be made. Currently pending platforms are amd64, alpha, ia64, i386, sparc64, and powerpc. | |
| SMP instability under load | &status.untested; | &a.dwhite;, &a.alc; | High load on SMP systems appears to result in a hard hang related to VM IPI. &a.dwhite; has prepared a candidate patch that appears to resolve this instability, which is currently in testing for merge to the CVS HEAD. | |
| Fine-grained network stack locking without Giant | &status.untested; | &a.rwatson; | Significant parts of the network stack (especially IPv4, UNIX domain IPC, and sockets) now have fine-grained locking of their data structures. It's possible to run many common network subsystems and services without the Giant lock. However, a number of device drivers and less mainstream network subsystems are currently not MPSAFE. 5.3 betas have shipped with Giant-free networking by default, with some bug reports and fixes in later betas and release candidates. Please report any problems to the current@ mailing list. | |
| kld support for amd64 | &status.untested; | &a.obrien;, &a.iedowse; | KLDs work when loaded from userland, but not from the loader. kldxref and loader support has been committed to HEAD and RELENG_5 and needs final testing. | |
| ATA panics under sparc64 | &status.untested; | &a.sos;, &a.scottl; | Recent changes to the ATA driver trigger a bug on sparc64 that causes a panic on boot. This was caused by bugs in busdma that have been hopefully fixed. | |
| ifconf() sleep warning | &status.done; | &a.brooks; | The ifconf() ioctl for listing network interfaces performs a copyout() while holding the global ifnet list mutex. This generates a witness warning in the event that copyout() generates a page fault, and risks more serious problems. This problem is believed to be corrected. | |
| poll()/select() application wedge reports with debug.mpsafenet="1" | &status.done; | &a.rwatson; | There are reports of applications wedging in poll() and select() while running the network stack without the Giant lock. A recent sleepq change appears to have caused some of the observed problems to go away (others are difficult to test for due to recent SMP instability). This problem appears to be corrected. | |
| if_em wedging under high pps | &status.done; | &a.mlaier; | There have been several reports of if_em cards "wedging" under high packets-per-second load. This problem appears to have been corrected. | |
| Panic on USB detach | &status.untested; | &a.imp;, &a.scottl; | A recent regression in the USB code is causing panics when a USB device detaches, especially USB hubs. A fix is in RELENG_5 now. | |
| KAME IPSEC "ENOBUFS" problem with racoon and mbuma | &status.done; | &a.rwatson;, &a.sam; | There are reports that racoon is unable to complete IKE negotiation due to a send to the pfkey socket returning ENOBUFS. This appears to be a result of an incorrect assumption about mbuf data size due to a change resulting from mbuma. This problem appears to have been corrected. | |
| BIND9 import into 5-CURRENT | &status.done; | -&a.dougb;, &a.des;, &a.trhodes; | +Doug Barton, &a.des;, &a.trhodes; | BIND9 is now in RELENG_5 and HEAD. Testing is needed of basic functionality, migration from 8.x, and 3rd party packages in the ports tree. |
| Synaptics touchpad problems | &status.untested; | &a.philip; | Synaptics updates to the psm(4) driver have resulted in poor interactivity for taps and button press events for some users. Support is now disabled by default but work will procede to fix the underlying problems. | |
| Scheduler-related hangs involving threads | &status.untested; | &a.scottl;, &a.julian; | Significant work has happened in the scheduler to fix stability problems. More testing for UP and SMP under heavily load is needed. | |
| NFS over IPv6 problems | &status.done; | &a.dwhite; | &a.kuriyama; has reported problems with NFS over IPv6 not functioning correctly as of the improved NFS support for disconnection changes. &a.dwhite; has tracked down the source of the problem (EMSGSIZE being returned by IPv6 UDP send routine due to fragmentation), and is currently exploring possible fixes. This problem appears to have been corrected. | |
| Reports of socket buffer corruption in tcp_output() | &status.done; | &a.rwatson; | There have been reports of occasional corruption of socket buffers. This may have been the result of missing socket buffer locking in tcp_output(), which has now been corrected in 6.x and 5.x; this problem is believed to be fixed. | |
| Reports of hangs using i4b (isdn4bsd) | &status.done; | &a.rwatson; | There have been reports of system hangs while using ISDN with the i4b ISDN framework on SMP systems. These likely result from insufficient synchronization in the i4b implementation when runnning without the Giant lock over the network stack. The workaround until this is fixed is to re-assert the Giant lock over the stack when i4b is compiled into the kernel; this has been committed to 6.x and and 5.x. This problem appears to have been corrected. | |
| Problems with multicast and setuid binaries/daemons | &status.done; | &a.rwatson;, &a.csjp; | There have been reports that multicast socket options on raw sockets no longer work properly with daemons changing privilege or setuid binaries. These symptoms have been tracked down to bugs relating to permitting limited use of raw sockets in jail(). A patch correcting these problems has been merged to 6.x and 5.x. This problem appears to have been corrected. | |
| Reports of sodealloc() panic under heavy load | &status.done; | &a.rwatson;, &a.green; | There have been reports of a so_count invariant violation in sofree(), which may relate to race conditions in sofree() against accept(), which were recently corrected in 6.x, and has been merged to 5.x. This problem appears to have been corrected. | |
| Merge of Darwin msdosfs, other fixes | &status.done; | -- | Apple's Darwin operating system has fairly extensive improvements to msdosfs and other kernel services; these fixes must be reviewed and merged to the FreeBSD tree. | |
| Reports of poor performance of the if_de driver (de ethernet interfaces) | &status.done; | &a.rwatson;, &a.jmg; | There have been reports that if_de ethernet cds behave poorly when running with debug.mpsafenet="1", even though the driver is marked to run all portions with the Giant lock. This suggests a race condition specific to this drive, which is currently being debugged. A patch has been committed to the 6.x and 5.x branches, and appears to correct the problem. | |
| Threaded application get stuck in an unkillable state when touched by GDB | &status.done; | &a.davidxu; | Attaching GDB to a threaded process will leave the process in an unkillable state. Rebooting the machine is the only way to recover from this. This is easily triggered when a KDE app crashes and KDE automatically attaches GDB to it to extract a stack trace. A candidate fix is in 6-CURRENT. More testing and review is needed. | |
| More truss problems | &status.done; | &a.alfred; | Truss appears to have another problem. It is repeatable by running "truss -f fsck -p /", suspending it with ^Z, and then killing truss. It will leave behind the fsck processes which will be unkillable. | |
| Reports of TCP-related instability under extremely high load; possibly related to SACK | &status.untested; | &a.gnn;, &a.rwatson;, &a.scottl; | There have been reports that, under extremely high load, the tcp_output() routine may appear to run for extended periods, resulting in the appearance of a hang for an extended period (up to 30 minutes), followed by recovery. A fix for SACK was developed and committed that hopefully corrects this problem. |
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.
| Issue | Status | Responsible | Description |
|---|---|---|---|
| No pending issue. | |||
| Issue | Status | Responsible | Description |
|---|---|---|---|
| No pending issue. | |||
| Issue | Status | Responsible | Description |
|---|---|---|---|
| devfs locking problem | &status.wip; | &a.jeff; | It is trivial to deadlock it on an SMP system, and there are other panics with device removal. |
| pty leak | &status.wip; | &a.cognet; | 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, and occurs only under extreme stress testing, not normal use. |
| swap_pager warnings | &status.unknown; | &a.truckman;? | When swapfiles are in use, there are often warnings printed: swap_pager: indefinite wait buffer: bufobj: 0, blkno: 889347, size: 8192. There is also the possibility of deadlock. |
| unmount pending error | &status.wip; | &a.ssouhlal; | When unmounting filesystems &a.kris; reports seeing this warning: /c: unmount pending error: blocks -68512 files 0. 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. |
| "calcru: runtime went backwards" problem for threaded program | &status.unknown; | 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. | |
| NFS data corruption between two 7.0 machines | &status.wip; | &a.mohans; | 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. The problem seems to be avoidable by turning off the attribute cache on the NFS client. |
| sort(1) does not work with some locales | &status.new; | sort(1) can cause a coredump with some locales. See also gnu/93629. | |
| unreliable serial console | &status.unknown; | At the manual 'root mount' prompt, the serial console is very unreliable and drops most characters. This appears to be caused by cngetc() polling the sio driver for input, and the sio driver resetting the chip on every poll iteration. That results in a very small window for it to accept input. Fixing this requires a large review of the operation of the sio driver. The uart driver looks to handle this better and might be a suitable replacement. | |
| fix ntpdate(1) bogus output on amd64. | &status.unknown; | &a.roberto; | |
| make -jN | &status.new; | Doing 'make -jN', then suspending/resuming it may result in make reporting it lost child process(es). | |
| update sysinstall disk labeling | &status.wip; | &a.rodrigc; | 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. |
| i386 deadlocks with >16GB swap | &status.deferred; | &a.alc; | 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. |
| panic in bpf | &status.deferred; | &a.sam; | killing tcpdump (e.g. with ^C) can cause panics in bpf. To fix this problem, some architectural changes are needed. |
| OpenBSM | &status.deferred; | &a.rwatson; | The integration of OpenBSM is waiting on some final licensing hurdles. It is expected to be available in the next release. |
| Issue | Status | Responsible | Description |
|---|---|---|---|
| No pending issue. | |||
| Issue | Status | Responsible | Description | ||
|---|---|---|---|---|---|
| manual root mount lockmgr panics | &status.untested; | &a.ssouhlal; | Specifying a manual root mount location causes lockmgr panics. &a.ssouhlal; has committed a patch for this. | ||
| dhclient causes ipv6 panics. | &status.untested; | -&a.dougb; | -&a.dougb; has more details about this. | +Doug Barton | +Doug Barton has more details about this. |
| amd64 panics in ipv6 with date(1) | &status.untested; | &a.ume; | amd64 panics in ipv6 when the date is changed using date(1) or ntpdate(1). This may be a MI issue. | ||
| grep(1) -w does not work with multibyte locales | &status.untested; | &a.tjr; | grep(1) -w generates wrong results with non-UTF-8 multibyte locales. &a.tjr; has committed a patch to -HEAD. See also gnu/91909. | ||
| Improve kbdmux | &status.untested; | &a.emax; | From the ideas page. 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. | ||
| umount -f panics | &status.untested; | &a.jeff;, &a.ssouhlal; | panics from race conditions. A patch from &a.jeff; seems to fix some of them. | ||
| quota deadlocks | &status.untested; | &a.jeff; | Quota support is not locked properly and causes deadlocks. A patch from &a.jeff; seems to fix some of them. | ||
| ifconfig regression on 6.x | &status.untested; | &a.yar; | 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 bin/94028. | ||
| SMP kernels for install | &status.untested; | &a.sam; | From the ideas page. 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. | ||
| dup(2) regression on 6.x | &status.untested; | &a.csjp; | 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. &a.csjp; has committed a fix for this. | ||
| cpu_ipi_selected() can cause a trap on FreeBSD/sparc64 | &status.untested; | &a.marius; | On sparc64, cpu_ipi_selected() can cause a trap (which is bad since it appears in the trap code path). | ||
| UFS deadlocks on amd64 | &status.untested; | &a.tegge; | Seen by &a.kris;. This problem seems MI. | ||
| UFS deadlocks | &status.untested; | &a.tegge; | Seen by Peter Jeremy. | ||
| panic in fxp driver | &status.untested; | &a.andre; | See http://people.freebsd.org/~pho/stress/log/cons186.html. | ||
| exec_map depletion | &status.untested; | &a.ups; | The exec_map is regularly running out of space on machines running 7.0. &a.ups; has a committed a patch that seems to fix this problem. | ||
| /dev/mem instability | &status.untested; | &a.marius;, &a.ups; | Instability when accessing /dev/mem. A fix was committed for i386. amd64 does not seem to have the problem. A sparc64 fix is still in progress. | ||
| deadlock in vn_start_write() consumers | &status.untested; | &a.tegge; | Many potential deadlocks have been fixed. |
The system is continuously being subjected to Peter Holm's Kernel Stress Test Suite. The following issues have recently been discovered from this test suite.
&stresstest;These are problems that range in severity for FreeBSD/sparc64. They will not hold up the release, but they will still be tracked for future releases.
| Issue | Status | Responsible | Description |
|---|---|---|---|
| sparc64 frequent hangs | &status.wip; | &a.marius; | Some of the more serious hangs on sparc64 have been fixed, but more remain. |
| serious sparc64 IPv6 panic | &status.wip; | &a.gnn; | 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". |
| swap panic on sparc64 | &status.unknown; | &a.kris; has panic info | &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). |
| KLDs on sparc64 | &status.new; | 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. | |
| Max RAM on sparc64 | &status.new; | Maximum RAM on sparc64 appears to be limited to 16Gb. |