[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#974772: intel-media-va-driver: Programs crash with "Illegal instruction" in iHD_drv_video.so



Package: intel-media-va-driver
Version: 20.3.0+dfsg1-1
Severity: important
Tags: ftbfs

Dear Maintainer,

Since my latest debian update, VLC is crashing when playing video with the message:
  Illegal instruction

After a bit of debug in GDB, I have confirmed that the crash comes from:
  /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so

(gdb) bt
#0  0x00007fffa133ba6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#1  0x00007fffa133bb8f in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#2  0x00007fffa133b2c8 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#3  0x00007fffa133bc67 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#4  0x00007fffa1342a05 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#5  0x00007fffa12c6597 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#6  0x00007fffac244e86 in ?? () from /usr/lib/x86_64-linux-gnu/libva.so.2
#7  0x00007fffac245feb in vaInitialize () from /usr/lib/x86_64-linux-gnu/libva.so.2

I am suspecting it is because the package is compiled from a very recent architecture
(i7 with sse4.1 explicitely enabled) which my processor does not support.

I have tryed compiling the package from source, but after tweaking the flags to
set -march=native, the compilation fails:

In file included from [...]/intel-media-driver-20.3.0+dfsg1/media_driver/linux/common/cm/hal/cm_mem_os.h:30,
                 from [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_mem.h:128,
                 from [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_buffer_rt.cpp:33:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h: In function ‘void CmFastMemCopyFromWC(void*, const void*, size_t, CPU_INSTRUCTION_LEVEL)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:582:1: error: inlining failed in call to ‘always_inline’ ‘__m128i _mm_stream_load_si128(__m128i*)’: target specific option mismatch
  582 | _mm_stream_load_si128 (__m128i *__X)
      | ^~~~~~~~~~~~~~~~~~~~~
In file included from [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_mem.h:128,
                 from [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_buffer_rt.cpp:33:
[...]/intel-media-driver-20.3.0+dfsg1/media_driver/linux/common/cm/hal/cm_mem_os.h:201:53: note: called from here
  201 |                         xmm3 = _mm_stream_load_si128(mmSrc + 3);
      |                                ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~

I am wondering what would be a good solution to at least avoid crashes...

Regards,
Christophe

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages intel-media-va-driver depends on:
ii  libc6                          2.30-4
ii  libgcc-s1                      10.2.0-16
ii  libigdgmm11                    20.3.2+ds1-1
ii  libstdc++6                     10.2.0-16
ii  libva2 [libva-driver-abi-1.9]  2.9.0-1

intel-media-va-driver recommends no packages.

intel-media-va-driver suggests no packages.

-- no debconf information

Reply to: