Bug 488983 - upstart not respawning vgetty every few days
upstart not respawning vgetty every few days
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: upstart (Show other bugs)
10
All Linux
low Severity medium
: ---
: ---
Assigned To: Casey Dahlin
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-06 11:32 EST by Trevor Cordes
Modified: 2014-06-18 04:46 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-04-07 02:06:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Trevor Cordes 2009-03-06 11:32:26 EST
Description of problem:
I run vgetty (mgetty+sendfax) for voice and fax message receiving.  I have always used inittab to run it (since F1 days).  I recently upgraded from F8 to F10.  I converted my inittab mods to event.d and vgetty works fine in the new system.  At least for a few days.  Then one day vgetty will quit (as it does after every phone call), but it will fail to respawn.  From the logs, it strongly looks like upstart is just deciding not to bother respawning at random.

An inittab replacement that doesn't reliably respawn is more than useless, it's dangerous.

Version-Release number of selected component (if applicable):
upstart-0.3.9-22.fc10.i386
mgetty-1.1.36-2.fc10.i386

How reproducible:
Happened twice in 2 weeks.  Seems to happen at least once in 7 days.

Steps to Reproduce:
1. setup upstart to run vgetty respawn
2. let it run for a few days through a few respawns
  
Actual results:
sometimes vgetty doesn't respawn

Expected results:
Always should respawn.  If vgetty is not running in the ps list, upstart should have restarted it, ZERO EXCEPTIONS.  This is what init's respawn is all about.

Additional info:
cat /etc/event.d/tec-vgetty 
start on stopped rc3
start on stopped rc4
start on stopped rc5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 2
stop on runlevel 6

respawn
exec /sbin/vgetty -n4 ttyS0


Mar  5 15:15:29 pog vgetty[11630]: mdm_read_byte: read returned -1: Interrupted system call
Mar  5 15:15:29 pog vgetty[11630]: phone stopped ringing (rings=2, dev=ttyS0, pid=11630, caller='none')
Mar  5 16:16:38 pog vgetty[11630]: mdm_read_byte: read returned -1: Interrupted system call
Mar  5 16:16:38 pog vgetty[11630]: phone stopped ringing (rings=2, dev=ttyS0, pid=11630, caller='none')
Mar  5 16:45:43 pog vgetty[11630]: mdm_read_byte: read returned -1: Interrupted system call
Mar  5 16:45:43 pog vgetty[11630]: phone stopped ringing (rings=2, dev=ttyS0, pid=11630, caller='none')
Mar  5 17:39:10 pog init: tec-vgetty main process (11630) terminated with status 99
Mar  5 17:39:10 pog init: tec-vgetty main process ended, respawning
Mar  5 17:58:21 pog init: tec-vgetty main process (6509) terminated with status 99
Mar  5 17:58:21 pog init: tec-vgetty main process ended, respawning
Mar  5 18:34:39 pog init: tec-vgetty main process (6952) terminated with status 99
Mar  5 18:34:39 pog init: tec-vgetty main process ended, respawning
Mar  5 19:02:51 pog vgetty[7921]: mdm_read_byte: read returned -1: Interrupted system call
Mar  5 19:02:51 pog vgetty[7921]: phone stopped ringing (rings=2, dev=ttyS0, pid=7921, caller='none')
Mar  6 05:42:46 pog init: Re-executing /sbin/init
++++++ at around 10am I realized vgetty was down and manually initctl started it ++++++
Mar  6 10:00:47 pog vgetty[8200]: mdm_read_byte: read returned -1: Interrupted system call
Mar  6 10:00:47 pog vgetty[8200]: phone stopped ringing (rings=2, dev=ttyS0, pid=8200, caller='none')
Comment 1 Casey Dahlin 2009-03-06 11:41:29 EST
The version you have installed should fix this. please run initctl list;telinit u;initctl list.
Comment 2 Trevor Cordes 2009-03-08 20:09:37 EDT
Hmm, the telinit u seems to just hang on me.  I just ran it and it's hung at the end of the output below (for 60 secs now).  I'll leave it for a few more mins and report back if it finishes.  If I don't report back, it's still hung.  Note, the bug has not hit again since I reported above, however it hasn't been very long yet.

#initctl list;telinit u; initctl list
control-alt-delete (stop) waiting
logd (stop) waiting
prefdm (stop) waiting
quit-plymouth (stop) waiting
rc0 (stop) waiting
rc1 (stop) waiting
rc2 (stop) waiting
rc3 (stop) waiting
rc4 (stop) waiting
rc5 (stop) waiting
rc6 (stop) waiting
rcS (stop) waiting
rcS-sulogin (stop) waiting
readahead-collector.event (stop) waiting
readahead-disable-services.event (stop) waiting
readahead.event (stop) waiting
serial (instance)
sulogin (stop) waiting
tec-dyneasydns (stop) waiting
tec-fetchmail (stop) waiting
tec-mailwarnings (stop) waiting
tec-vgetty (start) running, process 26057
tty1 (stop) waiting
tty2 (stop) waiting
tty3 (stop) waiting
tty4 (stop) waiting
tty5 (stop) waiting
tty6 (stop) waiting

Great, now my other 3 tec-* entries aren't running either.  Grrr...
Comment 3 Trevor Cordes 2009-03-08 20:11:58 EDT
Hmm, manually started my other jobs, and reran your command, and now it seems fine:

#initctl list; telinit u ; initctl list
control-alt-delete (stop) waiting
logd (stop) waiting
prefdm (stop) waiting
quit-plymouth (stop) waiting
rc0 (stop) waiting
rc1 (stop) waiting
rc2 (stop) waiting
rc3 (stop) waiting
rc4 (stop) waiting
rc5 (stop) waiting
rc6 (stop) waiting
rcS (stop) waiting
rcS-sulogin (stop) waiting
readahead-collector.event (stop) waiting
readahead-disable-services.event (stop) waiting
readahead.event (stop) waiting
serial (instance)
sulogin (stop) waiting
tec-dyneasydns (start) running, process 9470
tec-fetchmail (stop) waiting
tec-mailwarnings (start) running, process 9489
tec-vgetty (start) running, process 26057
tty1 (stop) waiting
tty2 (stop) waiting
tty3 (stop) waiting
tty4 (stop) waiting
tty5 (stop) waiting
tty6 (stop) waiting
control-alt-delete (stop) waiting
logd (stop) waiting
prefdm (stop) waiting
quit-plymouth (stop) waiting
rc0 (stop) waiting
rc1 (stop) waiting
rc2 (stop) waiting
rc3 (stop) waiting
rc4 (stop) waiting
rc5 (stop) waiting
rc6 (stop) waiting
rcS (stop) waiting
rcS-sulogin (stop) waiting
readahead-collector.event (stop) waiting
readahead-disable-services.event (stop) waiting
readahead.event (stop) waiting
serial (instance)
sulogin (stop) waiting
tec-dyneasydns (start) running, process 9470
tec-fetchmail (stop) waiting
tec-mailwarnings (start) running, process 9489
tec-vgetty (start) running, process 26057
tty1 (stop) waiting
tty2 (stop) waiting
tty3 (stop) waiting
tty4 (stop) waiting
tty5 (stop) waiting
tty6 (stop) waiting
Comment 4 Trevor Cordes 2009-04-07 02:06:17 EDT
The newer version of upstart does indeed seem to have solved this.  Vgetty has behaved ever since.

Note You need to log in before you can comment on or make changes to this bug.