On Wed, Mar 23, 2022 at 12:03 PM Robert Haas <robertmh...@gmail.com> wrote: > I'm looking into this now, but that's not the same Assert(false). The > one Andres is talking about is at the end of get_bc_algorithm_name(). > This one is in tar_open_for_write(). AFAIK, the first of these is > actually unreachable or at least I see no evidence that we are > reaching it. The second is clearly reachable because we're failing the > assertion. I thought that might be because I didn't test > --without-zlib locally, and indeed in testing that just now, I found > another unused variable warning which I need to fix. But, that doesn't > account for this failure, because when I correct the problem with the > unused variable, all the tests pass. > > I think what likely happened here is that in reorganizing some of the > logic in basebackup.c, I caused COMPRESSION_GZIP to get passed to > tar_open_for_write() even when HAVE_LIBZ is not defined. But I don't > yet understand why it only happens on Windows. I am suspicious that > the problem is in basebackup.c's main() function, but I haven't > pinpointed it yet.
Oh, it's not that: it's that Windows is using threads, and therefore LogStreamerMain() is getting called with the wrong arguments. I guess I just need to move the additional parameters that I added to LogStreamerMain() into members in the logstreamer_param struct. -- Robert Haas EDB: http://www.enterprisedb.com