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

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

    <bug>
          <bug_id>35918</bug_id>
          
          <creation_ts>2019-01-17 12:46:51 +0300</creation_ts>
          <short_desc>Установщик Starterkit server (20181212) перезагружается на этапе выбора дисков.</short_desc>
          <delta_ts>2020-10-22 20:38:19 +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>alterator-vm</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yar4e">kiber_pank4</reporter>
          <assigned_to name="Slava Aseev">ptrnine</assigned_to>
          <cc>aen</cc>
    
    <cc>boyarsh</cc>
    
    <cc>cas</cc>
    
    <cc>mcpain</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>177472</commentid>
    <comment_count>0</comment_count>
    <who name="Yar4e">kiber_pank4</who>
    <bug_when>2019-01-17 12:46:51 +0300</bug_when>
    <thetext>Установщик Starterkit server (20181212) перезагружается на этапе выбора дисков для установки и нажатия далее. Дисковая подсистема состоит из двух HDD, на которых ранее был установлен ClearOS 7.3 (на LVM поверх MDADM RAID1). Могу предположить, что воспроизведётся также с дисками аналогичной конфигурации после CentOS. Костыль для обхода проблемы состоит в загрузке с LiveCD и удалении всех следов LVM и MDADM с дисков, после чего инсталлятор отрабатывает без падения.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185193</commentid>
    <comment_count>1</comment_count>
    <who name="Yar4e">kiber_pank4</who>
    <bug_when>2019-10-30 12:34:12 +0300</bug_when>
    <thetext>Проблема актуальная для последнего Стартеркита от 12.09.2019. В данном случае, с помощью того-же стартеркита загрузился в livecd, на 2 новых ssd без разметки создал разделы, собрал raid1 и поверх него lvm. Перезагрузился в режим установки и в интерфейсе подготовки диска сначала ошибка &quot;Bad file descriptor&quot;, переходим назад и возвращаемся в интерфейс подготовки дисков, где диски уже отображаются, выбираем вручную и здесь при попытке создания файловой системы система уходит в ребут. По сути, для воспроизведения нужно иметь диски, где есть lvm поверх mdadm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185199</commentid>
    <comment_count>2</comment_count>
    <who name="Yar4e">kiber_pank4</who>
    <bug_when>2019-10-30 15:17:08 +0300</bug_when>
    <thetext>Похоже нашёл причину падения - установщик настолько стеснителен, что предпочитает уйти по-английски, вместо того, чтобы сказать, что ему не нравится metadata &gt; 0.90 :) Инфа не 100%, так как нет времени проводить повторный тест, но почти наверняка так. В подтверждение этому, ClearOS использует по умолчанию суперблок версии 1.2, что похоже явилось изначальной проблемой при создании этого бага.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187474</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-02-04 14:58:41 +0300</bug_when>
    <thetext>Ах так вот на что я напоролся на p9_e2k вчера.  Субъективно вообще блокер: обход с отключением массивов и тем более их переинициализацией может быть возможен далеко не всегда.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187475</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-02-04 15:01:37 +0300</bug_when>
    <thetext>Да, вполне возможно что виновата metadata &gt; 0.9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187606</commentid>
    <comment_count>5</comment_count>
    <who name="Slava Aseev">ptrnine</who>
    <bug_when>2020-02-06 18:42:42 +0300</bug_when>
    <thetext>Нашел причину падения.

Актуально это дело для metadata &gt;= 1.0

Проблема происходит при попытке сделать mknod, потому что у dev_t устройства, которое передается в эту функцию, minor установлен в -1.
Функции mknod это не нравится, и она прерывается с errno = EINVAL

Прилетает этот -1 вот отсюда:
http://git.altlinux.org/gears/e/evms.git?p=evms.git;a=blob;f=plugins/md/md_super.c;h=4138315522be42f6c8ef30f210e2629026d10e1c;hb=HEAD#l2155

