make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Make Errors in Windows Application Event Log


From: J. Grant
Subject: Re: GNU Make Errors in Windows Application Event Log
Date: Tue, 02 Nov 2004 23:14:44 +0000
User-agent: Mozilla/5.0 (X11; U; GNU/Linux i686; en; rv:1.5.0; hi) Gecko/20030604

Hi Ramp,

The problem is there with 3.80 as well. I am not building with
nmake.exe, instead I am using the 'build_w32.bat' provided with the
make source, which uses cl.exe and link.exe.

Ok, can you give make v3.81 beta a try please?
http://lists.gnu.org/archive/html/bug-make/2004-03/msg00010.html

The download links are not working atm.   could you get latest from CVS
and build that way please?

> MultiProcessor Server and the following Windows Error event occurs:
>
>  EventID:   0
>  Category:  0
>  Unhandled exception filter called from program make
>  ExceptionCode = c0000005
>  ExceptionFlags = 0
>  ExceptionAddress = 4166e4
>  Access violation: read operation at address 3f

"c0000005" code is Access Violation btw, there is no more detail to be
had from that code unfortunately.

Could be a bug in your compiler.

Just to confirm, is this your gnumake.exe which has this exeption? Or
one of the processes which gnumake.exe launches?

I can confirm that this exception is from gnumake.exe only, which must
be triggered by one of the processes gnumake.exe launches. The debug
trace showed that the exception was indeed coming from 'process_easy'
call of 'exec_command' defined in 'job.c' file, which actually
launches the command process.

Could we have a copy of the "debug trace" please?

Can you set "first-chance exceptions" to all break into the debugger.

I am using the debug build of gnumake.exe to debug the problem. How to
set 'fist-chance exceptions'. Please add full instructions for setting
(and for restoring!) the "first-chance exceptions".

You should have the MSDEV GUI environment/debugger with your MSVC install.
Either open your solution/workspace, or if you do not have one, you can
"attach to debugger" from the task manager, this is a quick way to get
a solution/workspace for just your exe.

I do not have your compiler, but on my VC7.1 compiler if you click
Menu->Debug->Exceptions there is a dialog allowing you to specify which
exceptions cause a "break" instruction which allows the debugger to pause
on that line etc.  In that dialog, turn all exceptions to "break into
the debugger", so we can see what problems are happening. Do this on all
sections, including "Native Run-Time Checks" if you have this section.  This
setting is only per solution/workspace, delete those files and your
exception settings will be the same as they were previously again.

(I believe first-chance exceptions is what MS call the opportunity of
code to handle an exception.)

Unfortunately I couldn't create this problem with a slow machine or a
simple test case. I am attaching the imported windows event long from
the failures reported machine. The build takes about 7 hours on a fast
machine and involves in building about 7000+ components (i.e. atleast
those many make.exe invocations), but reporting only around 250
exceptions with make.exe. That means not all the make.exe calls
reporting the problem.

If you can break into the debugger on that exception you will be able to
check the details of the problem.  You will need to setup the command
line in the MS debugger for the solution/workspace.  Right click on the
exe in the GUI to set this.

Can you run the debug CVS build, with --debug=j,m

There are other options, see the manual page if interested:
http://www.gnu.org/software/make/manual/html_mono/make.html

Also, if you have a memory checking program like Compuware BoundsChecker
(part of their DevPartner proprietary software) you could turn that on
while running through test cases in your debugger.

Hope this helps, kind regards
JG
--
Homepage: http://jguk.org/
Blog: http://jguk.org/#blog
Radio: http://jguk.org/#radio







reply via email to

[Prev in Thread] Current Thread [Next in Thread]