Bugs in 4.0A / 4.0B

From: Joerg Czeranski <jc_at_joerch.org>
Date: Thu, 12 Jun 1997 01:57:55 +0200 (MET DST)

-----BEGIN PGP SIGNED MESSAGE-----

Hi,

I'm using Digital Unix 4.0A since november '97 and have made a list
of the bugs I have found.

All of the bugs are present in 4.0B too. I haven't checked the existing
patches though, because I'm still running 4.0A on my own box.

Some of them exist in 3.2C too, but not all.

This might not be the most appropriate forum to send the list to, but
I hope it will be of some use to the readers.

If anyone can tell me where I should send it so Dec can fix the bugs in
later releases, I'd grateful to hear about it.

sincerely,
Joerg Czeranski

================================== cut here ============================
_at_(#)bugs 1.26 6/12/97

OSF1 trillian V3.2 148 alpha
OSF1 eressea V4.0 464 alpha
OSF1 arthur V4.0 564 alpha

===== ===== =====

Not present in 3.2C:

++ #1 ++

% mkdir a a/b
% chmod -w a/b
% rm -fr a
rm: internal synchronization error caused by multiple rm calls may result in incomplete removal of the directory and its contents

Note: rm succeeds, but gives that strange warning message

++ #2 ++

% echo *.?
..

Note: *.? matches dot-files in csh

++ #3 ++

% echo '*' /*
/#.mrg...login /#.mrg..DXsession /DXsession [...] /tmp /usr /var /vmunix

Note: '*' is ignored by csh

++ #4 ++

% touch a.c b.c; chmod -w a.c b.c; cflow a.c b.c
cp: /usr/tmp/cf.4145.c: Permission denied

Note: cflow fails for non-writable source files
      (e.g. source files managed with SCCS)

++ #5 ++

% vi
/^H

Note: Doesn't end search mode but searches with the last pattern

++ #6 ++

% echo 'int f() { int a; return *sizeof a; }' > x.c
% cc x.c
cc: Error: x.c, line 1: In this statement, "sizeofa" has an unsigned long type,
but occurs in a context that requires a pointer.
int f() { int a; return *sizeof a; }
- ------------------------^

Note: The compiler misspells the expression

++ #7 ++

% echo 'int f(int(*g)()) { return g(); }' > x.c
% cc -warnprotos -std1 -c x.c

Note: The compiler does not warn that g() is called without a visible prototype

++ #8 ++

% tic -c
usage: tic [-v[number]] [file...]

Note: The man page says: tic [-v[number]] [-c] [file...]

++ #9 ++

% ps wwe$$

Note: ps outputs lots of garbage after the environment data

++ #10 ++

% sccs diffs -r1.1 file

Note: sccs doesn't do anything at all (-r 1.1 works)

++ #11 ++

% cat << EOF > x.c
#include <curses.h>
main()
{
  initscr();
  mvaddstr(LINES - 1, 0, "\xf6...\r");
  refresh();
  sleep(1);
  delch();
  refresh();
  sleep(1);
  endwin();
  return 0;
}
EOF
% cc x.c -lcurses
% env TERM=xterm ./a.out
[...]

Note: delch() doesn't only delete the first character, it clears the whole line

===== ===== =====

Present in 3.2C:

++ #12 ++

% rsh remote "mkdir a; touch a/b; chmod -w a"
% rcp -rp remote:a .
rcp: ./a/b: Permission denied

Note: rcp fails with read-only directories and -p, cp -p works

++ #13 ++

% echo 'a;' | grep -w a.
a;

Note: grep(1) says that -w should only match words (strings of
      alphanumeric characters)

++ #14 ++

% sccs unedit a b
Temporary file a is removed.

sccs: Cannot create .

Note: sccs does not unedit b or reget a

++ #15 ++

% cat << EOF > x.c
#include <sys/types.h>
u_long f(void) {}
EOF
% cflow x.c
1 f: (void) unsigned longunsigned long long, <x.c 2>

Note: cflow is by the return type u_long

++ #16 ++

% man memmove
[...]
  Consequently, this operation is nondestructive and proceeds from
  left to right.
[...]

Note: This is confusing, shouldn't the processing direction depend
      on the overlapping? (The implementation works)

++ #17 ++

% unsetenv DISPLAY
% cc -edit1 -c x.c
cc: Warning: -edit1 ignored for background compile in non-X environment
% cc -edit1 -c x.c &
[1] 848
%
[1] + Suspended (tty output)cc -edit1 -c x.c

Note: cc -edit1 confuses foreground and background

++ #18 ++

% man sed
[...]
  ()b[label]
[...]
% sed -e 2,3b -e d << EOF > file
a
b
c
d
EOF
% sed -e 2,3b -e d file
b
c

Note: The man page implies that b can't be used with addresses, but the
      implementation allows it

++ #19 ++

% man logger
[...]
  /usr/bin/logger [-f file] [-i] [-p priority] [-t tag] [message...]
[...]
  -p priority[.facility]
[...]
% logger -p err.user test
logger: unknown facility name: err

Note: The man page gives the wrong order for priority and facility

++ #20 ++

% cat << EOF > x.c
#include <curses.h>
main()
{
  initscr();
  mvaddstr(LINES - 1, 0, "abcdefghijklmnopqrstuvwxyz\r");
  refresh();
  sleep(1);
  delch();
  refresh();
  sleep(1);
  endwin();
  return 0;
}
EOF
% cc x.c -lcurses
% env TERM=xterm ./a.out
[...]
% sed -n 182p /usr/share/lib/terminfo/xterm.ti
        il1=\E[L, dl1=\E[M, ich1=\E[_at_, dch1=\E[P,
        MT, smkx=\E[?1h, rmkx=\E[?1l, xenl,
        il=\E[%p1%dL, dl1=\E[%p2%dM, ich=\E[%p1%d_at_, dch=\E[%p2%dP,

Note: dch uses %p2 with only one positional parameter and draws garbage,
      dl1 is defined twice, the second definition has the %p2 bug too

===== ===== =====

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i

iQCVAwUBM587TUE0QZRle8qtAQF8fwQAw0c+TBeB8QMnC9/v995gFid8IyXkNAmL
x5SMMUVVLBh2KLLGiE4qoiwbeuAJSNUlKlpe82en5LJlrQi1i7QslIeqjxH2VjTW
FBz//+W2hMkdOEdfSJXlAr4wFCBZ9rRxPiyUiUtDru+ttNjybnCrzSU/co95MgLx
aSJ379QbaC0=
=SHG1
-----END PGP SIGNATURE-----
Received on Thu Jun 12 1997 - 02:04:58 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:36 NZDT