This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Diagnosis of setup crash (was: Re: Re[3]: cygwin download incomplete - try again - loop?)
- From: "Max Bowsher" <maxb at ukf dot net>
- To: <cygwin at cygwin dot com>
- Date: Sat, 8 Jun 2002 14:55:06 +0100
- Subject: Diagnosis of setup crash (was: Re: Re[3]: cygwin download incomplete - try again - loop?)
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/