Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <01dd01c21065$95249860$42a18c09@wdg.uk.ibm.com> From: "Max Bowsher" To: "Robert Collins" , References: <007601c20ef5$6db7e5a0$0200a8c0 AT lifelesswks> Subject: Re: Re[3]: cygwin download incomplete - try again - loop? Date: Mon, 10 Jun 2002 10:59:58 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Robert Collins 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 /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/