[comp.unix.aix] Reproducible modem bug in 3005 and 2006

chip@tct.com (Chip Salzenberg) (06/17/91)

According to jfh@rpp386.cactus.org (John F Haugh II):
>It sounds to me like the TTY device driver is letting the open succeed
>if a character is present, or else the modem is doing strange things
>with the signals.

Actually, I've managed to reproduce a serious and basic bug in getty.
Try this on a system at 3005 or 2006:

 1. Set up a line in "share" mode (getty -u).
 2. Start a UUCP dialout on that line.
 3. Kill the uucico before it makes a connection.

You will see that getty locks the port and never lets go.

This problem is apparently a result of getty's not taking care to turn
off CLOCAL before making the possibly blocking open() call.

This problem would be less harmful if getty would give up when it sees
no response for, say, five minutes.

I gave up trying to get satisfaction from defect support on this bug,
and have resorted to writing my own uugetty.  I plan to post source
code for my uugetty as soon as I get permission from higher-ups.
-- 
Chip Salzenberg at Teltronics/TCT     <chip@tct.com>, <uunet!pdn!tct!chip>
 "You can call Usenet a democracy if you want to.  You can call it a
  totalitarian dictatorship run by space aliens and the ghost of Elvis.
  It doesn't matter either way."  -- Dave Mack

pa@curly.appmag.com (Pierre Asselin) (06/19/91)

In article <285CDF31.4D3C@tct.com> chip@tct.com (Chip Salzenberg) writes:

>...This problem is apparently a result of getty's not taking care to
>turn off CLOCAL before making the possibly blocking open() call.

That would explain why one morning I found my modem and workstation
furiously chatting away.  If I believe the LEDs, the modem was on hook
and Carried Detect was false.

>...I plan to post source code for my uugetty as soon as I get
>permission from higher-ups.

How do you circumvent the ODM?
-- 

--Pierre Asselin, R&D, Applied Magnetics.  I speak for me.

rbraun@spdcc.COM (Rich Braun) (06/19/91)

chip@tct.com (Chip Salzenberg) writes:
>>...This problem is apparently a result of getty's not taking care to
>>turn off CLOCAL before making the possibly blocking open() call.

pa@curly.appmag.com writes:
>That would explain why one morning I found my modem and workstation
>furiously chatting away.  If I believe the LEDs, the modem was on hook
>and Carried Detect was false.

Thank you both for helping me prove the very *existence* of this
problem.  My point on this has only been that getty grabs the /etc/locks
file and doesn't ever let it go, even if no one logs into the line
for days.  It should relinquish the lock if no one logs in during a
reasonable time period.

-rich

chip@tct.com (Chip Salzenberg) (06/20/91)

According to pa@curly.appmag.com:
>In article <285CDF31.4D3C@tct.com> chip@tct.com (Chip Salzenberg) writes:
>>...I plan to post source code for my uugetty as soon as I get
>>permission from higher-ups.
>
>How do you circumvent the ODM?

Ignore it.  :-)

Seriously: manually edit /etc/inittab to say "/etc/uugetty" instead of
"/etc/getty" for the given ports.  The pshare/pdisable/etc. commands
still work, ignoring the difference in pathname.
-- 
Chip Salzenberg at Teltronics/TCT     <chip@tct.com>, <uunet!pdn!tct!chip>
 "You can call Usenet a democracy if you want to.  You can call it a
  totalitarian dictatorship run by space aliens and the ghost of Elvis.
  It doesn't matter either way."  -- Dave Mack

tim@sabus.UUCP (Tim Brown) (06/21/91)

In article <285FC8C4.1CAF@tct.com>, chip@tct.com (Chip Salzenberg) writes:
> According to pa@curly.appmag.com:
> >In article <285CDF31.4D3C@tct.com> chip@tct.com (Chip Salzenberg) writes:
> >>...I plan to post source code for my uugetty as soon as I get
> >>permission from higher-ups.
> >
> >How do you circumvent the ODM?
> 
> Ignore it.  :-)
> 
> Seriously: manually edit /etc/inittab to say "/etc/uugetty" instead of
> "/etc/getty" for the given ports.  The pshare/pdisable/etc. commands
> still work, ignoring the difference in pathname.
> -- 
> Chip Salzenberg at Teltronics/TCT     <chip@tct.com>, <uunet!pdn!tct!chip>


Everytime you reboot, AIX will replace uugetty with getty.  I would
simply remove getty, (it is a link to tsm and login anyway) and rename
uugetty to /etc/getty.

chip@tct.com (Chip Salzenberg) (06/24/91)

According to tim@sabus.UUCP (Tim Brown):
>In article <285FC8C4.1CAF@tct.com>, chip@tct.com (Chip Salzenberg) writes:
>> Seriously: manually edit /etc/inittab to say "/etc/uugetty" instead of
>> "/etc/getty" for the given ports.  The pshare/pdisable/etc. commands
>> still work, ignoring the difference in pathname.
>
>Everytime you reboot, AIX will replace uugetty with getty.

Not so.
-- 
Chip Salzenberg at Teltronics/TCT     <chip@tct.com>, <uunet!pdn!tct!chip>
 "You can call Usenet a democracy if you want to.  You can call it a
  totalitarian dictatorship run by space aliens and the ghost of Elvis.
  It doesn't matter either way."  -- Dave Mack

jfh@rpp386.cactus.org (John F Haugh II) (06/24/91)

In article <146@sabus.UUCP> tim@sabus.UUCP (Tim Brown) writes:
>Everytime you reboot, AIX will replace uugetty with getty.  I would
>simply remove getty, (it is a link to tsm and login anyway) and rename
>uugetty to /etc/getty.

Make sure you update the database that SYSCK has stashed away to
reflect this change, otherwise you risk having your change undone
the next time you update or have SYSCK fondle your filesystems.
-- 
John F. Haugh II        | Distribution to  | UUCP: ...!cs.utexas.edu!rpp386!jfh
Ma Bell: (512) 255-8251 | GEnie PROHIBITED :-) |  Domain: jfh@rpp386.cactus.org
"UNIX signals are not interrupts.  Worse, SIGCHLD/SIGCLD is not even a UNIX
 signal, it's an abomination."  -- Doug Gwyn