delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/03/13/18:49:30

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_20,SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: sourceware.org
Date: Fri, 13 Mar 2009 18:49:15 -0500 (CDT)
From: Tim McDaniel <tmcd AT panix DOT com>
To: cygwin AT cygwin DOT com
Subject: Corrupt *.lst.gz
Message-ID: <Pine.NEB.4.64.0903131806110.25018@panix3.panix.com>
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

setup.exe kept crashing when trying to update libncurses-devel.
Worse, Event Viewer usually said that it was a different fault address
each time.

After much fixing of file ownerships, searching of mailing list
archives, use of Process Monitor, saving PM's output to disk to search
for something suspicious, ...

I see

     "6:14:28.7559654 PM","setup.exe","3708","QueryOpen","C:\etc\preremove\libncurses-devel.sh","NAME NOT FOUND",""
     "6:14:28.7564790 PM","setup.exe","3708","QueryOpen","C:\etc\preremove\libncurses-devel.bat","NAME NOT FOUND",""
     "6:14:28.7582832 PM","setup.exe","3708","CreateFile","C:\etc\setup\libncurses-devel.lst.gz","SUCCESS","Desired Access: Generic Read,
      Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/
     a, OpenResult: Opened"
     "6:14:28.7585620 PM","setup.exe","3708","ReadFile","C:\etc\setup\libncurses-devel.lst.gz","SUCCESS","Offset: 0, Length: 10"
     "6:14:28.7588064 PM","setup.exe","3708","ReadFile","C:\etc\setup\libncurses-devel.lst.gz","SUCCESS","Offset: 0, Length: 10"
     "6:14:28.7588728 PM","setup.exe","3708","ReadFile","C:\etc\setup\libncurses-devel.lst.gz","END OF FILE","Offset: 10, Length: 15,872"
--> "6:14:28.7589127 PM","setup.exe","3708","ReadFile","C:\etc\setup\libncurses-devel.lst.gz","END OF FILE","Offset: 10, Length: 16,384"
     "6:14:28.7591254 PM","setup.exe","3708","RegOpenKey","HKLM\Software\Microsoft\Windows NT\CurrentVersion\AeDebug","SUCCESS",""
     "6:14:28.7592010 PM","setup.exe","3708","RegQueryValue","HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Auto","SUCCESS","
     Type: REG_SZ, Length: 4, Data: 1"
     "6:14:28.7592239 PM","setup.exe","3708","RegQueryValue","HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger","SUCCES
     S","Type: REG_SZ, Length: 52, Data: drwtsn32 -p %ld -e %ld -g"
     "6:14:28.7592484 PM","setup.exe","3708","RegCloseKey","HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug","SUCCESS",""
     "6:14:28.7599208 PM","setup.exe","3708","QueryOpen","C:\WINDOWS\system32\faultrep.dll","SUCCESS","CreationTime: 7/4/2007 4:32:29 PM,
      LastAccessTime: 3/13/2009 6:13:56 PM, LastWriteTime: 2/17/2007 9:02:50 AM, ChangeTime: 7/6/2007 7:38:48 PM, AllocationSize: 90,112,
      EndOfFile: 86,528, FileAttributes: A"
     "6:14:28.7605289 PM","setup.exe","3708","CreateFile","C:\WINDOWS\system32\faultrep.dll","SUCCESS","Desired Access: Execute/Traverse,
      Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, Al
     locationSize: n/a, OpenResult: Opened"
     "6:14:28.7606932 PM","setup.exe","3708","QueryStandardInformationFile","C:\WINDOWS\system32\faultrep.dll","SUCCESS","AllocationSize:
      90,112, EndOfFile: 86,528, NumberOfLinks: 1, DeletePending: False, Directory: False"

which seemed to indicate that it was trying to read
C:\etc\setup\libncurses-devel.lst.gz when it died.

Searching further, I read the suggestion to just delete a suspected
corrupt *.lst.gz file and retry setup.exe.  I did.  It installed a lot
of man pages and ran to completion without error.

Searching further, I see a number of instances of this happening.

May I please lobby for someone to make the reading of *.lst.gz files
more bombproof?  If there's a reason why that's not possible, can the
process at least append to setup.log or setup.log.full just before
processing each *.lst.gz file?  Or, maybe better: if it's acceptable
to just delete the *.lst.gz file, why not just get rid of them?  (I'm
reminded of the Far Side cartoon with the mom-rat noticing that the
box of cereal is right next to the box of rat poison: "Hey, what do we
have this stuff for anyways?")

Or, if all else fails, add text to FAQ question 2.12 (or point me at
where it's documented)?

Yours in frustration after several hours of diagnosing this with
unfamiliar tools, after weeks of being unable to upgrade the package,
-- 
Tim McDaniel, tmcd AT panix DOT com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019