This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Re[3]: cygwin download incomplete - try again - loop?


> Its easy to kludge round this, but it strikes me that the 
> problem would be
> better solved by finding out why a null pointer is being 
> passed in the first
> place. Maybe this weekend :-).

I found this lot out a while ago, but thought a fix had been identified by
Pavel/Max and applied in 2.249.xxx. You guys seemed perfectly on track to
identifying the bug in

http://www.cygwin.com/ml/cygwin/2002-05/msg01527.html

So here goes.

What I found is as follows (setup 2.218... files named, in sq bracket are
the files the code was relocated to in 2.249...)

The null pointer is there because the find routines return the path to
setup.ini relative to your local package directory. This is typically

 [rfc1738 encoded ftp site name]/setup.ini

but for the setup.ini in your local package directory, this is

 setup.ini

In ini.c [IniParseFindVisitor.c], you strip /setup.ini from the end of the
path, and pass the remaining string to rfc1738 to decode the ftp location.
You then store the return string as your mirror site.

In the case of the Local Package directory (and 2.218...), you pass null to
the rfc 1738 routines, and they crash.

I haven't checked lately, but I think in 2.249 you may pass "" to rfc1738 to
avoid crashing - however if you do this, a crash occurs later in install.cc
when you ask rfc1738 to encode an empty string (the mirror site you stored
in ini.cc). I'm not sure, but if you pass "setup.ini" to rfc1738  in ini.cc
[IniParseFindVisitor.cc] the correct behaviour occurs. (I chose to pass
"setup.ini" because this is what the pre md5 checksum setup.exe did).

In my opinion, the rfc1738 code should be fixed so it doesn't choke on null
or empty strings (which I think is reasonable), and then you don't need
special code to identify your local cache.

If I am correct, then ralfs crash [in 2.249.xx] occurs after he has selected
everything, and the install is about to take place.

Hope that helps.


Dave.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]