The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] V6: 50 bugs tape
@ 2002-12-24  7:55 Wolfgang Helbig
  2002-12-26  9:34 ` Warren Toomey
  2002-12-27 20:58 ` Mirian Crzig Lennox
  0 siblings, 2 replies; 12+ messages in thread
From: Wolfgang Helbig @ 2002-12-24  7:55 UTC (permalink / raw)


Hi,

someone on this list mentioned a '50 bugs tape', which contains bug fixes
to Unix V6. Is this list somewhere in the archive?

Thank you,

Wolfgang 




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] V6: 50 bugs tape
  2002-12-24  7:55 [TUHS] V6: 50 bugs tape Wolfgang Helbig
@ 2002-12-26  9:34 ` Warren Toomey
  2002-12-27 19:47   ` Mirian Crzig Lennox
  2002-12-27 20:58 ` Mirian Crzig Lennox
  1 sibling, 1 reply; 12+ messages in thread
From: Warren Toomey @ 2002-12-26  9:34 UTC (permalink / raw)


In article by Wolfgang Helbig:
> Hi,
> someone on this list mentioned a '50 bugs tape', which contains bug fixes
> to Unix V6. Is this list somewhere in the archive?
> Thank you,
> Wolfgang 


The mythical `50 bugs' tape, described in Peter Salus' book `A Quarter
Century of UNIX' has been found lurking in the Unix Archive. You can
find it in PDP-11/Applications/Spencer_Tapes/unsw3.tar.gz as the file
usr/sys/v6unix/unix_changes.


	[ from the updates file at the top of the Unix Archive :-) ]

Warren



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] V6: 50 bugs tape
  2002-12-26  9:34 ` Warren Toomey
@ 2002-12-27 19:47   ` Mirian Crzig Lennox
  0 siblings, 0 replies; 12+ messages in thread
From: Mirian Crzig Lennox @ 2002-12-27 19:47 UTC (permalink / raw)


On Thu, 26 Dec 2002 19:34:23 +1000 (EST), Warren Toomey <wkt at minnie.tuhs.org> wrote:
>In article by Wolfgang Helbig:
>> Hi,
>> someone on this list mentioned a '50 bugs tape', which contains bug fixes
>> to Unix V6. Is this list somewhere in the archive?
>> Thank you,
>> Wolfgang 
>
>The mythical `50 bugs' tape, described in Peter Salus' book `A Quarter
>Century of UNIX' has been found lurking in the Unix Archive. You can
>find it in PDP-11/Applications/Spencer_Tapes/unsw3.tar.gz as the file
>usr/sys/v6unix/unix_changes.

Minor nitpick: it's actually in
Applications/Spencer_Tapes/unsw3.tar.gz (no PDP-11 at the beginning).

cheers,
--Mirian



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] V6: 50 bugs tape
  2002-12-24  7:55 [TUHS] V6: 50 bugs tape Wolfgang Helbig
  2002-12-26  9:34 ` Warren Toomey
@ 2002-12-27 20:58 ` Mirian Crzig Lennox
  2002-12-27 21:55   ` [TUHS] Re: Patches to improve 6th Edition Warren Toomey
  1 sibling, 1 reply; 12+ messages in thread
From: Mirian Crzig Lennox @ 2002-12-27 20:58 UTC (permalink / raw)


