1 Problem with recent ANSI compilers
3 On some systems, including AIX, the compiler quits on the ntp_refclock.c
4 file when processing the refclock_report() routine. The problem, which
5 is eithre a feature or a bug, has to do with an unwanted promotion of
6 the u_char argument to an int and a failure of the compiler to recognize
7 the preceding prototype. A workaround is to use ANSI syntax to delare
8 the arguments. Since ANSI compilers are not universally available, this
9 syntax can't be used in the stock distribution.
11 (Message # 60: 2884 bytes, New)
12 Date: Sat, 19 Aug 1995 13:20:50 -0400
13 From: "R. Bernstein" <rocky@panix.com>
14 Newsgroups: comp.protocols.time.ntp
16 return-receipt-to: rocky@panix.com
17 Subject: time and AIX 3.2.5 raw tty bug
19 This posting isn't strictly about NTP, any program that may stop the
20 clock or set the clock backwards is subject to the AIX 3.2.5 bug.
22 On AIX 3.2.5, there is a bug in the tty driver for a raw device which
23 may crash the box under certain conditions: basically a read() on a
24 raw tty in effect, a character was read but not as many as specified
25 by VMIN when a read timeout occurred. VTIME specifies the timeout. See
26 the AIX manual page on termios.h or that include file. for Information
27 on VMIN (or MIN) VTIME (or TIME).
29 A remedy other than to not use raw tty's is to apply patch U435110.
31 Details of the problem report follow.
34 > IX43779: TRAP IN PSX_TIMEO
36 > ORIGINATING DETAILS:
38 > IAR: 01460214 posixdd:psx_timeo + 8bf4: ti 4,r12,0x0
39 > *LR: 014601a0 posixdd:psx_timeo + 8b80
40 > 00212c60: 014604f4 posixdd:psx_timer + 8ed4
41 > 00212cc0: 0144b74c ttydd:tty_do_offlevel + 4284
42 > 00212d20: 000216fc .i_offlevel + 8c
43 > 00212d70: 00021d78 .i_softint + c8
44 > 00001004: 00008714 .finish_interrupt + 80
47 > AIX asserted in psx_timeo(). Reason for the assert was that
48 > the current time was behind psx_ctime. Since this state
49 > can occur when the current time is changed after a character
50 > is received but before the VTIME interbyte timer pops, we
51 > should not assert on this.
53 > RESPONDER CONCLUSION:
54 > Removed the requirement that current time > psx_ctime by
55 > adding a new L_ntimersub macro that is used instead of the
56 > ntimersub macro in time.h. Also added a test for (current
57 > time - psx_ctime) being negative, in that case we do not
58 > adjust the new timeout.
60 > Reported to Correct a PTF in Error: NO
61 > Reported as a Highly pervasive problem: NO
64 > Hiper Apar?: NoHiper
66 > Component Name: AIX V3 FOR RS/6
68 > Component ID: 575603001
73 > APAR FIXED BY: U431696 U432151 U432844 U432870 U432979
74 > U433049 U433081 U433459 U433876 U433906 U434598 U434453
75 > U434672 U434737 U435110