home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / sgi / bugs / 143 < prev    next >
Encoding:
Internet Message Format  |  1993-01-21  |  4.3 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!bogus.sura.net!jhunix.hcf.jhu.edu!jhunix2.hcf.jhu.edu!not-for-mail
  2. From: andy@jhunix2.hcf.jhu.edu (Andy Poling)
  3. Newsgroups: comp.sys.sgi.bugs
  4. Subject: Unbelievable bug that didn't happen
  5. Followup-To: comp.sys.sgi.bugs
  6. Date: 21 Jan 1993 19:21:02 -0500
  7. Organization: Homewood Academic Computing, Johns Hopkins University, Baltimore, Md, USA
  8. Lines: 133
  9. Distribution: world
  10. Message-ID: <1jneleINN2tb@jhunix2.hcf.jhu.edu>
  11. NNTP-Posting-Host: jhunix2.hcf.jhu.edu
  12. Summary: file modified without mtime changing?!
  13. Keywords: oh boy...
  14.  
  15.  
  16. I can't believe what I just witnessed.  I've been chasing down a bug where
  17. some process (I don't know which one - I'll get to why) is scribbling pieces
  18. of /etc/utmp into /etc/mtab.  This I can deal with -- I just look at the
  19. modification time on mtab and check out our process-accounting file for
  20. which processes were running at the time, right?  Wrong.
  21.  
  22. While I was tracking this bug down, it happened -- I may have even made it
  23. happen - I dunno.  The problem is this: even though the mtab file had been
  24. scribbled in since I had last fixed it, the modification time of the file
  25. had not changed!!!
  26.  
  27. I've called this in to the TAC, but I figure an article is worth a thousand
  28. words over the phone as far as demonstrating the problem (which has occurred
  29. three times while I was writing this article).  Plus maybe it'll ring a bell
  30. with someone else and we can nail it down faster...
  31.  
  32. Below is included an undoctored transcript of me witnessing it.  I should
  33. add that /etc/mtab is rally a symlink to a symlink to /loc/mtab (don't ask
  34. why).  "age" is a simple 50 line C program that stat()s a file and prints
  35. out it's ages with second precision.
  36.  
  37. Here's the sequence of events... 
  38.     1) I do a "mount" and find the mtab screwed
  39.     2) I "age" it: mod time = Jan 21 18:26:56 1993
  40.     3) I zero it, and mount -f it back to life
  41.     4) I do a "mount" to verify it is OK
  42.     5) I "age" it: mod time = Jan 21 18:33:47 1993
  43.     6) I wait awhile for the scribbling to occur
  44.     7) I do a "mount" and voila: screwed again
  45.     8) I "age" it: mod time = Jan 21 18:33:47 1993 (STILL!!!!!)
  46.  
  47. # mount
  48. # age -ams /loc/mtab
  49. /loc/mtab: access: 12 secs ago - Thu Jan 21 18:33:22 1993
  50. modify: 398 secs ago - Thu Jan 21 18:26:56 1993
  51. change: 398 secs ago - Thu Jan 21 18:26:56 1993
  52. # > /loc/mtab; mount -fv /; mount -fav
  53. /dev/root mounted on /
  54. /dev/dsk/lv6 mounted on /src
  55. /debug mounted on /debug
  56. /dev/dsk/lv0 mounted on /diskless
  57. /dev/dsk/lv3 mounted on /users
  58. /dev/dsk/lv4 mounted on /tmp
  59. /dev/dsk/lv1 mounted on /usr
  60. /dev/dsk/lv5 mounted on /usr/spool/news
  61. /dev/dsk/lv2 mounted on /usr/local
  62. # mount
  63. /dev/root on / type efs (rw,raw=/dev/rroot)
  64. /dev/dsk/lv6 on /src type efs (rw,noquota,raw=/dev/rdsk/lv6)
  65. /debug on /debug type dbg (rw,noquota)
  66. /dev/dsk/lv0 on /diskless type efs (rw,noquota,raw=/dev/rdsk/lv0)
  67. /dev/dsk/lv3 on /users type efs (rw,quota,raw=/dev/rdsk/lv3)
  68. /dev/dsk/lv4 on /tmp type efs (rw,noquota,raw=/dev/rdsk/lv4)
  69. /dev/dsk/lv1 on /usr type efs (rw,noquota,raw=/dev/rdsk/lv1)
  70. /dev/dsk/lv5 on /usr/spool/news type efs (rw,noquota,raw=/dev/rdsk/lv5)
  71. /dev/dsk/lv2 on /usr/local type efs (rw,noquota,raw=/dev/rdsk/lv2)
  72. # age -ams /loc/mtab
  73. /loc/mtab: access: 2 secs ago - Thu Jan 21 18:33:49 1993
  74. modify: 4 secs ago - Thu Jan 21 18:33:47 1993
  75. change: 4 secs ago - Thu Jan 21 18:33:47 1993
  76. # mount
  77. # age -ams /loc/mtab
  78. /loc/mtab: access: 2 secs ago - Thu Jan 21 18:35:26 1993
  79. modify: 101 secs ago - Thu Jan 21 18:33:47 1993
  80. change: 101 secs ago - Thu Jan 21 18:33:47 1993
  81.  
  82. In case anybody's intersted, here is the sort of scribbling that I'm talking
  83. about:
  84.  
  85. # strings /loc/mtab.hosed
  86. ttyq10
  87. elmo
  88. ttyq11
  89. tockgae_q12
  90. ttyq12
  91. yooyoungq13
  92. ttyq13
  93. +_("yam_ls
  94. ttyq14
  95. kroot
  96. ttyq15
  97. oherb
  98. ttyq16
  99. telnet
  100. ttyq17
  101. +_0gsheppardq18
  102. ttyq18
  103. hosemug
  104. ttyq19
  105. telnet
  106. ttyq20
  107. +_/'gwenlynsq21
  108. ttyq21
  109. telnet
  110. ttyq22
  111. latha
  112. ttyq23
  113. +_!Ocheckersq24
  114. ttyq24
  115. +_+]telnet
  116. ttyq25
  117. stephen
  118. ttyq26
  119. +_+atelnet
  120. ttyq27
  121. +_*Htelnet
  122. ttyq28
  123. telnet
  124. ttyq29
  125. telnet
  126. ttyq30
  127. telnet
  128. ttyq31
  129. +_*5rlogin
  130. ttyq32
  131. deat
  132. ttyq33
  133. telnet
  134. ttyq34
  135. telnet
  136. ttyq35
  137. kroot
  138. ttyq36
  139. isinger
  140. ttyq37
  141.  
  142. -Andy
  143.  
  144. Andy Poling                              Internet: andy@jhunix.hcf.jhu.edu
  145. UNIX Systems Programmer                  Bitnet: ANDY@JHUNIX
  146. Homewood Academic Computing              Voice: (410)516-8096    
  147. Johns Hopkins University                 UUCP: uunet!mimsy!aplcen!jhunix!andy
  148.