aix revision 258945
190075SobrienProblem with recent ANSI compilers 290075Sobrien 390075SobrienOn some systems, including AIX, the compiler quits on the ntp_refclock.c 490075Sobrienfile when processing the refclock_report() routine. The problem, which 590075Sobrienis eithre a feature or a bug, has to do with an unwanted promotion of 690075Sobrienthe u_char argument to an int and a failure of the compiler to recognize 790075Sobrienthe preceding prototype. A workaround is to use ANSI syntax to delare 890075Sobrienthe arguments. Since ANSI compilers are not universally available, this 9119256Skansyntax can't be used in the stock distribution. 10119256Skan 1190075Sobrien(Message # 60: 2884 bytes, New) 1290075SobrienDate: Sat, 19 Aug 1995 13:20:50 -0400 13119256SkanFrom: "R. Bernstein" <rocky@panix.com> 14119256SkanNewsgroups: comp.protocols.time.ntp 1590075Sobriento: mills@udel.edu 1690075Sobrienreturn-receipt-to: rocky@panix.com 17117395SkanSubject: time and AIX 3.2.5 raw tty bug 1890075Sobrien 1990075SobrienThis posting isn't strictly about NTP, any program that may stop the 20119256Skanclock or set the clock backwards is subject to the AIX 3.2.5 bug. 2190075Sobrien 2290075SobrienOn AIX 3.2.5, there is a bug in the tty driver for a raw device which 2390075Sobrienmay crash the box under certain conditions: basically a read() on a 2490075Sobrienraw tty in effect, a character was read but not as many as specified 25119256Skanby VMIN when a read timeout occurred. VTIME specifies the timeout. See 2690075Sobrienthe AIX manual page on termios.h or that include file. for Information 2790075Sobrienon VMIN (or MIN) VTIME (or TIME). 2890075Sobrien 29119256SkanA remedy other than to not use raw tty's is to apply patch U435110. 3090075Sobrien 3190075SobrienDetails of the problem report follow. 3290075Sobrien 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