Bug 1210427 - vdpauinfo segfaults with LLVM ERROR
Summary: vdpauinfo segfaults with LLVM ERROR
Status: RESOLVED DUPLICATE of bug 1214189
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Leap 15.5
Hardware: x86-64 openSUSE Leap 15.5
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Andrea Manzini
QA Contact: Gfx Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-13 13:22 UTC by Carlos Robinson
Modified: 2023-08-26 13:21 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
strace of hw-probe -max -verbose (1.72 MB, application/x-bzip)
2023-08-10 21:08 UTC, Carlos Robinson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Robinson 2023-04-13 13:22:59 UTC
I'm trying to run a probe of this laptop for uploading to <http://linux-hardware.org>, but it doesn't work.

Beta:~ # hw-probe -all 
WARNING: 'edid-decode' package is not installed
Probe for hardware ... Ok
Reading logs ... sh: line 1:  7708 Segmentation fault      (core dumped) LC_ALL=C vdpauinfo 2>&1
Ok
Local probe path: /root/HW_PROBE/LATEST/hw.info
Beta:~ # 

Beta:~ # coredumpctl 
No coredumps found.
Beta:~ # 


zypper fails to find edid-decode
Comment 1 Andrea Manzini 2023-08-05 13:55:22 UTC
edid-decode can be found on OBS https://build.opensuse.org/package/show/hardware/edid-decode , but it's optional and it's used only to decode binary data encoded in the monitor firmware, so I don't think it is the cause of segfault.

can't reproduce the segfault on my system, I suspect it's something related to the specific hardware.  Will try on some other machine as well and report. 

$ sudo -E hw-probe -all
WARNING: 'edid-decode' package is not installed
Probe for hardware ... Ok
Reading logs ... Ok
Local probe path: /root/HW_PROBE/LATEST/hw.info

@Carlos can you try with other options, maybe excluding some hardware components ? For example: 
# hw-probe -probe
# hw-probe -show-devices
# hw-probe -list 
# hw-probe -min -verbose
# hw-probe -max -verbose

Thanks
Comment 2 Carlos Robinson 2023-08-10 21:06:28 UTC
The one that fails is "hw-probe -max -verbose". I can try obtain a trace.


Laicolasse:~/tmp # strace --output=hw-probe.strace --follow-forks --output-separately hw-probe -max -verbose
WARNING: 'edid-decode' package is not installed
Probe for hardware ... Ok
Reading logs ... sh: line 1: 19380 Segmentation fault      (core dumped) LC_ALL=C vdpauinfo 2>&1
Ok
Local probe path: /root/HW_PROBE/LATEST/hw.info
Laicolasse:~/tmp # 

Produced 668 strace files!

There is one hw-probe.strace.19380

I paste the end of it:

execve("/usr/bin/vdpauinfo", ["vdpauinfo"], 0x55d716549900 /* 57 vars */) = 0

...

close(4)                                = 0
brk(0x55570e543000)                     = 0x55570e543000
brk(0x55570e56b000)                     = 0x55570e56b000
rt_sigprocmask(SIG_BLOCK, ~[SEGV SYS RTMIN RT_1], [], 8) = 0
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7ffb46ffe000
mprotect(0x7ffb46fff000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7ffb477fdfb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[19393], tls=0x7ffb477fe700, child_tidptr=0x7ffb477fe9d0) = 19393
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
openat(AT_FDCWD, "/root/.cache/mesa_shader_cache/7d/e1b57c936a1787af80189b762840b1800d55a6", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=243, ...}) = 0
read(4, "\00123bb649eb6b936b6fc0bd105f92f31e"..., 243) = 243
close(4)                                = 0
brk(0x55570e58c000)                     = 0x55570e58c000
rt_sigprocmask(SIG_BLOCK, ~[SEGV SYS RTMIN RT_1], [], 8) = 0
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7ffb467fd000
mprotect(0x7ffb467fe000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7ffb46ffcfb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[19394], tls=0x7ffb46ffd700, child_tidptr=0x7ffb46ffd9d0) = 19394
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x55570e15b900, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x55570e15b8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffb78c999d0, FUTEX_WAIT, 19384, NULL) = 0
futex(0x7ffb7949a9d0, FUTEX_WAIT, 19383, NULL) = ?
+++ killed by SIGSEGV (core dumped) +++


I will zip the entire trace and attach, just under 2 MB. HTH.


Calling "vdpauinfo" also coredupms:


Laicolasse:~/tmp # vdpauinfo vdpauinfo
vdpauinfo: unrecognized option 'vdpauinfo'
Try 'vdpauinfo --help' for more information.
Laicolasse:~/tmp # vdpauinfo
display: :0.0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420    16384 16384  NV12 YV12 
422    16384 16384  UYVY YUYV 
444    16384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                    3 65536  4096  4096
MPEG2_MAIN                      3 65536  4096  4096
H264_BASELINE                  --- not supported ---
H264_MAIN                      --- not supported ---
H264_HIGH                      --- not supported ---
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                   --- not supported ---
MPEG4_PART2_SP                  3 65536  4096  4096
MPEG4_PART2_ASP                 5 65536  4096  4096
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      --- not supported ---
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      --- not supported ---
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 I8A8 
R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 I8A8 
R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 I8A8 
B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y        48     4096
VIDEO_SURFACE_HEIGHT             y        48     4096
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y  


