<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>40058</bug_id>
          
          <creation_ts>2021-05-16 11:46:54 +0300</creation_ts>
          <short_desc>При обновлении ядра разрушается /etc/libnvidiacurrent/libEGL.so</short_desc>
          <delta_ts>2021-05-19 13:41:28 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>update-kernel</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eugine V. Kosenko">eugine.kosenko</reporter>
          <assigned_to name="Vitaly Chikunov">vt</assigned_to>
          <cc>aen</cc>
    
    <cc>boyarsh</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>stalker</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>198509</commentid>
    <comment_count>0</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-16 11:46:54 +0300</bug_when>
    <thetext>Перед обновлением:

$ ls -l /etc/libnvidiacurrent/libEGL.so
-rw-r--r-- 1 root root 987736 мар  3 11:08 /etc/libnvidiacurrent/libEGL.so

$ hexdump /etc/libnvidiacurrent/libEGL.so|head
0000000 457f 464c 0102 0001 0000 0000 0000 0000
0000010 0003 003e 0001 0000 4240 0002 0000 0000
...

$ sudo update-kernel
Running kernel version: kernel-image-std-def-2:5.10.29-alt1
Checking for available std-def kernel packages...
пакет kernel-image-std-def-2:5.10.35-alt1:sisyphus+271317.100.1.1@1620400388 не установлен
Try to install new kernel kernel-image-std-def-2:5.10.35-alt1:sisyphus+271317.100.1.1@1620400388 and update its modules [y]/n? 
update-kernel: kernel-modules-drm is installed, trying to update...
update-kernel: kernel-modules-nvidia is installed, trying to update...
update-kernel: kernel-modules-virtualbox is installed, trying to update...
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие НОВЫЕ пакеты будут установлены:
  kernel-image-std-def#2:5.10.35-alt1:sisyphus+271317.100.1.1@1620400388 kernel-modules-drm-std-def#2:5.10.35-alt1:sisyphus+271317.100.1.1@1620400070
  kernel-modules-nvidia-std-def#460.73.01-alt1.330275.1:sisyphus+271317.2500.1.1@1620401518
  kernel-modules-virtualbox-std-def#6.1.20-alt1.330275.1:sisyphus+271317.4600.1.1@1620402263
0 будет обновлено, 4 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B/111MB архивов.
После распаковки потребуется дополнительно 493MB дискового пространства.
Совершаем изменения...
Подготовка...                                     #################################################################################################### [100%]
Обновление / установка...
1: kernel-image-std-def-2:5.10.35-alt1            #################################################################################################### [ 25%]
2: kernel-modules-drm-std-def-2:5.10.35-alt1      #################################################################################################### [ 50%]
3: kernel-modules-nvidia-std-def-460.73.01-alt1.33#################################################################################################### [ 75%]
4: kernel-modules-virtualbox-std-def-6.1.20-alt1.3#################################################################################################### [100%]
[00:00:00] Config file: /etc/initrd.mk
[00:00:01] Generating module dependencies on host ...
[00:00:05] Creating initrd image ...
initrd-put: copy_file_range: /etc/libnvidiacurrent/libEGL.so -&gt; /etc/libnvidiacurrent/libEGL.so: Invalid argument
make[2]: *** [/usr/share/make-initrd/mk/make-initrd.mk:101: create] Ошибка 123
make[1]: *** [/usr/share/make-initrd/mk/make-initrd.mk:167: process-config] Ошибка 2
make: *** [/usr/share/make-initrd/mk/make-initrd.mk:157: all] Ошибка 1
Generating grub configuration file ...
Found theme: /boot/grub/themes/workstation/theme.txt
Found background image: /usr/share/plymouth/themes/workstation/grub.jpg
Found linux image: /boot/vmlinuz-5.10.35-std-def-alt1
Found linux image: /boot/vmlinuz
Found initrd image: /boot/initrd.img
Found linux image: /boot/vmlinuz-std-def
skipping symlink: /boot/vmlinuz-std-def
Found linux image: /boot/vmlinuz-5.10.29-std-def-alt1
Found initrd image: /boot/initrd-5.10.29-std-def-alt1.img
Found linux image: /boot/vmlinuz-5.4.91-std-def-alt1
Found initrd image: /boot/initrd-5.4.91-std-def-alt1.img
Found linux image: /boot/vmlinuz-5.4.80-std-def-alt1
Found initrd image: /boot/initrd-5.4.80-std-def-alt1.img
Found memtest image: memtest-5.31b.bin
done
Завершено.
ldconfig: /etc/libnvidiacurrent/libEGL.so не является файлом в формате ELF — неправильная сигнатура в начале.

