Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: 17 Oct 2000 16:52:49 -0400 Message-ID: <20001017205249.7782.qmail@lizard.curl.com> From: Jonathan Kamens To: cygwin AT sources DOT redhat DOT com In-reply-to: <20001017120354.A9810@cygnus.com> (message from Chris Faylor on Tue, 17 Oct 2000 12:03:54 -0400) Subject: Re: [cgf: Re: rxvt SEGV (Win98, 1.1.5s/2000-10-08)] References: <20001017120354 DOT A9810 AT cygnus DOT com> Note-from-DJ: This may be spam > Date: Tue, 17 Oct 2000 12:03:54 -0400 > From: Chris Faylor > > 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 AT sourceware DOT cygnus DOT com