getty_ps BUG?! no active process has lock, will remove

getty_ps BUG?! no active process has lock, will remove

Post by Keith Nels » Wed, 20 Jul 1994 22:43:52



   I have been trying to get uugetty_ps accepting incoming calls,
but after a caller connects, they are logged off immediatly by
uugetty* up the line. I turned on DEBUG=777 and
discovered uugetty was making the lock file for the line under
one process id, then somehow changing (respawning?) to a new
process id, failing to recognise its own lockfile and then
initializing the line again (hence logging off the poor
person dialing in).

"highlights" from DEBUG=777 output:

        A user has just dialed in, uugetty locks the line
as process id 538, all is well:

...
Jul 19 22:24:39 magrathea uugetty[538]: D_RUN: locking the line
Jul 19 22:24:39 magrathea uugetty[538]: D_LOCK: makelock(/usr/spool/uucp/LCK..ttyS1) called
Jul 19 22:24:39 magrathea uugetty[538]: D_LOCK: temp = (/usr/spool/uucp/LCK..TM.a00538)
Jul 19 22:24:39 magrathea uugetty[538]: D_LOCK: lock made
...

        The MYSTERY bit, uugetty suddenly decides to change
process id's from 538 to 736 and start itself again ?

...
Jul 19 22:25:03 magrathea uugetty[538]: D_RUN: signal set: funcs.c:495
Jul 19 22:25:03 magrathea uugetty[538]: D_RUN: alarm set: funcs.c:496
Jul 19 22:25:19 magrathea uugetty[736]: uugetty version 2.0.7d started at Tue Jul 19 22:
25:19 1994
Jul 19 22:25:19 magrathea uugetty[736]: D_DEF: defvalue(SYSTEM) called
Jul 19 22:25:19 magrathea uugetty[736]: D_DEF: defvalue returns NULL
...

        Now when uugetty checks the lock files, process 538
does not exist:

...
Jul 19 22:25:22 magrathea uugetty[736]: D_RUN: checking for lockfiles...
Jul 19 22:25:22 magrathea uugetty[736]: D_LOCK: checklock(/usr/spool/uucp/LCK..ttyS1) called
Jul 19 22:25:22 magrathea uugetty[736]: D_LOCK: read 538 from the lockfile
Jul 19 22:25:22 magrathea uugetty[736]: D_LOCK: no active process has lock, will remove
...

        I am using  slackware 1.2.0 and getty_ps 2.0.7e, but
2.0.7d exhibits the same problem. Very rarly it will actually
actually work, and then it works great.

        I guess the heart of the problem is why does
uugetty suddenly change process id's half way through a
dial in connection ? Is there a way to force it to remain
at one process id ?

Any help or ideas would be GREATLY appreciated as this
problem has been taunting me for some time.

Keith.

 
 
 

1. getty_ps BUG?! no active process has lock, will remove

   I have been trying to get uugetty_ps accepting incoming calls,
but after a caller connects, they are logged off immediatly by
uugetty hanging up the line. I turned on DEBUG=777 and
discovered uugetty was making the lock file for the line under
one process id, then somehow changing (respawning?) to a new
process id, failing to recognise its own lockfile and then
initializing the line again (hence logging off the poor
person dialing in).

  I am using  slackware 1.2.0 and getty_ps 2.0.7e, but
2.0.7d exhibits the same problem. Very rarly it will actually
actually work, and then it works great.

  While compiling the 2.0.7e source, the following warning
messages appear:

gcc -O2 -Wall -fpcc-struct-return   -c funcs.c -o funcs.o
funcs.c: In function `expect':
funcs.c:456: warning: variable `expfail' may be clobbered by `longjmp' or `vfork'
funcs.c:457: warning: variable `retval' may be clobbered by `longjmp' or `vfork'
funcs.c:459: warning: variable `oldalarm' may be clobbered by `longjmp' or `vfork'

   Each of these variables are register, could it be that
this is the cause the above mentioned behavior ?

"highlights" from DEBUG=777 output:

        A user has just dialed in, uugetty locks the line
as process id 538, all is well:

...
Jul 19 22:24:39 magrathea uugetty[538]: D_RUN: locking the line
Jul 19 22:24:39 magrathea uugetty[538]: D_LOCK: makelock(/usr/spool/uucp/LCK..ttyS1) called
Jul 19 22:24:39 magrathea uugetty[538]: D_LOCK: temp = (/usr/spool/uucp/LCK..TM.a00538)
Jul 19 22:24:39 magrathea uugetty[538]: D_LOCK: lock made
...

        The MYSTERY bit, uugetty suddenly decides to change
process id's from 538 to 736 and start itself again ?

...
Jul 19 22:25:03 magrathea uugetty[538]: D_RUN: signal set: funcs.c:495
Jul 19 22:25:03 magrathea uugetty[538]: D_RUN: alarm set: funcs.c:496
Jul 19 22:25:19 magrathea uugetty[736]: uugetty version 2.0.7d started at Tue Jul 19 22:
25:19 1994
Jul 19 22:25:19 magrathea uugetty[736]: D_DEF: defvalue(SYSTEM) called
Jul 19 22:25:19 magrathea uugetty[736]: D_DEF: defvalue returns NULL
...

        Now when uugetty checks the lock files, process 538
does not exist:

...
Jul 19 22:25:22 magrathea uugetty[736]: D_RUN: checking for lockfiles...
Jul 19 22:25:22 magrathea uugetty[736]: D_LOCK: checklock(/usr/spool/uucp/LCK..ttyS1) called
Jul 19 22:25:22 magrathea uugetty[736]: D_LOCK: read 538 from the lockfile
Jul 19 22:25:22 magrathea uugetty[736]: D_LOCK: no active process has lock, will remove
...

   Why uugetty suddenly change process id's half way through a
dial in connection ?

Any help or ideas would be GREATLY appreciated as this
problem has been taunting me for some time.

Keith.

2. Modem on linux and win98

3. 2.5.40 kbuild bug: mrproper removes files it shouldn't remove

4. KDE2.2 - Desktop Icons

5. how to remove a lock from a locked file?

6. pcnfsd on Solaris 2.5.1?

7. Having samba servers play with Active Directory?

8. Using the "make" command in Tk (yes....I *am* new...)

9. dial-in modem lock up with getty_ps

10. GETTY_PS -> new bug?

11. Removing an active tape from Netbackup

12. Ileaf lock ups on License timeout with xlock active

13. Can write in active a.out file: Bug in R4?