Debugging custom commands with VS project generator

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Debugging custom commands with VS project generator

James Turner-2
Hi,

We’re trying to debug a failure of a custom build command, in a Cmake project using Visual Studio 2015. Unfortunately the command works on some Windows setups but not others - clearly there is something install-dependent going on. (It works on my local machine, but not on our Jenkins build server)

Unfortunately, when the command fails, the only output is:

        (CustomBuild target) ->
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code -1073741511. [G:\Jenkins\workspace\FlightGear-Win\build32\src\Main\fgfs.vcxproj]


(Full log is visible here: http://build.flightgear.org:8080/job/FlightGear-Win/2867/console )

The relevant Cmake file is here:

        https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/src/Main/CMakeLists.txt#l46

Is there any way to get more output from the custom command invocation? Prior to this failure, we had a different issue with missing DLLs, which we fixed by setting PATH via the ‘CMAKE_MSVCIDE_RUN_PATH’ value - this worked fine, so we think the command is running. And the ‘missing DLL’ error was reported + logged clearly in the console, unlike the current failure.

I have tried setting VERBOSE=1 but I expect this doesn’t work with the VS generator? Any other way to get the stdout / stderr of the failing custom command would help.

Kind regards,
James
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Debugging custom commands with VS project generator

CMake mailing list
When you convert that error code to hex, it's 0xc0000139, and if you
google that, you see it's an "entry point not found" error code.

Is something in the custom command trying to load a DLL that doesn't
have the expected export? Or perhaps trying to load a DLL of the wrong
architecture?

Or, there's a missing dependency to one of the DLLs you are loading:
https://stackoverflow.com/questions/1649384/c-debugging-exception-c0000139

I always convert "/" to "\" when modifying the Windows PATH
environment variable. Does "/" always work? (I noticed the forward
slash is being used in the set PATH statements in your build
output...)


HTH,
David C.



On Thu, Jun 22, 2017 at 6:02 AM, James Turner <[hidden email]> wrote:

> Hi,
>
> We’re trying to debug a failure of a custom build command, in a Cmake project using Visual Studio 2015. Unfortunately the command works on some Windows setups but not others - clearly there is something install-dependent going on. (It works on my local machine, but not on our Jenkins build server)
>
> Unfortunately, when the command fails, the only output is:
>
>         (CustomBuild target) ->
>   C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code -1073741511. [G:\Jenkins\workspace\FlightGear-Win\build32\src\Main\fgfs.vcxproj]
>
>
> (Full log is visible here: http://build.flightgear.org:8080/job/FlightGear-Win/2867/console )
>
> The relevant Cmake file is here:
>
>         https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/src/Main/CMakeLists.txt#l46
>
> Is there any way to get more output from the custom command invocation? Prior to this failure, we had a different issue with missing DLLs, which we fixed by setting PATH via the ‘CMAKE_MSVCIDE_RUN_PATH’ value - this worked fine, so we think the command is running. And the ‘missing DLL’ error was reported + logged clearly in the console, unlike the current failure.
>
> I have tried setting VERBOSE=1 but I expect this doesn’t work with the VS generator? Any other way to get the stdout / stderr of the failing custom command would help.
>
> Kind regards,
> James
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Debugging custom commands with VS project generator

James Turner-2

On 22 Jun 2017, at 11:52, David Cole <[hidden email]> wrote:

When you convert that error code to hex, it's 0xc0000139, and if you
google that, you see it's an "entry point not found" error code.

Is something in the custom command trying to load a DLL that doesn't
have the expected export? Or perhaps trying to load a DLL of the wrong
architecture?

I guess those are good things to check indeed, it’s tricky on a remote build machine.


Or, there's a missing dependency to one of the DLLs you are loading:
https://stackoverflow.com/questions/1649384/c-debugging-exception-c0000139

The DLL in question should just be zlib.dll, which hopefully has no deps downstream at all. But I’ll check with Dependency Walker on my local box, thanks for the suggestion.


I always convert "/" to "\" when modifying the Windows PATH
environment variable. Does "/" always work? (I noticed the forward
slash is being used in the set PATH statements in your build
output...)

I was under the impression Cmake would auto-convert?

Kind regards,
James


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Loading...