From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 188433857C78 for ; Sat, 14 Nov 2020 14:12:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 188433857C78 Received: by mail-ej1-x62f.google.com with SMTP id f20so17977426ejz.4 for ; Sat, 14 Nov 2020 06:12:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RRF6Xy/lhWP6tncGPpOKX7Xhjnzk9H7cK3RnWfp4VAY=; b=AndUfSsRnPiygeVX7XztquKSl0nEzOfHca6rthCU4ouL1y4Ui9o6YX5Jhsm0lJko5v e3JFPrJDGRd5UWyFaUATVwkiXJIwwkppKtIY3hyTC61uGeqs6wEKg8xKYlEaygk4JFCp qRyOvZjU05wzabPR3ivs5LsGJrIq34s1QGVfGdfR0H2DApLPCiksouETdt0dnvDxN7E9 77Tdxo2GqrAhtSSjaWKSsJTcTATZ+C8yUdcXU9IEPmcHhHnJGX58Achay7bm6fcFBtJI gJbCeyjDj0dG34rgq47MHiit8IwEOVW/ISf3Ia0up1fYJgpvZifV5aQtjqMf1puT/++t zcbw== X-Gm-Message-State: AOAM531z5Fn1ucbDDj042ZBs4ifJ7sMUX2X2veHmt85wOrvxfqE9TAP2 w0e71OPcdpep2pw6oh5feZ3C2FEkxywjTt26Y6Q= X-Google-Smtp-Source: ABdhPJwroA90sqo6RvfFEWQ2ps2bgCN3gbrUIrA8+ldlFhtc/W4PQlz/Fko5IILkNlrK+3hMXMcgzjTBPsj0owNIwQQ= X-Received: by 2002:a17:906:f207:: with SMTP id gt7mr6860890ejb.293.1605363142154; Sat, 14 Nov 2020 06:12:22 -0800 (PST) MIME-Version: 1.0 References: <20201114143744.92E5.50F79699@gmail.com> In-Reply-To: <20201114143744.92E5.50F79699@gmail.com> From: "William M. (Mike) Miller" Date: Sat, 14 Nov 2020 09:12:11 -0500 Message-ID: Subject: Re: Failed assertion dialog box To: Lemures Lemniscati Cc: The Cygwin Mailing List X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2020 14:12:24 -0000 On Sat, Nov 14, 2020 at 12:39 AM Lemures Lemniscati via Cygwin < cygwin@cygwin.com> wrote: > On Sat, 14 Nov 2020 04:37:43 +0000, Andr=C3=A9 Bleau via Cygwin > > > > On Fri, Nov 13, 2020 at 10:45 PM Duncan Roe > > wrote: > > > > > Hi William, > > > > > > On Fri, Nov 13, 2020 at 12:27:57PM -0500, cygwin wrote: > > > > I've run into a problem running a collection of tests under Cygwin > and I > > > > wonder if anyone can suggest a way around it. > > > > > > > > The problem occurs when a program being run fails a C/C++ runtime > > > > assertion. Ordinarily, this just writes an error message on stderr > and > > > > aborts. Under Cygwin, however, if both stdin and stderr are > redirected to > > > > files, the program instead pops up a dialog box that must be > > > interactively > > > > dismissed before the failed program will exit - holding up all the > tests > > > > that follow it. > > > > > > > > Specifically, if I have the following as assert.cpp: > > > > > > > > #include > > > > int main() { > > > > assert(false); > > > > } > > > > > > > > and say > > > > > > > > gcc assert.cpp > > > > ./a.exe < /dev/null > output 2>&1 > > > > > > > > I get an error dialog box saying > > > > > > > > Failed assertion > > > > false > > > > at line 3 of file assert.cpp > > > > in function int main() > > > > > > > > If I omit either the stdin or the stderr redirection, the program > behaves > > > > as desired with no dialog box. > > > > > > > > Is there an environment setting or compiler command-line option I c= an > > > give > > > > to suppress the dialog box and always just write a message to stder= r > and > > > > abort? Thanks for any insights. > > > > > > Your example WFFM, (Cygwin64, gcc 10.2.0, everything else also up to > date). > > > > > > Do you still see this behaviour if you run the installer? > > > > > > > Thanks for your reply; unfortunately, yes, it does. I had refreshed > > the installation fairly recently, and running the installer only update= d > a > > few things, not cygwin.dll and not gcc; my installation is the same as > > yours. I've tried it with three different shells (tcsh, bash, mksh) and > > with both gcc and clang, and all have the same behavior. (Interestingly= , > if > > I compile the example with MSVC and run it in a Cygwin shell, it does > _not_ > > pop up an error dialog box, so presumably it's in the Cygwin runtime, > > specifically the definition of __assert_func.) > > > > I see the same behavior as William: > > > > ./a.exe < /dev/null > output.txt 2>&1 > > pops a message box. > > > > gcc (GCC) 10.2.0 > > CYGWIN_NT-10.0 XXX 3.1.7(0.340/5/3) 2020-08-22 17:48 x86_64 Cygwin > > mintty 3.4.1 (x86_64-pc-cygwin) > > > > - Andr=C3=A9 Bleau > > It works fine for me. > Can you check 'gcc -M assert.cpp' ? > My result is: > > $ gcc -M assert.cpp > assert.o: assert.cpp /usr/include/assert.h /usr/include/_ansi.h \ > /usr/include/newlib.h /usr/include/_newlib_version.h \ > /usr/include/sys/config.h /usr/include/machine/ieeefp.h \ > /usr/include/sys/features.h /usr/include/cygwin/config.h > Mine is identical. (Same for "uname -a" output, which Andr=C3=A9 posted abo= ve.) The fact that you and Andr=C3=A9 don't get a dialog box gives me hope that there's something in the environment or installation that controls that behavior. (Just to make certain, "works find for me" means that you ran the executable, redirecting both stdin and stderror, and did not get an error popup, right?) --=20 William M. (Mike) Miller | Edison Design Group william.m.miller@gmail.com