delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/09/14/13:03:20

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Date: 14 Sep 2001 13:03:18 -0400
Message-ID: <20010914170318.4862.qmail@lizard.curl.com>
From: Jonathan Kamens <jik AT curl DOT com>
To: cygwin-developers AT cygwin DOT com
In-reply-to: <20010914002450.B25486@redhat.com> (message from Christopher
Faylor on Fri, 14 Sep 2001 00:24:50 -0400)
Subject: Re: Useful details about the Make SEGVs
References: <20010912173945 DOT 25925 DOT qmail AT lizard DOT curl DOT com> <20010914002450 DOT B25486 AT redhat DOT com>

You got my hopes up, only to see them dashed cruelly on the rocks of
flakey bugs :-).

I ran repeated "configure; make -j2" builds on the cygwin source tree.
I saw one success, then one Make hang (as described in another
message), then four successes, then a Make SEGV which looks pretty
much the same as the last one:

  #0  0x410792 in exec_command (argv=0x8, envp=0xa01f6b8)
      at /u/jik/systems-cvs-root/cygwin/make/job.c:2317
  #1  0x61085a6e in read (fd=8, buf=0xa01f6b8, cnt=200)
      at /u/jik/cygwin-cvs/src/newlib/libc/syscalls/sysread.c:15
  #2  0x40a60b in func_shell (o=0xa01f5e8 "", argv=0x24acf9c,
      funcname=0x40a81d "shell")
      at /u/jik/systems-cvs-root/cygwin/make/function.c:1448
  #3  0x40aa39 in expand_builtin_function (o=0xa01f5e8 "", argc=1,
      argv=0x24acf9c, entry_p=0x42f0b4)
      at /u/jik/systems-cvs-root/cygwin/make/function.c:1703
  #4  0x40ad20 in handle_function (op=0x24ad080, stringp=0x24ad07c)
      at /u/jik/systems-cvs-root/cygwin/make/function.c:1803
  #5  0x404b53 in variable_expand_string (line=0x0,
      string=0x24ad13c "${shell $(CC_FOR_TARGET) -print-libgcc-file-name}",
      length=-1) at /u/jik/systems-cvs-root/cygwin/make/expand.c:235
  #6  0x404ffe in variable_expand (
      line=0x24ad13c "${shell $(CC_FOR_TARGET) -print-libgcc-file-name}")
      at /u/jik/systems-cvs-root/cygwin/make/expand.c:415
  #7  0x4050d2 in variable_expand_for_file (
      line=0x24ad13c "${shell $(CC_FOR_TARGET) -print-libgcc-file-name}",
      file=0x0) at /u/jik/systems-cvs-root/cygwin/make/expand.c:457
  #8  0x405364 in allocated_variable_expand_for_file (
      line=0x24ad13c "${shell $(CC_FOR_TARGET) -print-libgcc-file-name}",
      file=0x0) at /u/jik/systems-cvs-root/cygwin/make/expand.c:535
  #9  0x4050ab in expand_argument (
      str=0xa01c28c "${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}",
      end=0xa01c2bd "}") at /u/jik/systems-cvs-root/cygwin/make/expand.c:442
  #10 0x40acdc in handle_function (op=0x24ad2a0, stringp=0x24ad29c)
      at /u/jik/systems-cvs-root/cygwin/make/function.c:1791
  #11 0x404b53 in variable_expand_string (line=0x0,
      string=0xa01c280 "${subst \\,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}", length=-1) at /u/jik/systems-cvs-root/cygwin/make/expand.c:235
  #12 0x404ffe in variable_expand (
      line=0xa01c280 "${subst \\,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}") at /u/jik/systems-cvs-root/cygwin/make/expand.c:415
  #13 0x4050d2 in variable_expand_for_file (
      line=0xa01c280 "${subst \\,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}", file=0x0) at /u/jik/systems-cvs-root/cygwin/make/expand.c:457
  #14 0x405364 in allocated_variable_expand_for_file (
      line=0xa01c280 "${subst \\,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}", file=0x0) at /u/jik/systems-cvs-root/cygwin/make/expand.c:535
  #15 0x426757 in try_variable_definition (flocp=0x24ad484,
      line=0xa01c278 "libgcc:=${subst \\,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}", origin=o_file, target_var=0)
      at /u/jik/systems-cvs-root/cygwin/make/variable.c:892
  #16 0x41a13d in read_makefile (
      filename=0xa01bd40 "/scratch/jik/testbuild/curl/winsup/doc/../Makefile.common", flags=10) at /u/jik/systems-cvs-root/cygwin/make/read.c:723
  #17 0x41a076 in read_makefile (filename=0xa01b368 "Makefile", flags=0)
      at /u/jik/systems-cvs-root/cygwin/make/read.c:702
  #18 0x41899e in read_all_makefiles (makefiles=0x0)
      at /u/jik/systems-cvs-root/cygwin/make/read.c:234
  #19 0x413e0c in main (argc=4, argv=0x614f5054, envp=0xa010008)
      at /u/jik/systems-cvs-root/cygwin/make/main.c:1503
  #20 0x61004294 in dll_crt0_1 ()
      at /u/jik/cygwin-cvs/src/winsup/cygwin/dcrt0.cc:770
  #21 0x61004565 in _dll_crt0 ()
      at /u/jik/cygwin-cvs/src/winsup/cygwin/dcrt0.cc:837
  #22 0x610045a4 in dll_crt0 (uptr=0x0)
      at /u/jik/cygwin-cvs/src/winsup/cygwin/dcrt0.cc:849
  #23 0x42e7d3 in cygwin_crt0 ()

It's interesting that the shell command that's causing the segv is the
same one that caused it the last time I caught this in the debugger,
and that it's a particularly long shell command.

BTW, I rememberd this time to check errno inside gdb, and gdb says
it's 0.  If execvp() fails (which of course it must have, since the
code after the execvp() is running, right?) but errno is 0, there's
definitely something fishy going on.

Any suggestions?

  jik

- Raw text -


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