dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 110719] Crash in radeon_drv_video.so when attempting to convert rgb video data
Date: Tue, 21 May 2019 19:01:38 +0000	[thread overview]
Message-ID: <bug-110719-502@http.bugs.freedesktop.org/> (raw)


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

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

            Bug ID: 110719
           Summary: Crash in radeon_drv_video.so when attempting to
                    convert rgb video data
           Product: Mesa
           Version: git
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
          Assignee: dri-devel@lists.freedesktop.org
          Reporter: oreaus@gmail.com
        QA Contact: dri-devel@lists.freedesktop.org

Kernel 5.0.0
Mesa 19.2.0-devel (git-629806b55b)
OpenGL renderer string: AMD Radeon (TM) RX 460 Graphics (POLARIS11, DRM 3.27.0,
5.0.0, LLVM 8.0.0)

I can reproduce the crash with this command:

`ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf
'format=rgb0,hwupload' -vcodec h264_vaapi -bf 0 output.mp4`

The input video does not have to be rgb0 format, this command just tells it
that it is to demonstrate the problem. av_hwframe_transfer_get_formats()
reports rgb0 is supported but clearly there's a problem. This is the backtrace
for h264_vaapi:

Thread 1 "ffmpeg" received signal SIGSEGV, Segmentation fault.
create (enc=0x555555ec73a0) at
../src/gallium/drivers/radeon/radeon_vce_52.c:188
188                     RVCE_CS(enc->chroma->u.legacy.level[0].nblk_x *
enc->chroma->bpe); // encRefPicChromaPitch
(gdb) bt full
#0  0x00007fffd740a407 in create (enc=0x555555ec73a0) at
../src/gallium/drivers/radeon/radeon_vce_52.c:188
        begin = 0x7fffc060102c
        sscreen = 0x555555812020
#1  0x00007fffd73bfe13 in rvce_begin_frame (encoder=0x555555ec73a0,
source=0x5555561c2ea0, picture=<optimized out>) at
../src/gallium/drivers/radeon/radeon_vce.c:291
        fb = {usage = 4, res = 0x555555ed02f0}
        enc = 0x555555ec73a0
        vid_buf = 0x5555561c2ea0
        pic = <optimized out>
        need_rate_control = true
#2  0x00007fffd72d32ed in vlVaEndPicture (ctx=<optimized out>,
context_id=<optimized out>) at ../src/gallium/state_trackers/va/picture.c:655
        drv = 0x55555580c6c0
        context = 0x555555ec3180
        coded_buf = 0x5555561e6360
        surf = 0x5555561f0320
        feedback = 0x555555a6eec0
        screen = <optimized out>
        supported = <optimized out>
        realloc = <optimized out>
        format = <optimized out>
#3  0x00007ffff085d820 in vaEndPicture () at
/usr/lib/x86_64-linux-gnu/libva.so.2
#4  0x00007ffff6212e53 in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#5  0x00007ffff6213149 in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#6  0x00007ffff62137be in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#7  0x00007ffff5dbc6c7 in avcodec_encode_video2 () at
/usr/lib/x86_64-linux-gnu/libavcodec.so.57
#8  0x00007ffff5dbcaad in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#9  0x00007ffff5dbcc5a in avcodec_send_frame () at
/usr/lib/x86_64-linux-gnu/libavcodec.so.57

and for hevc_vaapi:

Thread 1 "ffmpeg" received signal SIGSEGV, Segmentation fault.
0x00007fffd7406f4f in radeon_uvd_enc_encode_params_hevc (enc=0x555555ec7040) at
../src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c:972
972        enc->enc_pic.enc_params.allowed_max_bitstream_size = enc->bs_size;
(gdb) bt full
#0  0x00007fffd7406f4f in radeon_uvd_enc_encode_params_hevc
(enc=0x555555ec7040) at ../src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c:972
        sscreen = 0x555555812020
#1  0x00007fffd7406f4f in encode (enc=0x555555ec7040) at
../src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c:1104
#2  0x00007fffd72d3304 in vlVaEndPicture (ctx=<optimized out>,
context_id=<optimized out>) at ../src/gallium/state_trackers/va/picture.c:656
        drv = 0x55555580c6c0
        context = 0x555555ec4420
        coded_buf = 0x555555ec6180
        surf = 0x5555561f0570
        feedback = 0x5555557bd0c0
        screen = <optimized out>
        supported = <optimized out>
        realloc = <optimized out>
        format = <optimized out>
#3  0x00007ffff085d820 in vaEndPicture () at
/usr/lib/x86_64-linux-gnu/libva.so.2
#4  0x00007ffff6212e53 in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#5  0x00007ffff6213149 in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#6  0x00007ffff62137be in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#7  0x00007ffff5dbc6c7 in avcodec_encode_video2 () at
/usr/lib/x86_64-linux-gnu/libavcodec.so.57
#8  0x00007ffff5dbcaad in  () at /usr/lib/x86_64-linux-gnu/libavcodec.so.57
#9  0x00007ffff5dbcc5a in avcodec_send_frame () at
/usr/lib/x86_64-linux-gnu/libavcodec.so.57

It seems the driver should support this format or at least just report only the
formats it actually supports.

Please note that this bug was discovered by a screen recorder implementing
vaapi. Passing rgb data to the intel vaapi driver works as expected.

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

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

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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

             reply	other threads:[~2019-05-21 19:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-21 19:01 bugzilla-daemon [this message]
2019-07-26 17:46 ` [Bug 110719] Crash in radeonsi_drv_video.so when attempting to convert rgb video data bugzilla-daemon
2019-09-25 18:50 ` bugzilla-daemon

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-110719-502@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox