ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/09/24/03:24:52

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
From: "Gerrit P. Haase" <gp AT familiehaase DOT de>
Organization: Esse keine toten Tiere
To: <cygwin-apps AT cygwin DOT com>
Date: Mon, 24 Sep 2001 09:11:15 +0200
MIME-Version: 1.0
Subject: RE: new 'temp' directory in CVS cinstall contains dependency WIP
Reply-to: gp AT familiehaase DOT de
Message-ID: <3BAEF8B3.1419.46100EBC@localhost>
In-reply-to: <EA18B9FA0FE4194AA2B4CDB91F73C0EF7A33@itdomain002.itdomain.net.au>
X-mailer: Pegasus Mail for Win32 (v3.12cDE)
X-Hops: 1
X-Sender: 320081107336-0001 AT t-dialin DOT net

Robert Collins schrieb am 2001-09-24, 13:23:

>
>
>> -----Original Message-----
>> From: Gerrit P. Haase [mailto:gp AT familiehaase DOT 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


-- 
=^..^=

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019