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: <000401c2105b$dacd6f40$42a18c09@wdg.uk.ibm.com> From: "Max Bowsher" To: Subject: Diagnosis of setup crash (was: Re: Re[3]: cygwin download incomplete - try again - loop?) Date: Sat, 8 Jun 2002 14:55:06 +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 The crash occurs because rfc1738_do_escape is passed url=0x0. This zero pointer is gereated in rfc1738_escape_part by url.cstr_oneuse(), where url = String(""). rfc_escape_part("") is called from check_for_cached(). The "" value comes from pkgsource.sites[n]->key. 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. Max. Crash backtrace: > (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 > #3 0x004043e6 in scan_downloaded_files () at ../setup/choose.cc:471 > #4 0x004045f1 in ChooserPage::OnInit (this=0x23fb60) at > ../setup/choose.cc:517 -- 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/