From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 59F1F385840F for ; Tue, 25 Jul 2023 17:17:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 59F1F385840F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1690305429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gCH/Lf4YBWIbctJruf0dUBIItIUrDe/RxI8CojMdrIY=; b=JkponZDqaAFieNyeh98eEXR5kj1iw/2Sgf+7dq5k96094hPHm6nRcBf3viWXLKKyIqamcR nWd5x2fLsT6cxicSzUJuLZ3HXj5oIUE4ZS7DABx4zqcvBjbFdgqT83JcL9Bo6kiS/XcCOE 0aLydqtd2+osHFUvDIoCRXIXI8Ha7Qs= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-453-dco0p9Y2N2SGY0mXyC-N0Q-1; Tue, 25 Jul 2023 13:17:05 -0400 X-MC-Unique: dco0p9Y2N2SGY0mXyC-N0Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E9E2D185A78F; Tue, 25 Jul 2023 17:17:03 +0000 (UTC) Received: from [10.22.16.32] (unknown [10.22.16.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7EB2C15230A0; Tue, 25 Jul 2023 17:17:03 +0000 (UTC) Message-ID: Date: Tue, 25 Jul 2023 10:17:02 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v6 00/15] Handle variable XSAVE layouts To: John Baldwin , gdb-patches@sourceware.org References: <20230714155151.21723-1-jhb@FreeBSD.org> From: Keith Seitz In-Reply-To: <20230714155151.21723-1-jhb@FreeBSD.org> X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi, On 7/14/23 08:51, John Baldwin wrote: > Changes since V5: > > - A few fixes not tied to the new layout handling have been merged to > master. > > - Reworded the comment describing i386_*_core_read_xsave_info in patches > 6 and 8. > I am sorry I am late to the review here, but I've been testing Sapphire Rapids this past week (and its expanded register save area), and thought I would dig into this a bit, testing it on random x86 systems in our (internal) test farm. The (unsurprising) good news is that on RHEL9, this series does not adversely affect regression testing results on ppc64le, aarch64, or s390x. It also greatly improves results on Sapphire Rapids CPUs (at least on the native unix target). However, I've run into some pretty consistent problems which I have not yet begun to investigate (likely all the same bug). With either a Raptor Lake CPU ("13th Gen Intel(R) Core(TM) i7-13700") or Sapphire Rapids ("Intel(R) Xeon(R) Gold 5418Y"), I can get gdb to consistently segfault in memcpy in several tests using gdbserver w/-m32: $ make check RUNTESTFLAGS="--target_board native-gdbserver/-m32" TESTS=gdb.base/auxv.exp [snip] === gdb Summary === # of expected passes 6 # of unexpected failures 1 # of unresolved testcases 5 # of unsupported tests 3 From gdb.log: (gdb) PASS: gdb.base/auxv.exp: info auxv on live process gcore /root/test-fsf-master/gdb/build-x86_64-redhat-linux-gnu/gdb/testsuite/outputs/gdb.base/auxv/auxv.gcore Fatal signal: Segmentation fault ----- Backtrace ----- 0x55ef54b9acda gdb_internal_backtrace_1 ../../gdb/bt-utils.c:122 0x55ef54b9acda _Z22gdb_internal_backtracev ../../gdb/bt-utils.c:168 0x55ef54b9acda _Z22gdb_internal_backtracev ../../gdb/bt-utils.c:154 0x55ef54cc086e handle_fatal_signal ../../gdb/event-top.c:889 0x55ef54cc0a78 handle_sigsegv ../../gdb/event-top.c:962 0x7fd237654dcf ??? 0x55ef54d4e9bf memcpy /usr/include/bits/string_fortified.h:29 0x55ef54d4e9bf _Z18i387_collect_xsavePK8regcacheiPvi ../../gdb/i387-tdep.c:1543 0x55ef54d062c8 gcore_elf_collect_regset_section_cb ../../gdb/gcore-elf.c:85 0x55ef54d057ac gcore_elf_collect_thread_registers ../../gdb/gcore-elf.c:121 0x55ef54d057ac _Z37gcore_elf_build_thread_register_notesP7gdbarchP11thread_info10gdb_signalP3bfdPSt10unique_ptrIcN3gdb13xfree_deleterIcEEEPi ../../gdb/gcore-elf.c:135 0x55ef54db378f linux_corefile_thread ../../gdb/linux-tdep.c:1846 0x55ef54db3aec linux_make_corefile_notes ../../gdb/linux-tdep.c:2102 0x55ef54d06777 _Z27gdbarch_make_corefile_notesP7gdbarchP3bfdPi ../../gdb/gdbarch.c:3743 0x55ef54d06777 write_gcore_file_1 ../../gdb/gcore.c:82 0x55ef54d070f7 _Z16write_gcore_fileP3bfd ../../gdb/gcore.c:119 0x55ef54d070f7 gcore_command ../../gdb/gcore.c:157 0x55ef54be0fe4 _Z8cmd_funcP16cmd_list_elementPKci ../../gdb/cli/cli-decode.c:2735 0x55ef54fca4b0 _Z15execute_commandPKci ../../gdb/top.c:574 0x55ef54cc91b7 _Z15command_handlerPKc ../../gdb/event-top.c:552 0x55ef54cc9263 _Z20command_line_handlerOSt10unique_ptrIcN3gdb13xfree_deleterIcEEE ../../gdb/event-top.c:788 0x55ef54cc048c gdb_rl_callback_handler ../../gdb/event-top.c:259 0x7fd2384c65bd ??? 0x55ef54cc6a1a gdb_rl_callback_read_char_wrapper_noexcept ../../gdb/event-top.c:195 0x55ef54cc6c03 gdb_rl_callback_read_char_wrapper ../../gdb/event-top.c:234 0x55ef54fedc6f stdin_event_handler ../../gdb/ui.c:155 0x55ef551c5f2d gdb_wait_for_event ../gdbsupport/../../gdbsupport/event-loop.cc:694 0x55ef551c5f2d gdb_wait_for_event ../gdbsupport/../../gdbsupport/event-loop.cc:585 0x55ef5522c227 _Z16gdb_do_one_eventi.constprop.0 ../gdbsupport/../../gdbsupport/event-loop.cc:264 0x55ef54dc8634 start_event_loop ../../gdb/main.c:412 0x55ef54dc8634 captured_command_loop ../../gdb/main.c:476 0x55ef54aaee2c captured_main ../../gdb/main.c:1320 0x55ef54aaee2c _Z8gdb_mainP18captured_main_args ../../gdb/main.c:1339 0x55ef54aaee2c main ../../gdb/gdb.c:32 --------------------- A fatal error internal to GDB has been detected, further debugging is not possible. GDB will now terminate. This is a bug, please report it. For instructions, see: . ERROR: GDB process no longer exists A complete list of affected tests: gdb.base/auxv.exp gdb.base/coredump-filter.exp gdb.base/corefile2.exp gdb.base/gcore-tls-pie.exp gdb.base/gcore.exp gdb.base/info-proc.exp gdb.base/patch.exp gdb.base/print-symbol-loading.exp gdb.base/siginfo-obj.exp gdb.base/siginfo-thread.exp gdb.base/solib-search.exp gdb.base/vdso-warning.exp gdb.btrace/gcore.exp gdb.python/py-strfns.exp gdb.reverse/break-precsave.exp gdb.reverse/consecutive-precsave.exp gdb.reverse/finish-precsave.exp gdb.reverse/i386-precsave.exp gdb.reverse/machinestate-precsave.exp gdb.reverse/sigall-precsave.exp gdb.reverse/solib-precsave.exp gdb.reverse/step-precsave.exp gdb.reverse/until-precsave.exp gdb.threads/tls-core.exp same The unix/-m32 target does not exhibit these problems. Just the gdbserver targets (native-gdbserver, native-extended-gdbserver). On my personal machine, a Comet Lake, all of these tests work/pass. Keith