xref: /freebsd/contrib/ntp/html/hints/aix (revision 02e9120893770924227138ba49df1edb3896112a)
1Problem with recent ANSI compilers
2
3On some systems, including AIX, the compiler quits on the ntp_refclock.c
4file when processing the refclock_report() routine. The problem, which
5is eithre a feature or a bug, has to do with an unwanted promotion of
6the u_char argument to an int and a failure of the compiler to recognize
7the preceding prototype. A workaround is to use ANSI syntax to delare
8the arguments. Since ANSI compilers are not universally available, this
9syntax can't be used in the stock distribution.
10
11(Message # 60: 2884 bytes, New)
12Date: Sat, 19 Aug 1995 13:20:50 -0400
13From: "R. Bernstein" <rocky@panix.com>
14Newsgroups: comp.protocols.time.ntp
15to: mills@udel.edu
16return-receipt-to: rocky@panix.com
17Subject: time and AIX 3.2.5 raw tty bug
18
19This posting isn't strictly about NTP, any program that may stop the
20clock or set the clock backwards is subject to the AIX 3.2.5 bug.
21
22On AIX 3.2.5, there is a bug in the tty driver for a raw device which
23may crash the box under certain conditions: basically a read() on a
24raw tty in effect, a character was read but not as many as specified
25by VMIN when a read timeout occurred. VTIME specifies the timeout. See
26the AIX manual page on termios.h or that include file. for Information
27on VMIN (or MIN) VTIME (or TIME).
28
29A remedy other than to not use raw tty's is to apply patch U435110.
30
31Details 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
77