Annotation of embedaddon/ntp/html/hints/aix, revision 1.1.1.1
1.1 misho 1: Problem with recent ANSI compilers
2:
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.
10:
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
15: to: mills@udel.edu
16: return-receipt-to: rocky@panix.com
17: Subject: time and AIX 3.2.5 raw tty bug
18:
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.
21:
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).
28:
29: A remedy other than to not use raw tty's is to apply patch U435110.
30:
31: Details of the problem report follow.
32:
33: > ABSTRACT:
34: > IX43779: TRAP IN PSX_TIMEO
35: >
36: > ORIGINATING DETAILS:
37: > Stacktrace shows:
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
45: >
46: > RESPONDER SUMMARY:
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.
52: >
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.
59: >
60: > Reported to Correct a PTF in Error: NO
61: > Reported as a Highly pervasive problem: NO
62: >
63: > PE Apar?: NoPE
64: > Hiper Apar?: NoHiper
65: > Status: CLOSED PER
66: > Component Name: AIX V3 FOR RS/6
67: > Version: 320
68: > Component ID: 575603001
69: > Submitted: 94/05/03
70: > Closed: 94/05/05
71: > ChangeTeam: TX2527
72: >
73: > APAR FIXED BY: U431696 U432151 U432844 U432870 U432979
74: > U433049 U433081 U433459 U433876 U433906 U434598 U434453
75: > U434672 U434737 U435110
76:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>