Здесь ожидается, что имя будет &quot;md&quot; + число (которое как раз и будет использоваться в качестве minor). Но на практике - mdadm, например, выставил имя localhost:localdomain:0. А с помощью ключа --name можно задать вообще любое имя.

В общем, я подумаю. Наверное, нужен механизм, который в случае чего, раздаст эти minor&apos;ы тем, у кого они оказались равны -1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187607</commentid>
    <comment_count>6</comment_count>
    <who name="Slava Aseev">ptrnine</who>
    <bug_when>2020-02-06 18:52:02 +0300</bug_when>
    <thetext>Кстати, просьба для тех, кто столкнулся с данной проблемой - посмотрите, пожалуйста, название RAID массива. Может быть, я вообще на другой баг наткнулся :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188845</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-03-26 18:33:17 +0300</bug_when>
    <thetext>Никому не надо?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188854</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-03-26 22:15:23 +0300</bug_when>
    <thetext>Видимо, никто глыбже Славы и не копал.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188872</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-03-27 11:42:56 +0300</bug_when>
    <thetext>Я про Славину просьбу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188880</commentid>
    <comment_count>10</comment_count>
    <who name="Slava Aseev">ptrnine</who>
    <bug_when>2020-03-27 15:13:56 +0300</bug_when>
    <thetext>Проблема с минором это пол беды.
По каким-то причинам не отрабатывает ioctl с аргументом ADD_NEW_DISK, когда evms пытыется собрать массив (EINVAL)

При этом, для этого нет никаких видимых причин (устройство существует, дескриптор валидный, мажор/минор установлены правильно)

Что еще удивительнее - при повторении всех действий evms (которые я не упустил) &quot;вручную&quot; ADD_NEW_DISK отрабатывает нормально.

Также все нормально работает и в evms-ncurses (!?)
Если очень детально сравнить логи/strace при mkfs из alterator-vm&apos;а и evmsn, то выясняется, что в evmsn ioctl просто не фэйлится :)

EINVAL прилетает из-за того, что в где-то в ядре оказывается неверная версия суперблока и в результате в функции load_1_super (drivers/md/md.c) суперблок читается не по тому смещению.

На данный момент я пытаюсь выяснить, почему так происходит.

Если у кого-нибудь есть хоть какие идеи, то прошу озвучить</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188881</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-03-27 15:25:38 +0300</bug_when>
    <thetext>Или подпишите заинтересованных.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189294</commentid>
    <comment_count>12</comment_count>
    <who name="Slava Aseev">ptrnine</who>
    <bug_when>2020-04-17 14:16:41 +0300</bug_when>
    <thetext>В общем, по каким-то причинам на новых образах баг с ADD_NEW_DISK больше не воспроизводится.

Баг с минорами исправлен с помощью супер-костыля:
http://git.altlinux.org/people/ptrnine/packages/?p=evms.git;a=commit;h=981fd11cfd968732293a735929bd79acdcdf6e68

Работает оно так:
- проходится по всем md* из файла /proc/mdstat
- для каждого md* берет первую в списке ноду и читает из ее суперблока uuid
- если uuid подошел - значит в md* и записан наш минор (вместо звездочки)

