Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crashes randomly #2757

Closed
feute opened this issue Jan 25, 2016 · 12 comments
Closed

crashes randomly #2757

feute opened this issue Jan 25, 2016 · 12 comments
Labels
down-upstream features and bugs that need to be implemented and fixed upstream

Comments

@feute
Copy link

feute commented Jan 25, 2016

crashes at random parts of videos with the following output:

mpv: pushbuf.c:238: pushbuf_krel: Assertion `bkref' failed.
Aborted (core dumped)

although, it says "[vo/opengl] Could not create EGL context!" when playing videos but it doesn't crash, i don't know if the egl context has something to do with it.

@kevmitch
Copy link
Member

Pretty sure this is from nouveau. What version of libdrm are you using?

@feute
Copy link
Author

feute commented Jan 25, 2016

2.4.66

@ghost ghost added the down-upstream features and bugs that need to be implemented and fixed upstream label Jan 25, 2016
@imirkin
Copy link

imirkin commented Feb 7, 2016

This is definitely some form of nouveau fail. It's trying to do a flush, and as part of the pushbuf kick it tries to call into pushbuf_krel() with bs arguments. Not sure how that can happen. Either way, this is probably best tracked over at bugs.freedesktop.org Mesa -> DRI/nouveau .

@imirkin
Copy link

imirkin commented Feb 7, 2016

BTW, if mpv does any sort of multithreading between doing GL and VDPAU calls (or even just GL or just VDPAU calls, s.t. multiple threads are hitting nouveau at the same time), then nouveau will fail. This kind of weirdo crash can be a sign of such failure.

@ghost
Copy link

ghost commented Feb 7, 2016

Yes, concurrent vdpau and GL calls can happen. vdpau is supposed to be thread-safe, though.

@imirkin
Copy link

imirkin commented Feb 7, 2016

Yes, that should totally work. Except on nouveau it doesn't, and can end up in fairly non-sensical errors such as this one, as the two threads attempt to write and submit the same pushbuf. [And no, giving each thread its own pushbuf won't solve the larger issue.]

I guess for now, mpv + vdpau+gl + nouveau = no go.

@orbea
Copy link
Contributor

orbea commented Feb 8, 2016

This looks like a new way this issue has presented itself, this printed at the start of watching a video and there was no crash...

nouveau: kernel rejected pushbuf: Invalid arguments+97MB
nouveau: ch5: krec 0 pushes 1 bufs 15 relocs 0
nouveau: ch5: buf 00000000 00000002 00000004 00000004 00000000
nouveau: ch5: buf 00000001 00000002 00000004 00000004 00000000
nouveau: ch5: buf 00000002 00000006 00000004 00000000 00000004
nouveau: ch5: buf 00000003 00000030 00000004 00000004 00000000
nouveau: ch5: buf 00000004 00000011 00000002 00000002 00000002
nouveau: ch5: buf 00000005 00000008 00000002 00000002 00000002
nouveau: ch5: buf 00000006 00000007 00000002 00000002 00000000
nouveau: ch5: buf 00000007 0000000b 00000002 00000002 00000000
nouveau: ch5: buf 00000008 0000000a 00000002 00000002 00000002
nouveau: ch5: buf 00000009 0000002f 00000002 00000002 00000002
nouveau: ch5: buf 0000000a 0000002d 00000002 00000002 00000000
nouveau: ch5: buf 0000000b 00000033 00000002 00000002 00000002
nouveau: ch5: buf 0000000c 00000031 00000002 00000002 00000000
nouveau: ch5: buf 0000000d 00000037 00000002 00000000 00000002
nouveau: ch5: buf 0000000e 00000034 00000002 00000002 00000000
nouveau: ch5: psh 00000001 00000217fc 00000255f4
nouveau:    0x20048100
nouveau:    0x00000000
nouveau:    0x044d2000
nouveau:    0x00000000
nouveau:    0x003e9300
nouveau:    0x20018106
nouveau:    0x000000e0
nouveau:    0x200180c0
nouveau:    0x00000186
nouveau:    0x20010487
nouveau:    0x0fac6881
nouveau:    0x200203fd
nouveau:    0x05000000
nouveau:    0x02d00000
nouveau:    0x20090200
nouveau:    0x00000000
nouveau:    0x06580000
nouveau:    0x00000500
nouveau:    0x000002d0
nouveau:    0x000000c6
nouveau:    0x00000040
nouveau:    0x00000001
nouveau:    0x00000000
nouveau:    0x00000000
nouveau:    0x2001054e
nouveau:    0x00000000
nouveau:    0x80000574
nouveau:    0x200308e0
nouveau:    0x00000400
nouveau:    0x00000000
nouveau:    0x00551000
nouveau:    0xa00308e3
nouveau:    0x00000180
nouveau:    0x3f000000
nouveau:    0x3f000000
nouveau:    0x80000044
nouveau:    0x80000671
nouveau:    0x800004b9
nouveau:    0x80000e04
nouveau:    0x800103e4
...

I don't think the whole thing needs to be pasted, its long.

@Oleg-Krivosheev
Copy link

There is a bug filed for nouveau with exactly the same issue, https://bugs.freedesktop.org/show_bug.cgi?id=94727

@ghost
Copy link

ghost commented Apr 19, 2016

I think it because of weak graphics card. Mesa 11.2.1 and --vo=xv work without crashes so far.

@ghost
Copy link

ghost commented Apr 19, 2016

I think it because of weak graphics card. Mesa 11.2.1 and --vo=xv work without crashes so far.

This issue is thoroughly analyzed. Either it crashes for you because you use vdpau and opengl, or it's a different bug.

@dilworks
Copy link

dilworks commented Nov 13, 2016

Interesting. I've just met with this bug, but unlike most, I'm not using VDPAU (card is a lowly GF6200 AGP on an prehistoric Pentium 4 crapbox, so no VDPAU possible on this setup, ever). Just noticed that when watching YouTube videos with softsubs, mpv may crash with this error.

Short of switching to AMD (and potentially exposing my sanity to a whole different class of bugs), which should be the most proper end-user-facing workaround there?

@mia-0
Copy link
Member

mia-0 commented Nov 13, 2016

Using NVIDIA’s proprietary drivers, of course. 304.132 should support your card, and surprisingly it will still work with recent kernels if you apply this patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
down-upstream features and bugs that need to be implemented and fixed upstream
Projects
None yet
Development

No branches or pull requests

7 participants