This is the mail archive of the cygwin@sources.redhat.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: [cgf: Re: rxvt SEGV (Win98, 1.1.5s/2000-10-08)]


>  Date: Tue, 17 Oct 2000 12:03:54 -0400
>  From: Chris Faylor <cgf@cygnus.com>
>  
>  You can help by dropping the "horrible deaths" hyperbole and provide the
>  actual output that you're seeing.  I appreciate that you are willing to
>  help, but I don't understand why you didn't take at least an initial stab
>  at providing some details to your problem.

Because (a) the problem happens so frequently here that I thought it
would probably be easy for you to reproduce, (b) I didn't know what
kind of information is useful for debugging Cygwin problems, and (c) I
didn't know how to gather such information in the most useful way.
That's why I asked what I could do to help.

>  If you're really motivated, you can build cygwin yourself

Alas, much easier said than done.  My attempt to build was failing in
all kinds of strange ways, apparently related to configure getting the
wrong answers about the questions it was asking.  The first wrong
answer I noticed in my build log was:

  checking whether gcc -L/scratch/jik/cygwin/build/i686-pc-cygwin/winsup -L/scratch/jik/cygwin/build/i686-pc-cygwin/winsup/cygwin -L/scratch/jik/cygwin/build/i686-pc-cygwin/winsup/w32api/lib -isystem /scratch/jik/cygwin/src/winsup/include -isystem /scratch/jik/cygwin/src/winsup/cygwin/include -isystem /scratch/jik/cygwin/src/winsup/w32api/include -isystem /scratch/jik/cygwin/src/newlib/libc/sys/cygwin -isystem /scratch/jik/cygwin/src/newlib/libc/sys/cygwin32 -B/scratch/jik/cygwin/build/i686-pc-cygwin/newlib/ -isystem /scratch/jik/cygwin/build/i686-pc-cygwin/newlib/targ-include -isystem /scratch/jik/cygwin/src/newlib/libc/include accepts -g... no

