All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [Bug 92438] Segfault in pushbuf_kref when running the android emulator (qemu) on nv50
Date: Sat, 31 Oct 2015 17:18:01 +0000	[thread overview]
Message-ID: <bug-92438-8800-Ys0sE4ZH0Q@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-92438-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>


[-- Attachment #1.1: Type: text/plain, Size: 2146 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=92438

--- Comment #23 from Ilia Mirkin <imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org> ---
(In reply to Jim Blandy from comment #21)
> I have no idea what this code is supposed to be doing, but here's what I can
> infer:
> 
> The call to pushbuf_kref crashes because the `struct nouveau_bo *bo`
> argument is NULL, and cli_push_get tries to use it. The caller of
> pushbuf_kref, pushbuf_validate, is iterating over a list of brefs; the
> current bref's bo field is NULL.
> 
> This bref was created by nouveau_bufctx_refn, which was passed a NULL `bo`
> argument. Its caller is nvc0_add_resident, which was passed a `struct
> nv04_resource *` whose `bo` field is NULL.
> 
> This nv04_resource was created by a call to nouveau_buffer_create in which
> buffer->domain is never set to anything other than 0. Looking at
> nouveau_buffer_allocate, it seems like a domain of zero is a legitimate
> value; the last branch of the if-else chain asserts that this is the case.
> Since that path doesn't set buf->bo, it seems it's legitimate for buf->bo to
> be NULL.
> 
> pushbuf_kref seems adamant that bo should be non-NULL; both cli_push_get and
> cli_kref_get require it. At this point I'm lost: should nouveau_bufctx_refn
> never be passed a NULL bo? Should such a bufref never make it onto the list
> that pushbuf_validate sees? I'm not sure.
> 
> Here's the stack trace at the call to nouveau_bufctx_refn:
> 
> #0  nouveau_bufctx_refn (bctx=0x555555b3eea0, bin=bin@entry=1, bo=0x0,
> flags=256) at bufctx.c:126
> #1  0x00007ffff0c33154 in nvc0_add_resident (flags=256, res=0x555555bf4800,
> bin=1, bufctx=<optimized out>) at nvc0/nvc0_winsys.h:29
> #2  nvc0_validate_vertex_buffers_shared (nvc0=0x555555b3cf30) at
> nvc0/nvc0_vbo.c:407

Whoa, great analysis! And makes a *ton* more sense than my thought, which was
that the GPU hung and we ran out of GEM handles making pushbufs.

So this is one of those idiotic bo-less resources. Ugh. Will check if your
repro makes it happen for me too.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 3135 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

  parent reply	other threads:[~2015-10-31 17:18 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12 12:59 [Bug 92438] New: Segfault in pushbuf_kref when running the android emulator (qemu) on nv50 bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
     [not found] ` <bug-92438-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
2015-10-12 13:00   ` [Bug 92438] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-12 17:35   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-12 20:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13  6:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13  7:22   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13  7:46   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13 12:08   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13 20:17   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13 20:19   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13 20:19   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-13 20:19   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-15 19:26   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-15 19:32   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-15 19:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-15 19:42   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-15 19:53   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-16  9:00   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-21 22:58   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-24 12:04   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-30 13:04   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-30 13:26   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-31 14:15   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-31 15:37   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-31 16:19   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-31 17:18   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ [this message]
2015-10-31 22:22   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-10-31 23:11   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-01  7:32   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-01  7:36   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-01  7:38   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-01 16:52   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-01 21:44   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-23  5:30   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-23  9:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-23 10:34   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-11-23 14:12   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-12-04 13:10   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-12-04 14:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-12-04 14:45   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-12-04 15:24   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2015-12-04 15:29   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2016-09-15  4:09   ` [Bug 92438] Segfault in pushbuf_kref on nv50 when rendering from multiple threads bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2016-09-15  4:09   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2016-12-10 14:35   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2016-12-11 22:29   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2017-01-02  7:37   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2019-09-18 20:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2019-09-18 20:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-92438-8800-Ys0sE4ZH0Q@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon-cc+yj3umiyqdupfqwhejaq@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.