On Tue, May 24, 2022 at 09:48:17PM -0700, Andres Freund wrote:
> Hi,
>
> On 2022-05-24 17:17:47 -0500, Justin Pryzby wrote:
> > Also, /O2 cuts ~3 minutes off the test time on cirrus, which seems worth it,
> > except that it omits frame pointers, which probably breaks debuggability.
>
> It likely also causes us to use the non-debug C runtime? Which IMO would be
> bad, it does detect quite a few problems that are otherwise hard to find.
>
>
> > And when I pass /Oy- to "avoid omitting" frame pointers, several tests crash...
>
> Huh. Do you get a backtrace containing anything remotely meaningful?
I looked at this again. The issue isn't caused by optimizations, but
(apparently) by an absence of options in "msbuild --buildtype plain".
Adding /MD or /MDd fixes the issue.
That's done in the existing build system here:
src/tools/msvc/MSBuildProject.pm: runtime => 'MultiThreadedDebugDLL'
src/tools/msvc/MSBuildProject.pm: runtime => 'MultiThreadedDLL'
https://cirrus-ci.com/task/4895613501308928
BTW: vcvarsall isn't needed in the "check_world" scripts.
--
Justin