ldconfig: /etc/libnvidiacurrent/libEGL.so.1 не является файлом в формате ELF — неправильная сигнатура в начале.

$ ls -l /etc/libnvidiacurrent/libEGL.so
-rw-r--r-- 1 root root 987736 мая 16 11:43 /etc/libnvidiacurrent/libEGL.so

$ hexdump /etc/libnvidiacurrent/libEGL.so|head
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
00f1250 0000 0000 0000 0000                    
00f1258

Файлы легко восстанавливаются после

$ sudo apt-get reinstall nvidia_glx_340.108</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198510</commentid>
    <comment_count>1</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-16 11:52:54 +0300</bug_when>
    <thetext>Вообще конкретно достало, что регулярно ломается изображение в Google Chrome и Skype после срабатывания хранителя экрана, либо засыпания и дальнейшего просыпания. После перезапуска все хорошо до следующего хранителя экрана или засыпания. А иногда отваливается и сам хранитель, экран тупо перестает гаснуть по времени.

Грешил на все: на сам Хром, на его плагины, на аппаратуру, на версию ядра. Сегодня решил попробовать таки перейти на nouveau, и сразу обнаружил вот это. Теперь уже точно nvidia не запустится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198512</commentid>
    <comment_count>2</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-16 12:15:07 +0300</bug_when>
    <thetext>И да, после перехода на nouveau проблемы в самом деле ушли</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198513</commentid>
    <comment_count>3</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-16 12:43:52 +0300</bug_when>
    <thetext>Но перестало работать выключение экрана :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198519</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-17 11:12:26 +0300</bug_when>
    <thetext>&gt; ldconfig: /etc/libnvidiacurrent/libEGL.so не является файлом в формате ELF — 
&gt; неправильная сигнатура в начале.
Я вообще слабо понимаю, как такое может быть. Я нигде сами файлы не трогаю.

Эта проблема иногда вылазит при обновлении vlc и libgdk-pixbuf, когда они в post запускает обновление кэша модулей, которые подгружают и обламываются на том, что слинкован с libGL, который в тот момент от nvidia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198520</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-17 11:32:10 +0300</bug_when>
    <thetext>В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и указывают только на соседние файлы. Переключается только сам симлинк на каталог -- /etc/libnvidiacurrent .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198521</commentid>
    <comment_count>6</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-05-17 11:34:45 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #5)
&gt; В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и
&gt; указывают только на соседние файлы. Переключается только сам симлинк на
&gt; каталог -- /etc/libnvidiacurrent .

