bug list/alpha status
Wed Mar 14 10:05:36 EST 2001
What's the status of the alpha release? 2.0.10 (tenth alpha
revision) has been released. This one should now work for
most Linux kernels, at least of the 2.0.xx, 2.2.xx and 2.4.xx
varieties. (It probably will work on 2.1 and 2.3 kernels as
well, but may need some tweaking to compile.) This version
is entirely modular, with no kernel patches required!
2.0.11 (eleventh alpha revision) will improve the documentation.
This should be the last alpha release before the "final" 2.1
A temporary mail alias for alpha bug reports only has been
set up. Send bug reports on 2.0a only
For the bug reports to be useful, keep the following points in mind:
- Always make sure you have the latest version before reporting a bug.
The latest version now is: 2.0.10.
- Check whether the bug is already listed below. In that case,
only send a report if you have additional information to provide.
- In general, the more information you can provide on a bug, the
better. Good things: simple setup to reproduce bug, any kernel
messages (use dmesg to print). Better things: use ksymoops to
debug any kernel oops messages, or at least send any crash info+
symbol map. Best things: point out the area of the code with the flaw,
preferably with a fix...
- Don't expect a direct response unless I need more information or
can't verify the bug. If I can verify it, it will appear in the list
- New feature requests can also be sent, but of course these will
generally have a lower priority.
Current bug/feature request list
Here is a not-very-well-prioritized list of the current known
bugs/misfeatures/needed improvements for the NIST Net alpha
- Version 2.0a.1
- Port back 2.0 changes into 1.4 release to the extent possible.
After this, the two releases will have common base code (with some #ifdef
LINUX_VERSION_CODE stuff, of course), but of course different kernel
patch files. Again, I'm thinking of dropping the 1.4/2.0 nonsense
and calling them all 2.0, since the install scripts will now work on
either kernel version.
I've also dropped the 1.4/2.0 version nonsense.
- I need to update the 1.4alpha ones to work with the 2.0.38 kernel.
While I am at it, I should update these patches to be as close to the
current 2.0 patches as possible.
- Version 2.0a.2
- CoS lines got deleted from library routines! Add them back.
- Version 2.0a.3
- X interface - need to tab-chain the text input fields.
- X interface - possible memory leak needs investigating. This may
be a bogus complaint from dmalloc.
Status: Done (complaints were mostly bogus).
- X interface - gets confused when you make duplicate entries,
then remove one of the duplicates. Rather than report repeated
errors on stat, it should either remove the others, or silently
- X interface - need to be able to specify numeric-only entries,
so things don't get mixed up converting to names and back. A global
button would be easiest to implement, but per-entry buttons would be
Status: Done (with global button).
- Red Hat default font server setup isn't supporting one of the fonts
used (16 point Helvetica). Come up with an alternative.
Status: Done (switched to 14 point).
- TextField widget doesn't understand reverse video.
Status: Done (sort of; specified colors used).
- Conversion bug can blank out drop value display in xnistnet.
- Don't apply ntohs to protocol numbers!
- Version 2.0a.4
- Still some sort of display/conversion bug in X user interface
- Version 2.0a.5
- The clock code for 2.2 kernels is ok, but not perfect. This needs some
more investigation. With the emulator active, it seems to drift off
about 10 seconds per day. (Actually, it is about 1 minijiffy slow
per second, which leads me to suspect a systematic error on my part.)
Status: Done (I think), for sure in 2.0.7.
- Old demo addons (linmunge, nistspy) need more updating to work
effectively with new setup. In particular, need to fix things up
so they work with CONFIG_MODVERSIONS.
- Several reports of demo addons (linmunge, nistspy) not working with
some versions of Red Hat. This is the MODVERSIONS problem
- Port to Linux running on Alphas.
Status: "Light snacking" code done.
- Port to Linux running on Suns.
Status: "Light snacking" code done.
- The infamous overlapping fast_timer bug seems to have resurfaced.
Symptoms: under extraordinarily high loads, the patient dies! (Continuing
the medical analogies.)
- Version 2.0.6
- Red Hat must hate me. In particular, they don't include code
for other platforms in their kernel tree, so the Alpha and Sparc
patches fail. Separate them out from the others.
- Version 2.0.7
- 2.0 version should use more "principled" packet interception.
In general, try to make the whole thing modular, so no kernel
patching is required. For the fast timer, this can be done by
switching to the real time clock (RTC) rather than the i8254 timer.
Status: Done, half in 2.0a.5 and half in 2.0.7
- Problems with SMP systems in 2.2.xx - the SMP code uses the 8254
to calibrate the APIC clock, so we can't mess with the timer until
after the system boots. Also, there's a system hang the "unexpected"
timer interrupts can generate. This may be fixable by making them
Status: Changed to RTC clock, which is a better fix anyway.
- One problem with the RTC is its tendency to "stall," which makes
it lose interrupts. See how this can be improved.
Status: Fixed to use the (non-fast) i8254 to restart and
- New Linux timer queueing code uses a sort of deferred radix sort,
but has some peculiar ordering properties. The effect is that under
certain circumstances, packets will be reordered, even with fixed
delays. Change the sort to be stable under all circumstances.
- Port to 2.4.xx as well, now that it's out.
- Fix the install stuff to put the modules in a more standard place.
- Version 2.0.8
- A crucial line was missing from fast_sched.c! Fumble-fingered editing...
- Version 2.0.9
- Still didn't like the cleanup behavior in fast_sched.c, so fixed again.
- Linux 2.2.18 incorporated some 2.4 stuff, so adjust the version stuff.
- Speaking of versions, MODVERSIONS is a continuing pain, so just
"noversion" the exported interfaces for now. They'll never change
- Version 2.0.10
- Is there a statistical bug in 2.0??? New round of tests came out
sort of OK, but still with sigma elevated and rho depressed. (Sounds
like a medical show.)
- Stats are definitely off for very small values or very large
variances. This can be fixed by improving the table and making
the conversion routines a little better behaved.
- Missing these mask combinations: host:.prot to any and vice versa.
Might be nice to add.
- Lib doesn't parse igmp groups properly.
- Don't use getservbyport() on protocols other than tcp and udp.
Ideal would be to use the standard naming scheme for icmp and the
- Other protocols need fleshing out and testing. In particular,
ipip tunnels need to handle tunneled IP addresses.
- Do detailed investigation of all locking and interrupt level
handling. With certain Ethernet adapters, there are complaints
about things like transmitter access conflicts and frees on the
wrong hard irq, which the right games with flags might fix.
Status: Apparently fixed, though in "improper" fashion...
- Thorough cleanout of redundant and unused code. Reduce size
and improve performance. In particular, table lookup can be
speeded up considerably with just a little work.
Status: Done, mostly. Redid "fingers" for recently used table
entries, and removed the unused statistical "corrections" from the
code in the kernel.
- New widget updates are a little slow. Try to speed up.
Status: Partly fixed in 2.0.7, couldn't find much more worth doing.
- Give cnistnet/library code the ability to dump current settings.
- Planned for Version 2.0.11
- Documentation needs updating.
Status: Partly done in 2.0.7, rest planned for 2.0.11
- The "other architecture" code wasn't updated for 2.0.7.
See what can be done with it.
- Currently on hold
- Add a web interface to the emulation tool. Even a simple cgi
script that calls cnistnet would be better than nothing. I had
a primitive version of this long ago, but it hasn't been kept
up-to-date. More useful, of course, would be something like a
Java applet that could do continuous status updates.
Status: There is an old version of this somewhere. Try to resuscitate.
- Add hooks in the bridge code, to make a layer 2 network
Status: On hold
Comments? Questions? Let us know at
[Installing NIST Net]
[Using NIST Net]
[NIST Net FAQ]