Сегодня отправлю, осталось еще чуть-чуть протестировать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191550</commentid>
    <comment_count>13</comment_count>
    <who name="Yar4e">kiber_pank4</who>
    <bug_when>2020-07-24 14:45:33 +0300</bug_when>
    <thetext>Сегодня вновь была возможность затестить наличие этого бага и он на месте на последнем alt-p9-server-systemd-20200612-x86_64.iso. Теперь уже однозначно могу сказать что дело в не корректной работе с mdadm суперблоком 1.2. Элементарно воспроизводится на ВМ - в девтсвтенной ВМ грузимся с livecd, создаём raid 0 с метадата по умолчанию, перезагружаемся, активируем массив (всё это наверное можно сделать и в консоли после запуска установки до диалога разбивки дисков), заходим с диалог ручного разбиения дисков, пытаемся там что-то сделать и система уходит в ребут.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192717</commentid>
    <comment_count>14</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-09-21 17:51:19 +0300</bug_when>
    <thetext>evms-2.5.5-alt45 -&gt; sisyphus:

 Tue Sep 15 2020 Slava Aseev &lt;ptrnine@altlinux&gt; 2.5.5-alt45
 - plugins/md:
   + fix raid discovering and md_minor getting for metadata=1.*
     (closes: #35918)
   + use better name&apos;s collision resolving for metadata=1.*
   + use metadata=1.2 by default
   + add RAID test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192730</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-09-22 11:20:17 +0300</bug_when>
    <thetext>Слава, спасибо!
В p9 тащим, чтоб не только регуляркам полегчало? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192740</commentid>
    <comment_count>16</comment_count>
    <who name="Slava Aseev">ptrnine</who>
    <bug_when>2020-09-22 12:28:40 +0300</bug_when>
    <thetext>(Ответ для Michael Shigorin на комментарий #15)
&gt; Слава, спасибо!
&gt; В p9 тащим, чтоб не только регуляркам полегчало? :)

Да, p9 на подходе: http://webery.altlinux.org/task/258473</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193344</commentid>
    <comment_count>17</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-10-19 17:54:27 +0300</bug_when>
    <thetext>(Ответ для Slava Aseev на комментарий #16)
&gt; Да, p9 на подходе: http://webery.altlinux.org/task/258473
Когда?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193346</commentid>
    <comment_count>18</comment_count>
    <who name="Slava Aseev">ptrnine</who>
    <bug_when>2020-10-19 18:10:30 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #17)
&gt; (Ответ для Slava Aseev на комментарий #16)
&gt; &gt; Да, p9 на подходе: http://webery.altlinux.org/task/258473
&gt; Когда?

Сейчас отправлю, там надо убрать автогенерируемую зависимость на /usr/share/install2/initinstall.d/80-stop-md-dm.sh, т.к. на p9 из-за нее невозможно установить пакет с тестами:

# apt-get install /usr/share/install2/initinstall.d/80-stop-md-dm.sh
E: Невозможно найти пакет /usr/share/install2/initinstall.d/80-stop-md-dm.sh

# apt-get install installer-scripts-remount-stage2
Следующие НОВЫЕ пакеты будут установлены:
  installer-scripts-remount-stage2
...
1: installer-scripts-remount-stage2-0.5.#################################################################################### [100%]
Завершено.

# rpm -qf /usr/share/install2/initinstall.d/80-stop-md-dm.sh 
installer-scripts-remount-stage2-0.5.19-alt1.noarch

На сизифе все нормально. Хотел отправить одним релизом с исправлением вот этого https://bugzilla.altlinux.org/show_bug.cgi?id=38796
но там, видимо, исправление подъедет нескоро, так что сейчас отправлю так.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193449</commentid>
    <comment_count>19</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-10-22 20:38:19 +0300</bug_when>
    <thetext>evms-2.5.5-alt47 -&gt; p9:

 Tue Oct 20 2020 Slava Aseev &lt;ptrnine@altlinux&gt; 2.5.5-alt47
 - Revert &quot;Fix LVM2 logical volume deactivation&quot;
   Fix not ready yet and was sent by mistake
 Tue Sep 29 2020 Slava Aseev &lt;ptrnine@altlinux&gt; 2.5.5-alt46
 - Fix LVM2 logical volume deactivation (closes: #38796)
 - Remove broken dependency on
   /usr/share/install2/initinstall.d/80-stop-md-dm.sh
 Tue Sep 15 2020 Slava Aseev &lt;ptrnine@altlinux&gt; 2.5.5-alt45
 - plugins/md:
   + fix raid discovering and md_minor getting for metadata=1.*
     (closes: #35918)
   + use better name&apos;s collision resolving for metadata=1.*
   + use metadata=1.2 by default
   + add RAID test</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>