Mail Archives: cygwin/2002/06/10/06:01:02
Robert Collins <robert DOT collins AT syncretize DOT 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/
- Raw text -