From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 85C5C3857427 for ; Wed, 1 Jun 2022 07:32:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 85C5C3857427 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9A1A021B14; Wed, 1 Jun 2022 07:32:05 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6DA2313A8F; Wed, 1 Jun 2022 07:32:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id qXBoGfUVl2IdNgAAMHmgww (envelope-from ); Wed, 01 Jun 2022 07:32:05 +0000 Message-ID: Date: Wed, 1 Jun 2022 09:32:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH v2 00/16] Fortran compiler identification and ifx testsuite support Content-Language: en-US To: "Kempke, Nils-Christian" , Andrew Burgess , "gdb-patches@sourceware.org" Cc: "JiniSusan.George@amd.com" References: <20220531092423.2361679-1-nils-christian.kempke@intel.com> <87ilpld6ho.fsf@redhat.com> <12857ee9-3770-53cf-355c-247144150736@suse.de> From: Tom de Vries In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2022 07:32:08 -0000 On 6/1/22 09:10, Kempke, Nils-Christian wrote: > > >> -----Original Message----- >> From: Gdb-patches > christian.kempke=intel.com@sourceware.org> On Behalf Of Kempke, Nils- >> Christian via Gdb-patches >> Sent: Wednesday, June 1, 2022 8:44 AM >> To: Tom de Vries ; Andrew Burgess >> ; gdb-patches@sourceware.org >> Cc: JiniSusan.George@amd.com >> Subject: RE: [PATCH v2 00/16] Fortran compiler identification and ifx testsuite >> support >> >>> -----Original Message----- >>> From: Tom de Vries >>> Sent: Wednesday, June 1, 2022 7:14 AM >>> To: Andrew Burgess ; Kempke, Nils-Christian >> >> christian.kempke@intel.com>; gdb-patches@sourceware.org >>> Cc: JiniSusan.George@amd.com >>> Subject: Re: [PATCH v2 00/16] Fortran compiler identification and ifx >> testsuite >>> support >>> >>> On 6/1/22 06:54, Tom de Vries wrote: >>>> On 5/31/22 21:33, Tom de Vries via Gdb-patches wrote: >>>>> I'm seeing regressions with check-read1 (haven't tried native yet), >>>>> I'm guessing because of this patch series: >>>>> ... >>>>> FAIL: gdb.fortran/allocated.exp: gdb_breakpoint: set breakpoint at >>>>> unknown >>>> >>>> I could reproduce this with native, but only when running the entire >>>> testsuite, not just the test-case. >>>> >>>> This looks like problems due to the caching of compiler_info, which >>>> doesn't take the language argument of proc get_compiler_info into >>> account. >>>> >>> >>> That's confirmed. I did a run with caching disabled, and these FAILs >>> disappeared. >>> >>> Thanks, >>> - Tom >>> >>>> So, if I run the entire test suite, compiler_info is set to gcc-7-5-0 >>>> and stays that way due to the caching, and because of this series gcc is >>>> no longer matched in proc fortran_main, so we run into FAILs. >>>> >>>> Thanks, >>>> - Tom >> >> Hi, >> >> Sorry for this, I could not see any of these regressions in our CI nor in the >> runs >> I did manually. I assume something is different in the way I am running the >> Testsuite. I thought the caching would only ever happen for each individual >> test rather than multiple ones. But apparently there is a way this can be done >> cached over different tests? >> >> I/CI ran the testsuite like >> >> make check TESTS="gdb.*/*.exp" FORCE_PARALLEL='1' -j $(nproc --ignore >> 1) >> >> as well as >> >> make check TESTS="gdb.*/*.exp" RUNTESTFLAGS='--target_board="unix" \ >> CC_FOR_TARGET='gcc' CXX_FOR_TARGET='gcc' \ >> F90_FOR_TARGET="gfortran"' FORCE_PARALLEL='1' -j $(nproc --ignore 1) >> >> (and then the same for unix/-m32, and native-gdbserver and >> native-extended-gdbserver) >> >> and >> >> make check -j $(nproc --ignore 1) >> >> I assume I am somewhat running the testsuite differently. >> >> Could you tell me how to run the testsuite instead? >> >> Thanks, >> Nils > > Ok, so apparently running the testsuite in any kind of parallel mode disables this > caching? > I don't think it's that. But if there's an error in caching, the first invocation becomes significant, and with parallel testing each parallel instance does its own first invocation, so it's possible that you get different results between parallel and non-parallel. > I can reproduce these with plain > > make check > > Sorry for missing this. I'll try an push a patch to fix this - not sure if we should > revert until then as the series seems to cause regressions on all of the Fortran > testsuite... No problem of course, it happens. I suppose the thing we really want to fix is the caching which needs to be made language-specific. But I imagine some simple workaround like this: ... diff --git a/gdb/testsuite/lib/fortran.exp b/gdb/testsuite/lib/fortran.exp index 9ee4208fb88..aa3882794a9 100644 --- a/gdb/testsuite/lib/fortran.exp +++ b/gdb/testsuite/lib/fortran.exp @@ -177,6 +177,7 @@ proc fortran_character1 {} { proc fortran_main {} { if {[test_compiler_info {gfortran-*} f90] + || [test_compiler_info {gcc-*} f90] || [test_compiler_info {ifort-*} f90] || [test_compiler_info {ifx-*} f90] || [test_compiler_info {flang-llvm-*} f90]} { ... will already take care of the regressions. Thanks, - Tom