This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: new 'temp' directory in CVS cinstall contains dependency WIP


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


-- 
=^..^=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]