а в какой момент переключается этот симлинк на каталог?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198522</commentid>
    <comment_count>7</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-17 11:40:09 +0300</bug_when>
    <thetext>(In reply to Anton V. Boyarshinov from comment #6)
&gt; (Ответ для Sergey V Turchin на комментарий #5)
&gt; &gt; В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и
&gt; &gt; указывают только на соседние файлы. Переключается только сам симлинк на
&gt; &gt; каталог -- /etc/libnvidiacurrent .
&gt; 
&gt; а в какой момент переключается этот симлинк на каталог?

А! Кажется, понял. Возможно, это битые файлы в самом /usr/X11R6/lib64/nvidia_0/, куда переключается libnvidiacurrent. Тогда да, проблема в самом драйвере, получается.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198523</commentid>
    <comment_count>8</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-17 11:47:04 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #5)
&gt; В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и
&gt; указывают только на соседние файлы. Переключается только сам симлинк на
&gt; каталог -- /etc/libnvidiacurrent .

Еще страньше. Только что, на новом ядре, поставил заново драйвера nvidia, все поднялось и без ошибок. Так что воспроизвести ситуацию не получилось. Вечером попробую повторить на экспериментальном ноуте.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198524</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-17 11:48:43 +0300</bug_when>
    <thetext>(Ответ для Eugine V. Kosenko на комментарий #8)
&gt; воспроизвести ситуацию не получилось
В этом и есть самая большая проблема.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198525</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-17 11:52:24 +0300</bug_when>
    <thetext>(Ответ для Anton V. Boyarshinov на комментарий #6)
&gt; а в какой момент переключается этот симлинк на каталог?
В момент обновления пакетов nvidia, когда в их %post определили, что нужно переключить для _текущего_ ядра. После такого и ldconfig запускается сразу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198526</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-17 12:11:33 +0300</bug_when>
    <thetext>&gt; когда в их %post определили, что нужно переключить для _текущего_ ядра.
git.altlinux.org/gears/n/nvidia_glx_common.git?p=nvidia_glx_common.git;a=blob;f=set_gl_nvidia/preset.c#l416
Возможно, тут не надо всегда надо пересоздавать /etc/libnvidiacurrent. Делаю на всякий для восстановления. Не особо представляю, как может повлиять.
Но, оно и ранее воспроизводилось, когда совсем не было /etc/libnvidiacurrent .

&gt; После такого и ldconfig запускается сразу.
git.altlinux.org/gears/n/nvidia_glx_common.git?p=nvidia_glx_common.git;a=blob;f=set_gl_nvidia/preset.c#l557</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198527</commentid>
    <comment_count>12</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-17 12:12:29 +0300</bug_when>
    <thetext>&gt; не надо всегда надо пересоздавать
не надо всегда пересоздавать</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198540</commentid>
    <comment_count>13</comment_count>
    <who name="Eugine V. Kosenko">eugine.kosenko</who>
    <bug_when>2021-05-17 14:59:34 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #9)
&gt; (Ответ для Eugine V. Kosenko на комментарий #8)
&gt; &gt; воспроизвести ситуацию не получилось
&gt; В этом и есть самая большая проблема.

Да, беда. На экспериментальном ноуте тоже уже были полностью удалены драйвера nvidia, и поставить их можно теперь только для последнего ядра. После установки все работает, как часики.

Жаль, я сразу не проверил, куда смотрит сам libnvidiacurrent. Возможно, у меня в самом деле где-то мусор завалялся, и он туда упорно переключался.

Пока могу порекомендовать как решение этой проблемы, полный снос всех драйверов nvidia и переустановку их с нуля.

Ну и еще есть вариант, что проблема проявится при следующем обновлении ядра.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198576</commentid>
    <comment_count>14</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-19 12:18:51 +0300</bug_when>
    <thetext>Каким-то образом иногда портятся файлы библиотек.

Например https://t.me/alt_linux/114424 :
rpm -V nvidia_glx_340.108
..5....T.    /usr/lib64/nvidia_340.108/libEGL.so
..5....T.    /usr/lib64/nvidia_340.108/libGL.so</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198577</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-19 12:37:20 +0300</bug_when>
    <thetext>А не может ли где-то колбасить из-за того, что
a) файлы lib*.so, а симлинки lib*.so.X.Y ?
b) в /etc/ld.so.cond.d/* указан список каталогов, в которых лежат одноимённые файлы для 64 и для 32-бит?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198578</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-05-19 12:40:37 +0300</bug_when>
    <thetext>Если вдруг prelink используется, нужно прекратить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198580</commentid>
    <comment_count>17</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-05-19 13:41:28 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #14)
&gt; Каким-то образом иногда портятся файлы библиотек.
&gt; 
&gt; Например https://t.me/alt_linux/114424 :
&gt; rpm -V nvidia_glx_340.108
&gt; ..5....T.    /usr/lib64/nvidia_340.108/libEGL.so
&gt; ..5....T.    /usr/lib64/nvidia_340.108/libGL.so

Как-то это совсем некрасиво выглядит, да.. Как бы отловить это &quot;иногда&quot;?...</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>