Bug in setup.exe install

Arthur Schwarz aschwarz1309@verizon.net
Sat Jan 21 01:32:00 GMT 2006


For the last 2+ years I've been unable to upgrade Cygwin on my Win2K system
without reinstalling from scratch. This has periodically been mentioned by
other users. I may have found at least one case for a failure. Apparently
Install.cc:do_install_thread passes a zero length string to install.cc:md5_one.
The failure is repeatable.

The sequence of events is:

1. Download but do not install update files.
2. Download Setup.exe version 2.510.2.2.
3. In the setup.exe (Cygwin Net Release Setup Program)
   a. Select 'Install from Local Directory'
      - Select 'All Users'
      - In my case: Root directory          > C:\Cygwin
                    Local Package Directory > D:\root\cygwin
   b. Select 'View > Partial' after parsing.
   c. Deselect all Binary and Source update selections except
      'gawk' Binary. 
     - The following dependencies are automatically chosen by
       the setup program(?):
       bash
       libiconv2
       libintl3
   d. Click 'Next'
4. The following failure message is output:
   Fatal Error: Uncaught Exception
   Thread: install
   Type: St16invalid_argument
   Message: URL Scheme for '' not registered!
5. The URL scheme is the empty string, "''".
6. I then built 'Setup.exe version 2.524' with the same results.
7. The debug output from version 5.524 is included in dbg.out.
   My observation is that:
   a. Install.cc:do_install_thread is entered once for 'gawk'
   b. The following loop is executed three times:
      for (vector <packagemeta *>::iterator 
           i = db.packages.begin ();
           i != db.packages.end (); ++i) /* indentation mine. sorry*/
   c. On the third iteration, the string passed to md5_one is
      an empty string(''). I'm not sure about this. The failure
      is in:
        io_stream *thefile = io_stream::open (fullname, "rb");

      and seems to be because 'fullname' is an empty string.

In the past it appeared that prior to failure, some files were deleted from
/bin, /usr/bin and perhaps other locations. This may have been changed in the
current release(s) because files are not removed until after all checks are
made - one issue disappears. 

I will try to track down the exact failure and report on it, but it's a long
hike to learn the code well enough to identify (and fix) the error.

Hope this helps.

art

Attachments: cygcheck  output
             dbg.out   debug output
             setup.ini setup file being used
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out
Type: application/octet-stream
Size: 53171 bytes
Desc: 3924260979-cygcheck.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20060121/9663e7d4/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dbg.out
Type: application/octet-stream
Size: 3425 bytes
Desc: 1013112982-dbg.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20060121/9663e7d4/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: setup.ini
Type: application/octet-stream
Size: 500795 bytes
Desc: 2445000593-setup.ini
URL: <http://cygwin.com/pipermail/cygwin/attachments/20060121/9663e7d4/attachment-0002.obj>
-------------- next part --------------
--
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/


More information about the Cygwin mailing list