From nobody Mon Nov 01 09:39:05 2021 X-Original-To: hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 772C418258D6; Mon, 1 Nov 2021 09:39:14 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4HjSfV0pncz3nVn; Mon, 1 Nov 2021 09:39:13 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 1A19d6wR040455 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 1 Nov 2021 11:39:09 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 1A19d6wR040455 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 1A19d5jE040454; Mon, 1 Nov 2021 11:39:05 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 1 Nov 2021 11:39:05 +0200 From: Konstantin Belousov To: Andriy Gapon Cc: freebsd-stable List , hackers@freebsd.org Subject: Re: gdb cannot cross doreti_ast ? Message-ID: References: <7064dc89-202e-36ea-02c5-a8872eac8eb4@FreeBSD.org> List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7064dc89-202e-36ea-02c5-a8872eac8eb4@FreeBSD.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.5 X-Spam-Checker-Version: SpamAssassin 3.4.5 (2021-03-20) on tom.home X-Rspamd-Queue-Id: 4HjSfV0pncz3nVn X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N On Mon, Nov 01, 2021 at 10:51:11AM +0200, Andriy Gapon wrote: > > I have a crash dump and kgdb (from gdb 10.2) cannot cross doreti_ast() when > examining a stack trace: > > #0 sched_switch (td=0xfffff801291507c0, newtd=0xfffff80061bc97c0, > flags=) at /usr/src/sys/kern/sched_ule.c:2146 > #1 0xffffffff80748494 in mi_switch (flags=266, newtd=0x0) at > /usr/src/sys/kern/kern_synch.c:452 > #2 0xffffffff80751154 in thread_suspend_switch (td=0xfffff801291507c0, > p=) at /usr/src/sys/kern/kern_thread.c:1118 > #3 0xffffffff80750f74 in thread_single (p=0xfffff8011df70000, > mode=) at /usr/src/sys/kern/kern_thread.c:862 > #4 0xffffffff80702b86 in exit1 (td=0xfffff801291507c0, rval=0, signo=15) at > /usr/src/sys/kern/kern_exit.c:240 > #5 0xffffffff80740f3a in sigexit (td=0xfffff801291507c0, sig=15) at > /usr/src/sys/kern/kern_sig.c:3194 > #6 0xffffffff8074230f in postsig (sig=15) at /usr/src/sys/kern/kern_sig.c:3079 > #7 0xffffffff80794b43 in ast (framep=0xfffffe0105a76c00) at > /usr/src/sys/kern/subr_trap.c:331 > #8 0xffffffff809b5449 in doreti_ast () at /usr/src/sys/amd64/amd64/exception.S:1150 > #9 0x00000008020c7400 in ?? () > #10 0x0000000000000011 in ?? () > #11 0x0000000000000000 in ?? () > > It's only a minor annoyance, but I would like to get it fixed. > Maybe some markers need to be added to doreti_ast? > Or some smarts need to be added to gdb to recognize doreti_ast? What do you want to see above doreti_ast? Basically there is no kernel frames, except the struct trapframe at the very top. doreti_ast is the last point with interrupts enabled (again) before return to usermode. The only wrong thing in this trace is that gdb did not stopped the unwinding. It might be that we could add some dwarf annotation to indicate the 'no frame' place.