After several hours of trying various things to debug this, I finally
relized that the problem is that many of the tests in the configure
scripts rely on empty output from gcc to indicate that there were no
errors, but gcc was generating the warning "file patch prefix
`/scratch/jik/cygwin/build/i686-pc-cygwin/newlib/' never used" to
stderr, thus causing all of those tests to fail.

I worked around this problem and managed to get the build to finish by
moving gcc.exe to gcc.real and installing this as gcc:

  #!/bin/sh

  gcc.real "$@" 2>/tmp/err.$$
  STATUS=$?
  grep -v "file path prefix \`.*' never used" /tmp/err.$$ 1>&2
  rm -f /tmp/err.$$
  exit $STATUS

Is this something y'all expect to fail?  If so, is it documented
anywhere?  If not, can it be fixed?

>  and set
>  CYGWIN=error_start=x:/path/to/gdb.exe .  This will cause cygwin to pop
>  up a gdb window when it encounters an error.  If you then issue the
>  following commands:
>  
>      thread 1
>      bt
>  
>  It should be a little clearer what is going on.
>  
>  Barring that, strace output would also probably help pinpoint the problem:
>  
>  strace -om:/tmp/strace.out make
>  
>  (this will probably be a big file) Please do this with the most recent
>  snapshot.  That would be 2000-10-16.

Unfortunately, this isn't so simple.

* Sometimes when I use the error_start setting you indicated, and the
error that Cygwin encounters is "c:\cygwin\bin=make.exe: *** couldn't
send signal 20", Cygwin then hangs rather than popping up a gdb window
as you described.  My only recourse at that point appears to be to
kill all the running Make processes using the task manager.

* Other times, I get something that looks like this:

      0 [sig] make 207 handle_exceptions: exception: STATUS_ACCESS_VIOLATION
   9124 [sig] make 207 stackdump: Dumping stack trace to make.exe.stackdump

What then pops up is a GUI debugger which I've never used before.  It
wasn't obvious, but I eventually figured out that I'm supposed to
select "View -> Console" and then type the commands you specified in
the window that pops up.  Unfortunately, the output is useless:

  (gdb) thread 1
  [Switching to thread 1 (process 261)]
  #0  0x0 in ?? ()

  (gdb) bt
  #0  0x0 in ?? ()

  (gdb) 

Do I need to compile a later version of gdb than 1.1.4 in order for
this to be useful?  If so, where do I get the source code from, or is
there a precompiled binary somewhere that I can use?  Do I need to
compile cygwin1.dll in a manner different from how I actually compiled
it?

* When I run the failing command with strace, it doesn't fail, or it
fails in a different way from how it fails without strace.  No
surprise there, really -- strace slows things down enough and
introduces enough additional code execution that the race conditions
go away.

  When I run the command under strace inside bash, it produces a 35Mb
log file and doesn't fail.  When I run the command under strace at the
CMD prompt, it produces about a 1Mb log file and then fails with an
error message like "strace: Closing child handle 00000038".  I can
mail you one of these (gzipped, it's less than 300Kb) if you'd like,
but I'm not going to include it in theis message because I don't want
to spam people's inboxes and I don't know if it's useful (and I doubt
it is, since I suspect that the failure has more to do with running
strace from a CMD prompt than it does with the real problem I'm
having).

>  You can also provide 'cygcheck -r -s -v' output.

Appended below.

What next?

  jik

                      *************************

Cygnus Win95/NT Configuration Diagnostics
Current System Time: Tue Oct 17 16:37:24 2000

WinNT Ver 4.0 build 1381 Service Pack 6

Path:	/usr/bin
        /c/Perl/bin
        /c/WINNT/system32
        /c/WINNT
        /c/win32app/installshield/Program
        /c/NTReskit

SysDir: C:\WINNT\System32
WinDir: C:\WINNT

CYGWIN = `binmode tty nontsec error_start=c:\cygwin\bin\gdb.exe'
HOME = `/cygdrive/m'

!C: = `C:\cygwin\scratch\jik\metal'
!EXITCODE = `00000000'
!M: = `M:\'
BASH_ENV = `~/.bashrc'
COMPUTERNAME = `BEAST'
COMSPEC = `C:\WINNT\system32\cmd.exe'
ESHELL = `bash.exe'
HOMEDRIVE = `m:'
HOMEPATH = `\'
HOMESHARE = `\\joker\curlbot'
LOGONSERVER = `\\NTCURL'
NTRESKIT = `C:\NTReskit'
NUMBER_OF_PROCESSORS = `2'
OS = `Windows_NT'
OS2LIBPATH = `C:\WINNT\system32\os2\dll;'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 8 Stepping 3, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0803'
PROMPT = `$P$G'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINNT'
TEMP = `/c/WINNT/Profiles/curlbot.000/LOCALS~1/Temp'
TMP = `/c/WINNT/Profiles/curlbot.000/LOCALS~1/Temp'
USERDOMAIN = `CURL'
USERNAME = `curlbot'
USERPROFILE = `C:\WINNT\Profiles\curlbot.000'
WINDIR = `C:\WINNT'
TERM = `cygwin'
TZ = `EST5EDT4,M4.1.0/2,M10.5.0/2'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x00000020
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `ps'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `ps\bin'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `ps\lib'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed Components
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed Components\c:/cygwin
  (default) = `0000'
  bash = `0002.0004.0001'
  binutils = `20000722.0001'
  bison = `0000'
  byacc = `0000'
  bzip = `0000'
  clear = `0001.0000'
  crypt = `0001.0000'
  curlstuff = `0000'
  dejagnu = `0000'
  diff = `0000'
  expect = `0000'
  fileutils = `0000'
  findutils = `0000'
  gawk = `0003.0000.0004'
  cygwin = `0001.0001.0004'
  gcc = `0002.0095.0002.0002'
  gdb = `20000610'
  gperf = `0000'
  grep = `0000'
  groff = `0001.011a.0001'
  gzip = `0000'
  inetutils = `0001.0003.0002.05p1'
  less = `0000'
  libpng = `0001.0000.0006.0001'
  login = `0001.0004.0001'
  m = `0000'
  make = `0003.0079.0003'
  man = `0001.005g.0002'
  mt = `0001.0009.0001'
  opengl = `0001.0002.0001.0001'
  openssh = `0002.0002.00p1'
  openssl = `0000.0009.005a'
  patch = `0000'
  sed = `0003.0002.0001'
  shellutils = `0000'
  tar = `0000'
  tcltk = `20000610'
  termcap = `20000630'
  texinfo = `0000'
  textutils = `0002.0000.0001'
  time = `0000'
  vim = `0005.0007.0004'
  zlib = `0001.0001.0003.0001'
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `c:\cygwin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/c
  (default) = `c:'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/projects
  (default) = `p:'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/software
  (default) = `s:'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/u
  (default) = `u:'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `c:\cygwin\bin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `c:\cygwin\lib'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin B20
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin B20\B20.1
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\00
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\01
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\02
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\03
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\04
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\05
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\06
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\07
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\08
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\09
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0A
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0B
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0C
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0D
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0E
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0F
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\10
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\11
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\12
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\13
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\14
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\15
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\16
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\17
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\18
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\19
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1A
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1B
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1C
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1D
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\GNUPro
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\GNUPro\i586-cygwin32
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\GNUPro\i586-cygwin32\i586-cygwin32
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\GNUPro\i586-cygwin32\i586-cygwin32\cygwin-B20.1
  (default) = `C:\cygnus\cygwin-b20'

a:  fd           N/A    N/A                    
c:  hd  NTFS    8032Mb  77% CP CS UN PA FC     SYSTEM
d:  cd           N/A    N/A                    
m:  net NTFS    4941Mb  74%          PA        curlbot
p:  net NTFS    2524Mb  74%          PA        projects
s:  net NTFS   17240Mb  95%          PA        software
u:  net NTFS     159Mb  53%          PA        u

c:\cygwin\bin  /usr/bin  system  binmode
c:\cygwin\lib  /usr/lib  system  binmode
c:\cygwin  /        system  binmode
c:    /c       system  binmode
p:    /projects  system  binmode
s:    /software  system  binmode
u:    /u       system  binmode

Found: c:\cygwin\bin\bash.exe
Found: \bin\bash.exe
Warning: c:\cygwin\bin\bash.exe hides \bin\bash.exe
Found: c:\cygwin\bin\cat.exe
Found: c:\NTReskit\cat.exe
Warning: c:\cygwin\bin\cat.exe hides c:\NTReskit\cat.exe
Found: c:\cygwin\bin\cpp.exe
Found: c:\cygwin\bin\find.exe
Found: c:\cygwin\bin\gcc.exe
Found: c:\cygwin\bin\gdb.exe
Found: c:\cygwin\bin\ld.exe
Found: c:\cygwin\bin\ls.exe
Found: c:\NTReskit\ls.exe
Warning: c:\cygwin\bin\ls.exe hides c:\NTReskit\ls.exe
Found: c:\cygwin\bin\make.exe
Found: c:\cygwin\bin\sh.exe
Found: \bin\sh.exe
Warning: c:\cygwin\bin\sh.exe hides \bin\sh.exe

   83k 2000/06/11 c:\cygwin\bin\cygitcl30.dll - os=4.0 img=1.0 sys=4.0
                  "cygitcl30.dll" v0.0 ts=2000/6/10 23:34
   35k 2000/06/11 c:\cygwin\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0
                  "cygitk30.dll" v0.0 ts=2000/6/10 23:34
  402k 2000/06/11 c:\cygwin\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0
                  "cygtcl80.dll" v0.0 ts=2000/6/10 23:30
    5k 2000/06/11 c:\cygwin\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0
   10k 2000/06/11 c:\cygwin\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0
                  "cygtclreg80.dll" v0.0 ts=2000/6/10 23:30
  639k 2000/06/11 c:\cygwin\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0
                  "cygtk80.dll" v0.0 ts=2000/6/10 23:34
 3749k 2000/10/17 c:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2000/10/17 14:59
    Cygwin DLL version info:
        dll major: 1001
        dll minor: 5
        dll epoch: 19
        dll bad signal mask: 19005
        dll old termios: 5
        api major: 0
        api minor: 29
        shared data: 3
        dll identifier: cygwin1
        mount registry: 2
        cygnus registry name: Cygnus Solutions
        cygwin registry name: Cygwin
        program options name: Program Options
        cygwin mount registry name: mounts v2
        build date: Tue Oct 17 14:59:07 2000
        snapshot date: 2000-10-16-23:55-EST
        shared id: cygwin1S3

Use -h to see help about each section

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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