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?


Robert Collins <robert.collins@syncretize.net> wrote:
>> (gdb) bt full
>> #0  0x004346d3 in rfc1738_do_escape (url=0x0, encode_reserved=1)
>>     at ../setup/rfc1738.cc:92
>>         url = 0x0
>>         buf = 0x0
>>         bufsize = 0
>>         p = 0x12f4790 "hJ/\001"
>>         q = 0x0
>>         i = 0
>>         do_escape = 0
>> #1  0x0043484c in rfc1738_escape_part (url=@0x13784d0)
>>     at ../setup/rfc1738.cc:187
>>         url = (String &) @0x0: Cannot access memory at address 0x0
>> (gdb) bt
>> #0  0x004346d3 in rfc1738_do_escape (url=0x0, encode_reserved=1)
>>     at ../setup/rfc1738.cc:92
>> #1  0x0043484c in rfc1738_escape_part (url=@0x13784d0)
>>     at ../setup/rfc1738.cc:187
>> #2  0x0040c5ef in check_for_cached (pkgsource=@0x12f47a0)
>>     at ../setup/download.cc:91
>
> In here, (pkgsource.sites[n]->key ) is apparently evaluating as a zero
> length string. This should never happen (key must have a value).
>
> However, I'm pretty sure the sites class allows key to have no value, so
> what you need to do is to go to frame 2 or 3 and identify the package
> and site count that it's got. And then work backwards to find out when
> the invalid site is created.

Your email and my 'Diagnosis of setup crash' one crossed. In that, I came to the
same conclusion of zero-length pkgsource.sites[n]->key values being the problem.

Here is a section from that email of mine:
| The site objects with a key of "" are created somewhere
| in the yacc/lex stuff (of which I know nothing) based upon the mirror value
| produced in IniParseFindVisitor::visitFile(). Changing < mirror = String (); >
| to < mirror = String ("."); > on line 69 of IniParseFindVisitor.cc eliminates
| the crash.

I'd also like to add - the empty keys are directly related to having a setup.ini
in the root dir of the package directory - just as having
<pkgdir>/misc/setup.ini causes sites with key 'misc' to be created.

Hopefully, that will mean something to you. If not, I guess its time for me to
learn about yyparse() and friends :-).

> Can you do that? I'll offer what email assistance I can, but until we
> have enough detail to reproduce here, that's all I can offer.

Sure, I understand that you cannot debug a bug that you can't reproduce.
But, if you copy the setup.ini from any mirror-site-named directory up 1
directory to the root of the local package dir, does that not reproduce the bug?

> I'm obviously keen to get this bug fixed...

Me too, but the key of "." as suggested in my other mail seems to work.

Max.




--
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]