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 From: Chris Faylor Date: Tue, 17 Oct 2000 17:30:08 -0400 To: cygwin AT sources DOT redhat DOT com Subject: Re: [cgf: Re: rxvt SEGV (Win98, 1.1.5s/2000-10-08)] Message-ID: <20001017173008.G11871@cygnus.com> Reply-To: cygwin AT sources DOT redhat DOT com Mail-Followup-To: cygwin AT sources DOT redhat DOT com References: <20001017120354 DOT A9810 AT cygnus DOT com> <20001017205249 DOT 7782 DOT qmail AT lizard DOT curl DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.6i In-Reply-To: <20001017205249.7782.qmail@lizard.curl.com>; from jik@curl.com on Tue, Oct 17, 2000 at 04:52:49PM -0400 On Tue, Oct 17, 2000 at 04:52:49PM -0400, Jonathan Kamens wrote: >> 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. If you configure in the winsup directory with '--enable-debugging' this will cause gdb to pop up when this error occurs. >* 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? The gdb that comes with cygwin should be adequate. You can start it up in just console mode by typing 'gdb -nw'. You'll have to set up a .bat file to do this: gdb -nw %1 %2 %3 %4 %5 Then you don't have to use the unfamiliar console. The other threads may have useful information: 'thread apply all bt' If all else fails, you can decode the stackdump by typing l *0x610xxxx (or whatever) in gdb on each address. > 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". This should be fixed in snapshot versions of strace (or if you build from sources). This error is a problem in strace that has no bearing on the cygwin problem. cgf -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com