LLVM ERROR: Do not know how to split the result of this operator!

Aborted (core dumped)
Laicolasse:~/tmp #
Comment 3 Carlos Robinson 2023-08-10 21:08:23 UTC
Created attachment 868752 [details]
strace  of hw-probe -max -verbose
Comment 4 Andrea Manzini 2023-08-11 07:08:40 UTC
Good job, at least we narrowed down the problem!

Looks like not an hw-probe problem itself, most likely your combination of OS and hardware hit one of vdpauinfo bugs (https://gitlab.freedesktop.org/vdpau/vdpauinfo/-/issues) or LLVM. 

I'd recommend first to update LLVM packages, then retry and in case file a bug against package libvdpau, including detailed info like which kind of graphics card and driver you are currently using.

Many thanks for the help
Comment 5 Carlos Robinson 2023-08-11 11:04:12 UTC
I see that the component has been changed to "X11 3rd Party Driver". Notice that I am not using any external party driver, just what it comes in the official Leap distro.

I can obtain the output from hwinfo or inxi and post it. It is a Lenovo laptop, Lenovo L14 Gen3, bought this year.

I am using Leap, I don't see updates for llvm or vdpauinfo in https://software.opensuse.org/search.

"opi llvm" produces 238 hits, so I'm very confused. 

"opi vdpauinfo" produces nothing.


Opened Bug 1214189 - vdpauinfo segfaults and coredumps


Laicolasse:~ # inxi -SGaz
System:
  Kernel: 5.14.21-150500.55.12-default arch: x86_64 bits: 64 compiler: gcc
    v: 7.5.0 parameters: BOOT_IMAGE=/boot/vmlinuz-5.14.21-150500.55.12-default
    root=UUID=858cc569-e2ae-4d12-adf6-3a06ade8281c security=apparmor
    no_console_suspend splash=silent resume=/dev/disk/by-label/Swap
    preempt=full quiet mitigations=auto
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.34 info: xfce4-panel wm: xfwm
    v: 4.18.0 dm: 1: GDM v: 41.3 2: SDDM note: stopped
    Distro: openSUSE Leap 15.5
Graphics:
  Device-1: AMD Barcelo vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-2
    code: Navi-2x process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 3
    speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports:
    active: eDP-1 empty: DP-1,DP-2,HDMI-A-1 bus-ID: 07:00.0 chip-ID: 1002:15e7
    class-ID: 0300 temp: 42.0 C
  Device-2: Luxvisions Innotech Integrated RGB Camera type: USB
    driver: uvcvideo bus-ID: 3-3.2:4 chip-ID: 30c9:0050 class-ID: fe01
    serial: <filter>
  Display: server: X.Org v: 1.20.3 with: Xwayland v: 22.1.5 compositor: xfwm
    v: 4.18.0 driver: X: loaded: amdgpu unloaded: fbdev,modesetting,radeon,vesa
    dri: radeonsi gpu: amdgpu display-ID: localhost:10.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 mapped: DVI-D-0 model: AU Optronics 0x639c built: 2021
    res: 1920x1080 hz: 60 dpi: 92 gamma: 1.2 size: 531x298mm (20.91x11.73")
    diag: 355mm (14") ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: OpenGL v: 4.5 Mesa 22.3.5 renderer: llvmpipe (LLVM 15.0.7 256 bits)
    direct render: Yes
Laicolasse:~ #
Comment 6 Andrea Manzini 2023-08-12 09:48:49 UTC
Thanks for the details about hardware; we can close this and follow only
https://bugzilla.suse.com/show_bug.cgi?id=1214189

AMD and ATI open-source drivers usually support both VA-API and VDPAU, but it's possible that your GPU is not yet supported by upstream libvdpau. 

As a suggestion, I'd consider switching to VAAPI and see if you have similar behavior.
Comment 7 Carlos Robinson 2023-08-12 11:46:25 UTC
Sorry, I do not know what "switching to VAAPI" means.

I am not using any "drivers". I just installed the distro on automatics. Whatever YaST decided, that is what I have. X starts fine and I didn't do anything.

That's why I use AMD graphics, I'm tired of Nvidia antics. It just works.


My intention with hwprobe was simply to upload the information about this laptop, as someone had suggested I could do, but it did not work.
Comment 8 Stefan Dirsch 2023-08-26 13:21:49 UTC
(In reply to Andrea Manzini from comment #6)
> Thanks for the details about hardware; we can close this and follow only
> https://bugzilla.suse.com/show_bug.cgi?id=1214189

Ok. Closing as duplicate.

*** This bug has been marked as a duplicate of bug 1214189 ***