This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
RE: new 'temp' directory in CVS cinstall contains dependency WIP
- To: <cygwin-apps at cygwin dot com>
- Subject: RE: new 'temp' directory in CVS cinstall contains dependency WIP
- From: "Gerrit P. Haase" <gp at familiehaase dot de>
- Date: Mon, 24 Sep 2001 09:11:15 +0200
- Organization: Esse keine toten Tiere
- Reply-to: gp at familiehaase dot de
Robert Collins schrieb am 2001-09-24, 13:23:
>
>
>> -----Original Message-----
>> From: Gerrit P. Haase [mailto:gp@familiehaase.de]
>> The bug:
>> ========
>> (gdb) run
>> Starting program:
>> /cygdrive/d/ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/mirrors
>> /cygnus/setup.exe
>> warning: LOG: 2 2001/09/23 21:52:50 Starting cygwin install,
>> version 2.98
>> warning: LOG: 0 Current Directory: d:\
>> warning: LOG: 0 source: from cwd
>> warning: LOG: 0 Selected local directory:
>> D:\ftp.uni-erlangen.de\pub\pc\gnuwin32\cygwin\mirrors\cygnus
>> warning: LOG: 0 mbox yesno: Warning: we recommend you do NOT
>> use the root of your hard drive as the cygwin root.
>> Proceed anyway?
>> warning: LOG: 0 root: H:\ binary system
>> warning: LOG: 1 get_url_to_string ./setup.ini
>> warning: setup_version is 2.78.2.9, our_version is 2.98
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> strcasecmp (sz1=0x563cf0 "ash", sz2=0x563cf0 "ash")
>
>can you do a bt here please?
>
>If the calling fn is choose.cc:903, please try the attached patch.
(gdb) bt
#0 strcasecmp (sz1=0x5696f0 "ncurses", sz2=0x5696f0 "ncurses")
at ../../../../winsup/winsup/mingw/string_old.c:33
#1 0x00402edf in _view::insert_under (this=0x56ffd0, linen=2, line=
{pkg = 0x1068cd8, cat = 0x0})
at /winsup/src/winsup/cinstall/choose.cc:903
#2 0x00402bda in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:806
#3 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
#4 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
#5 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
#6 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
#7 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
[...]
#3326 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
#3327 0x00402c00 in _view::insert_pkg (this=0x56ffd0, pkg=0x1068cd8)
at /winsup/src/winsup/cinstall/choose.cc:813
[...]
It seems to loop at choose.cc 813.
void
_view::insert_pkg (Package *pkg)
{
pick_line line;
if (pkg->exclude)
return;
line.set_line (pkg);
if (view_mode != VIEW_CATEGORY)
{
if (lines == NULL)
{
lines = (pick_line *) calloc (npackages + ncategories,
sizeof (pick_line));
nlines = 0;
insert_at (0, line);
}
else
insert_under (0, line);
}
else
{
// assert (lines); /* protect against a coding change in future */
for (Category *cat = pkg->category; cat; cat = cat->next)
{
/* insert the package under this category in the list. If this category is not
visible, add it */
int n=0;
while (n < nlines)
{
/* this should be a generic call to list_sort_cmp */
if (lines[n].get_category ()
&& cat->name == lines[n].get_category ()->name)
insert_under (n, line);
n++;
}
if (n == nlines)
{
/* the category wasn't visible - insert at the end */
insert_category (cat, CATEGORY_COLLAPSED);
insert_pkg (pkg); <===============================813
}
}
}
}
Does that mean that pkg = '' ?
Or is it damaged in insert_pkg?
>If that fixes it, you have a bug in strcasecmp where it won't compare
>the same string. This is _bad_. However my patch should be ok to apply
>regardless.
I will aplly it and try to build setup again.
Gerrit
--
=^..^=