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