Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Nov 2019 09:49:37 -0800
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        Mark Johnston <markj@freebsd.org>, freebsd-current@freebsd.org, freebsd-x11@freebsd.org
Subject:   Re: unkillable process consuming 100% cpu
Message-ID:  <20191113174937.GA4315@troutmask.apl.washington.edu>
In-Reply-To: <7e12007d-bc50-0d2a-89af-21ab30259272@selasky.org>
References:  <20191107202919.GA4565@troutmask.apl.washington.edu> <20191107203223.GF16978@raichu> <20191108220935.GA856@troutmask.apl.washington.edu> <6a4e5993-623a-ebaa-8180-e11c7d48e706@selasky.org> <20191112173136.GA69344@troutmask.apl.washington.edu> <0961307a-8b14-8240-0466-6bb4edf52788@selasky.org> <20191113003001.GA94074@troutmask.apl.washington.edu> <1de2773b-3f54-472b-65a1-0f1c297aab60@selasky.org> <20191113145204.GA3650@troutmask.apl.washington.edu> <7e12007d-bc50-0d2a-89af-21ab30259272@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 13, 2019 at 04:22:19PM +0100, Hans Petter Selasky wrote:
> On 2019-11-13 15:52, Steve Kargl wrote:
> >      at /usr/src/sys/amd64/amd64/trap.c:743
> > #7  0xffffffff808b0468 in trap (frame=0xfffffe00b460e0c0)
> >      at /usr/src/sys/amd64/amd64/trap.c:407
> > #8  <signal handler called>
> > #9  0x0000000000000000 in ?? ()
> > #10 0xffffffff817d2c0f in radeon_ttm_tt_to_gtt (ttm=0xfffff80061eeb248)
> >      at /usr/local/sys/modules/drm-current-kmod/drivers/gpu/drm/radeon/radeon_ttm.c:720
> > #11 radeon_ttm_tt_set_userptr (ttm=0xfffff80061eeb248, addr=1,
> >      flags=2147483647)
> 
> Hi,
> 
> I don't see any function call here. Can you try to double check the 
> backtrace?
> 
> Which version of FreeBSD is this?
> 

% uname -a (trimmed)
FreeBSD 13.0-CURRENT r353571

% kgdb /usr/lib/debug/boot/kernel/kernel.debug vmcore.2
% bt
...
#7  0xffffffff808b0468 in trap (frame=0xfffffe00b460e0c0)
    at /usr/src/sys/amd64/amd64/trap.c:407
#8  <signal handler called>
#9  0x0000000000000000 in ?? ()
#10 0xffffffff817d2c0f in radeon_ttm_tt_to_gtt (ttm=0xfffff80061eeb248)
    at /usr/local/sys/modules/drm-current-kmod/drivers/gpu/drm/radeon/radeon_ttm.c:720
#11 radeon_ttm_tt_set_userptr (ttm=0xfffff80061eeb248, addr=1, 
    flags=2147483647)
    at /usr/local/sys/modules/drm-current-kmod/drivers/gpu/drm/radeon/radeon_ttm.c:804
#12 0xffffffff817adc9b in radeon_is_px (dev=0xfffff8017fe84e00)
    at /usr/local/sys/modules/drm-current-kmod/drivers/gpu/drm/radeon/radeon_device.c:156

Looking at radeon_ttm.c, line 720 is the if-stmt in this function

static struct radeon_ttm_tt *radeon_ttm_tt_to_gtt(struct ttm_tt *ttm)
{
 if (!ttm || ttm->func != &radeon_backend_func)
  return NULL;
 return (struct radeon_ttm_tt *)ttm;
}

(kgdb) p ttm->func
$2 = (struct ttm_backend_func *) 0x2310000
(kgdb) p &radeon_backend_func
$4 = (struct ttm_backend_func *) 0xffffffff8186d870 <radeon_backend_func>

AFAIK, 0x2310000 is not a valid address.

(kgdb) p *ttm
$5 = {bdev = 0xffffffff819021ef, func = 0x2310000, dummy_read_page = 0x0, 
  pages = 0xfffff800612c0000, page_flags = 2173789980, num_pages = 0, 
  sg = 0x0, glob = 0x2a, swap_storage = 0xfffff8017fe84e00, 
  caching_state = (unknown: 145613312), 
  state = (tt_unbound | tt_unpopulated | unknown: 4294965248)}

Moving to frame 12 suggests that the stack is corrupt (whether
by the dump or the crash I don't know)

(kgdb) frame 12
#12 0xffffffff817adc9b in radeon_is_px (dev=0xfffff8017fe84e00)
    at /usr/local/sys/modules/drm-current-kmod/drivers/gpu/drm/radeon/radeon_device.c:156
156             if (rdev->flags & RADEON_IS_PX)
(kgdb) p *dev
Cannot access memory at address 0xfffff8017fe84e00
(kgdb) p rdev
$25 = (struct radeon_device *) 0x0


-- 
Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20191113174937.GA4315>