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