From owner-svn-src-head@freebsd.org Sat Aug 29 17:04:58 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9EB8F3B6A63 for ; Sat, 29 Aug 2020 17:04:58 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound2k.ore.mailhop.org (outbound2k.ore.mailhop.org [54.148.219.64]) (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 4Bf2rn6yRKz3Wmv for ; Sat, 29 Aug 2020 17:04:57 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1598720696; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=Js5teUxyltSINvRkR8Q3tZPiNRCF2UegrYWtGvyl49q7aWYu+MmI4cw+IxkTk1II8WKpv1KHiG/eP qQKTp18D7SVOPM9tjwttvs6NOQp6YRBzjviOak6ZpdQeKe7dQXoJBkkFOXPB37G7wT2R5Uu1l7mDSv vCtkuHzJg1kOYQ8o8D3JP5WWAoR+pbhc+SsX4O8Mhw9ztqM+pOxDLNnTDsgHOn4W13cfnYWfV7JXc1 4F+5jhFHHJgjRj8taTX9m/1cnLHgTOnagEZHZp7SMnGppLlDQMm7BawX43tasghFJFLO7yypX4b8ZA /2TqAmA+zksDCywv+o1yNOzN059pxbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=VYq6hPTT70YeMAZ3R9B0riPxM+Udz7KFGVS536dwSCA=; b=HIVGrY48XQa7T5C+6k8FiWhJ6EerzzmtJttWKZW1Bg+4KSfOkSqmDKGJ391GF3eauh6bU1P0pWzng oTYq9dAH2Jbje8GC6qUlgNmDyUa6YBr7Hm5zy30gpIM59Rng3vAVGPcWSxIozoX1ANIYRnPUsKLYeX 43Ngleu6zNvNwSUNlLL4hxWMlD6XnUA9P6u69GdSdhpk+IQ51bxrYR/2ASYjwFRzv07Ax4iB6QObgB IDj9NOA42/eTv99jQ9jgGeqSORt+Kf+our7i9Wyq2zFiMH9n1M+hYsB5BxQdEE6tCZHXR4sjosqGCK u07Aozzx/WG8auCoUgwMqlOkBLYqEDg== ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=VYq6hPTT70YeMAZ3R9B0riPxM+Udz7KFGVS536dwSCA=; b=UtxOSV7uAupSk+4qwu1zVj8yAhS+k2WNnGiA/VwEQ6p96jG45ThYPxMzlukrF/3xfyh9pwruLzxYX ifxpdXj/NKGfljgIgODmQ6JB3XIc+Fh+I7/qQwtul2s1g0uQcwY++hlBvcQ+jlhuVulTxJcYUDHoOE 8w2UqQMba+0YDV0kNIIr5cAbBslVW3YWTx5c+3V0GU6e+CwdMXmYBHezW1Hp0r4gthU7yEGSVmVhwl 4S3diOe9RiP1B4GKvordD1GKN51GVGB+EtYGw+26BeC+PvlF4hFQN9FUOIqJXKpkb0RlQ0za8X5aYs ZBhk9dY/9DZkCsjbASxkXhErK3jS46Q== X-MHO-RoutePath: aGlwcGll X-MHO-User: c1d63bad-ea19-11ea-b630-6b8aa7872eb8 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id c1d63bad-ea19-11ea-b630-6b8aa7872eb8; Sat, 29 Aug 2020 17:04:55 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 07TH4rOH030633; Sat, 29 Aug 2020 11:04:53 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <0799731356a4ccffedf3ac10048611bec72f7eba.camel@freebsd.org> Subject: Re: svn commit: r364946 - head/sys/kern From: Ian Lepore To: Warner Losh , meloun.michal@gmail.com Cc: Mateusz Guzik , Warner Losh , src-committers , svn-src-all , svn-src-head Date: Sat, 29 Aug 2020 11:04:53 -0600 In-Reply-To: References: <202008290430.07T4UCM4007928@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4Bf2rn6yRKz3Wmv X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[freebsd.org]; TAGGED_RCPT(0.00)[]; ASN(0.00)[asn:16509, ipnet:54.148.0.0/15, country:US] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Aug 2020 17:04:58 -0000 On Sat, 2020-08-29 at 05:02 -0600, Warner Losh wrote: > > > > sbuf_cpy() at _gone_in_dev+0x560 > > pc = 0xffff0000003c1ff0 lr = 0xffff0000003a9078 > > sp = 0xffff00006f21a510 fp = 0xffff00006f21a570 > > > > _gone_in_dev() at sbuf_new_for_sysctl+0x170 > > pc = 0xffff0000003a9078 lr = 0xffff00000037c1a8 > > sp = 0xffff00006f21a580 fp = 0xffff00006f21a5a0 > > > > sbuf_new_for_sysctl() at kernel_sysctl+0x36c > > pc = 0xffff00000037c1a8 lr = 0xffff00000037b63c > > sp = 0xffff00006f21a5b0 fp = 0xffff00006f21a630 > > > > This traceback is all kinds of crazy. sbuf_new_for_sysctl doesn't call > _gone_in_dev(), which doesn't do sbuf stuff at all. And neither does it > call sbuf_cpy(). Though I get a crash that looks like: > Tracing pid 66442 tid 101464 td 0xfffffe02f47b7c00 > kdb_enter() at kdb_enter+0x37/frame 0xfffffe02f4ae3740 > vpanic() at vpanic+0x19e/frame 0xfffffe02f4ae3790 > panic() at panic+0x43/frame 0xfffffe02f4ae37f0 > sbuf_clear() at sbuf_clear+0xac/frame 0xfffffe02f4ae3800 > sbuf_cpy() at sbuf_cpy+0x5a/frame 0xfffffe02f4ae3820 > device_sysctl_handler() at device_sysctl_handler+0x133/frame > 0xfffffe02f4ae38a0 > sysctl_root_handler_locked() at sysctl_root_handler_locked+0x9c/frame > 0xfffffe02f4ae38f0 > sysctl_root() at sysctl_root+0x20a/frame 0xfffffe02f4ae3970 > userland_sysctl() at userland_sysctl+0x17d/frame 0xfffffe02f4ae3a20 > sys___sysctl() at sys___sysctl+0x5f/frame 0xfffffe02f4ae3ad0 > amd64_syscall() at amd64_syscall+0x140/frame 0xfffffe02f4ae3bf0 > fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe02f4ae3bf0 > --- syscall (202, FreeBSD ELF64, sys___sysctl), rip = 0x80042d50a, rsp = > 0x7fffffffd458, rbp = 0x7fffffffd490 --- > > on a sysctl -a which I think makes more sense... I'll see if I can track > it down... I think it's because sbuf_cpy does an unconditional clear, which > triggers this assert, which is likely bogus for this case. sbuf_cat doesn't > seem to have this issue... I'll confirm and commit. > > Warner This kind of crazy happens when the traceback just reports the name of the nearest global symbol it can find because static or other local symbols aren't available to it. The clue that that's what's going on tends to be in things like: sbuf_cpy() at _gone_in_dev+0x560 It's almost certain that _gone_in_dev() isn't a big enough function that an offset of 0x560 is still in that function, so it's really in some static function that got linked nearby but the symbols for statics got stripped. Usually you can use addr2line on kernel.full to get the real names for the pc and lr values. -- Ian