Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!husc6!think!ames!ptsfa!ihnp4!upba!qetzal!root
From: root@qetzal.UUCP (Admin)
Newsgroups: comp.unix.xenix
Subject: Microport Users' Group Bug List (LONG)
Message-ID: <166@qetzal.UUCP>
Date: Wed, 22-Jul-87 02:05:23 EDT
Article-I.D.: qetzal.166
Posted: Wed Jul 22 02:05:23 1987
Date-Received: Sat, 25-Jul-87 02:09:12 EDT
Organization: Graphics Information, Inc., Denver, CO.
Lines: 128
Keywords: wow! hey neat!


Here is the list of bugs which have been submitted thus
far. They are not in a format suitable for Microport yet,
and must be placed on the forms. Please feel free to 
elaborate. Send any bugs to isis!qetzal!uportlist or
ihnp4!upba!qetzal!uportlist. Bugs already documented by
Microport, unless extremely obnoxious, are omitted from
this list.

1. dd(1) and mail(1) need to be recompiled with a unsigned long
data length so that they don't say wrong things.  (5 minute fixes).

2. csh(1) needs to have variables exported properly.  This would
fix several broken programs that require these variables like newgrp(1).

3. malloc(3) and malloc(3X) produce different results sometimes ending
in a core dump (segmentation violation).  Working code usig malloc(3) 
will fail to run when compiled identically with malloc(3X).  This is a
'286 architechure problem with sbrk(2) that Microport knows about and
hates.

4. TSS and double fault panics for seemingly no good reason.  No OS
should "just crash". Problem still occurrs in 2.2.2.

5. fdisk(1) has some undocumented features like destroying bad sector
information when changing partitions.  Why does Microport need to use a
different means of bad sector forwarding that does the rest of the DOS/
Xenix world?  Fdisk(1) should never destroy bad sector information even 
when the active partion or any other partition boundry is changed.

6. Shell layering is necessary for people on terminals to do efficient
development.  It was promised in advertising in 8/86 and is still in the
to-be-in-the-next-release category.

7. Release of source code for attaching shared memory as the code so far
in packaged form is extremely lacking.  (Both shmcreate and shmvidkey 
were buggy and not efficient calls from within C.)

8. Console keys can give too many characters to vi(1).  This is a SVr2
bug in vi(1) that uses the alarm call.  It could be fixed.  Also, vi(1)
has a bug in which it will enter ex(1) mode after fast keystrokes (like "yy")
even on terminals.

9. Problems with SIO crashes. This is problem #1 for us right now.
The system will drop characters at any baud rate over 300, and it doesn't
take a lot of coaxing to make it occur (just some load on the serial
ports). Also, the system panics in the driver, routine 'rmsd').

Compiler problems -- specifically:

10. Passing (char *) NULL to a function in a large model program can cause
a core dump/program abort. This makes some programs, which work under
small model, fail under large for no apparent reason. Symptom is that
the dump occurs between the function call and the first executable
instruction in the function itself (usually a Mem fault or Segv)
This blows up a LOT of things, including printf("%s", (char *) NULL)
(or equivalent). Since you quite often are in this situation when you
are reading/writing files in the standard I/O system, you have to code
around the possibility (ie: test first before allowing it to be
called). Not nice! One problem with this in particular is that it is
not consistant -- at least not in terms of what must precede it to
cause a fault. Sometimes it works, sometimes not (more often not).

11. You cannot use an array of pointers to point to >64K of data. This is
a very significant irritant.

12. Varargs problems (dumps core on statements using this capability).
This may be the same problem as (a), in that the unused arguments are
not declared and could default to anything.

13. Potential memory allocation problems -- occasionally a well-behaved
program, ESPECIALLY if using Microports' 'improved' malloc library,
will core dump for no apparent reason. Investigation with 'sdb' shows
that a malloc dumped it, or sometimes a function call will pass junk
instead of the values (instant dump if there's a pointer being passed!)

14. Uucp problems -- these have been acknowledged (jmsully@microp), and they 
have told me that HoneyDanber will be an installable option on release
2.3. This might fix the uucp problem entirely. What I get now is an
inordinate number of failed calls, lost packets, etc. Probably at
least mildly related to problem (9). Also, core dumps in -x1-9 modes
(probably related to one or more of the compiler problems).

15. Providing what you say you will. Specically, we received the dialer
upgrade some months ago. The documentation specifically mentions two
programs that are not included in the 'upgrade', and this was a PD
package! We've also had things 'left out' or 'not included' when we order
upgrades, stuff that ANYONE doing development would need -- like a link
kit. Then, of course, they want to charge you (again) to complete your 
order...Along this line is the revelation of problems like the serial
panics when asked -- their sales staff has been less than truthful about
this stuff with us in the past. If it simply is a case of 'I don't know',
then they need more education and/or a current bug list on their desks.

16. 2.2.2's wall is broken. No idea how that happened, but 'wall' now gives a
complaint and exits (Bus error - core dumped).

17. Along the same line, so is 'ps' with no arguments (produces nothing,
should show your processes.) 'ps' with arguments works fine. New problem
with 2.2.2.

18. Sdb will sometimes complain "can't allocate memory for symbol table; Goodbye"
Seems as though this is related to the garbaged memory allocation and/or
the (char *) NULL problem, as those traps always seem to produce these
failures of sdb to read the file. (Note: we have 4.5M of memory here,
there is NO reason why SDB cannot get enough core to debug a 250K
executable file!) Happens on large model programs only.

19. File systems larger than 300,000 blocks get trashed repeatedly.
    [Need more info - ed.]

20. The version of easyinstall for 2.2.2 is broken. The shell script
    crashes after the second question.

21. The documentation is extremely inadequate when attempting to
    install a secondary hard disk. I've destroyed the partition
    table on my PRIMARY hard disk numerous times.

22. The requirements for adding additional memory cards to the
    system needs to be stated. NMI errors occur if the wrong types
    of cards are used.

23. Many if not all shell scripts distributed do not include a ':'
    character at the beginning. This means that the user must edit
    each shell script when it is distributed so that it will run
    under csh.

----------------------------------------------------------------------