This reminds me that I fixed a couple of "bugs" (some outright bugs,
and some mere behaviours which I didn't quite like) in playing with my
V6/simh environment, and I'm wondering if there is a place I should
submit them in case others might be interested.  The bugs I've fixed
so far include:

    * Compensated for the ldiv bug in ctime().

    * Fixed date to allow setting the century in the year.

    * Changed df to read /etc/mtab, rather than use a hard-coded
      list of filesystems.

    * Mkfs wasn't always initialising the 'ino' variable properly,
      leading to inconsistent behaviour.  Initialised to zero.

    * Stopped the ps command printing garbage in the COMMAND field
      of process 0.


Some other modifications I've made which bring V6 more in line with
what a seasoned Unix hacker might wish for:

    * Changed the shell to allow "cd" as well as "chdir".

    * For the mount command, added a -f options for 'fake' mounts
      which update /etc/mtab without actually mounting a filesystem.
      (useful for putting the root filesystem in the mtab)

    * Implemented the inverse operation for the umount command.

    * Changed getty and login command to make the default "erase"
      character be octal 10 rather than hash mark.

    * Changed the stty command to additionally allow setting "erase"
      and "kill" characters by their octal codes.

If any of these would be considered interesting, I would be only too
happy to release patches.  I'll doubtless have more, as well, as I
press on.

My eventual goal is to come up with a 6th edition UNIX which is quite
usable, while still being recognisable as 6th edition.

cheers!
--Mirian



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
  2002-12-27 20:58 ` Mirian Crzig Lennox
@ 2002-12-27 21:55   ` Warren Toomey
  2002-12-28  2:43     ` Greg Haerr
  0 siblings, 1 reply; 12+ messages in thread
From: Warren Toomey @ 2002-12-27 21:55 UTC (permalink / raw)


In article by Mirian Crzig Lennox:
> This reminds me that I fixed a couple of "bugs" (some outright bugs,
> and some mere behaviours which I didn't quite like) in playing with my
> V6/simh environment, and I'm wondering if there is a place I should
> submit them in case others might be interested. [ .. ]
>
> If any of these would be considered interesting, I would be only too
> happy to release patches.  I'll doubtless have more, as well, as I
> press on.
> 
> My eventual goal is to come up with a 6th edition UNIX which is quite
> usable, while still being recognisable as 6th edition.
> --Mirian

Mirian, I'll definitely make a place somewhere in the Unix Archive
for your work. 

	Warren

P.S Does anybody want to backport vi to 6th & 7th Edition?! :-)



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
  2002-12-27 21:55   ` [TUHS] Re: Patches to improve 6th Edition Warren Toomey
@ 2002-12-28  2:43     ` Greg Haerr
  0 siblings, 0 replies; 12+ messages in thread
From: Greg Haerr @ 2002-12-28  2:43 UTC (permalink / raw)


> P.S Does anybody want to backport vi to 6th & 7th Edition?! :-)

Isn't the problem here that vi is quite a bit bigger than
64k I+D?  I can probably dig up some small subset
versions that I got running on the ELKS project (x86 Linux).

Regards,

Greg



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
@ 2003-01-08 13:42 Norman Wilson
  0 siblings, 0 replies; 12+ messages in thread
From: Norman Wilson @ 2003-01-08 13:42 UTC (permalink / raw)


A belated rejoinder to:

  This bug existed from (at least) the Fifth up until the Eighth
  editions from 1127 (BTL research). The Ninth edition had much
  rewrites in the kernel and the algorthim was changed at that point.

You're welcome.  I can't remember, though, whether I fixed it on
purpose or as part of the many general cleanups and restructurings
I did at that point.  And I didn't do enough of it; recently I
discovered a dumb problem that I probably introduced in the same
cleanups, wherein the i-node allocated for a file that couldn't be
created because the file system was full and the directory entry
couldn't be written was left allocated but nameless ...

Norman Wilson
Toronto ON



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
@ 2002-12-28 20:38 Wolfgang Helbig
  0 siblings, 0 replies; 12+ messages in thread
From: Wolfgang Helbig @ 2002-12-28 20:38 UTC (permalink / raw)


some hours ago I wrote:
>I ask this, because my system crashes ones in a while. But I changed it
>here and there, so it might be my fault.

It *was* my fault! So far, I have only found one bug in V6: The size
of swapmap and coremap are configured too small, so they might overflow.

The sizes don't take account of shared text segments, that produce
extra chunks of free memory. In V6 there are 19 pure executables, so their
minimal size should be (NPROC+19)*2, or better yet (NPROC+NTEXT)*2, where
NTEXT should be set to 20 instead of 40 as distributed in param.h .

I don't think this bug ever showed up. It is very unlikely. In V7 these
sizes are choosen to be even smaller than NPROC and even with its many pure 
executables, I don't think V7 ever crashed because of this bug.

So, with the only exception reported by Brian S. Walden, there seem to be
no bugs in V6 that crash systems.

Greetings

Wolfgang




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
@ 2002-12-28  8:33 Wolfgang Helbig
  0 siblings, 0 replies; 12+ messages in thread
From: Wolfgang Helbig @ 2002-12-28  8:33 UTC (permalink / raw)


>
>In article by Mirian Crzig Lennox:
>> This reminds me that I fixed a couple of "bugs" (some outright bugs,
>> and some mere behaviours which I didn't quite like) in playing with my
>> V6/simh environment, and I'm wondering if there is a place I should
>> submit them in case others might be interested. [ .. ]

Mirian, I'd love to see your fixes! By the way, you might want to
look at
	http://www.tuhs.org/Archive/PDP-11/Bug_Fixes/V6enb
for some changes I applied to V6.

Thanks to Warren and Mirian for helping me to undig the "50 bugs tape"! 
But the "bugs fixes" look more like performance enhancements. Do you know
any real bugs in V6? By "real" I mean a bug, that might crash the system.

I ask this, because my system crashes ones in a while. But I changed it
here and there, so it might be my fault.

Greetings,

Wolfgang

>
>P.S Does anybody want to backport vi to 6th & 7th Edition?! :-)

Hmm. It's less work to learn ed, so I took that path :-).





^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
@ 2002-12-28  7:07 Mike Haertel
  0 siblings, 0 replies; 12+ messages in thread
From: Mike Haertel @ 2002-12-28  7:07 UTC (permalink / raw)


In article by Warren Toomey:
> P.S. Does anybody want to backport vi to 6th and 7th Edition?! :-)

The 2BSD tape contains vi source code that can *definitely* be built
on 7th edition (I've done it, it was easy) and supposedly can also
be used to build a 6th-edition "native" vi if you're willing to
backport the V7 C compiler (I haven't done that yet).

Since many people in 2BSD's time frame would not have had access
to V7 systems or V7-ish C compilers, the 2BSD tape also contains a
vi binary for V6 systems.

I think 2BSD was released around the same time as V7, and had an
assumption that many people would not yet have access to V7, and
so would want to use 2BSD as an add-on to V6 systems.

Since 6th edition didn't have environment variables, the 2BSD/V6
version of vi would get the terminal type from a file that mapped
hardwired serial lines to terminal type names.  I think it was
called /etc/htmp.

By the way, does anybody else think that vi should have been upgraded
to vii when V7 came out? :-)



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
@ 2002-12-28  5:19 Brian S Walden
  0 siblings, 0 replies; 12+ messages in thread
From: Brian S Walden @ 2002-12-28  5:19 UTC (permalink / raw)


Yes there are other bugs you will want to fix as well
if you are using v6 heavily and not on slow hardware
(e.g. a simulator).  In the inode allocation route
(ialloc()) in /usr/sys/ken/alloc.c there is a bug in
the placement of the loop: tag.  You just have to move
it up two line to above the while() loop. See the diff below.
This rare Ken Thompson bug was found in 1988 on an Amdahl UTS machine
that the hardware finally became fast enough that it caused us panics.
This bug existed from (at least) the Fifth up until the Eighth
editions from 1127 (BTL research). The Ninth edition had much
rewrites in the kernel and the algorthim was changed at that point.
Since it was in UTS, it must have been in the porting base of
System V Release 2. This code is the basis for the System V
filesystem, so it probably didn't exist in BSD releases
since they used their fast filesystem (cylinder groups, et al.)
which became UFS. It's amazing thet with the amount of eyes on it
(via Lions Commentary, etc.) it was not spotted earlier.

It would be good to get a collection of all "unreleased" bug fixes
that others may have.


*** alloc.c.orig        Fri Dec 27 23:23:30 2002
--- alloc.c     Fri Dec 27 23:23:30 2002
***************
*** 163,171 ****
        int i, j, k, ino;
  
        fp = getfs(dev);
        while(fp->s_ilock)
                sleep(&fp->s_ilock, PINOD);
- loop:
        if(fp->s_ninode > 0) {
                ino = fp->s_inode[--fp->s_ninode];
                ip = iget(dev, ino);
--- 163,171 ----
        int i, j, k, ino;
  
        fp = getfs(dev);
+ loop:
        while(fp->s_ilock)
                sleep(&fp->s_ilock, PINOD);
        if(fp->s_ninode > 0) {
                ino = fp->s_inode[--fp->s_ninode];
                ip = iget(dev, ino);


In article by Mirian Crzig Lennox:
> This reminds me that I fixed a couple of "bugs" (some outright bugs,
> and some mere behaviours which I didn't quite like) in playing with my
> V6/simh environment, and I'm wondering if there is a place I should
> submit them in case others might be interested.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Re: Patches to improve 6th Edition
@ 2002-12-28  2:58 John Holden
  0 siblings, 0 replies; 12+ messages in thread
From: John Holden @ 2002-12-28  2:58 UTC (permalink / raw)


> P.S Does anybody want to backport vi to 6th & 7th Edition?! :-)

'vi' definately works with I+D space under edition 7 (11/44/45/50/53/55/70/73)
There was also an overlayed version for I space only under BSD 2.?, but it was
sooooo slow as to be almost useless



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-01-08 13:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-24  7:55 [TUHS] V6: 50 bugs tape Wolfgang Helbig
2002-12-26  9:34 ` Warren Toomey
2002-12-27 19:47   ` Mirian Crzig Lennox
2002-12-27 20:58 ` Mirian Crzig Lennox
2002-12-27 21:55   ` [TUHS] Re: Patches to improve 6th Edition Warren Toomey
2002-12-28  2:43     ` Greg Haerr
2002-12-28  2:58 John Holden
2002-12-28  5:19 Brian S Walden
2002-12-28  7:07 Mike Haertel
2002-12-28  8:33 Wolfgang Helbig
2002-12-28 20:38 Wolfgang Helbig
2003-01-08 13:42 Norman Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).