Created attachment 9870 [details] пример заполнения полей. версия: admc-0.5.2-alt1 и более воспроизводится на системах x86-64/i586 Шаги: 1) Раскрыть список с именем домена -> ПКМ на Users -> Создать -> Пользователь 2) В открывшемся окне заполнить поля: имя, фамилия, полное имя, инициалы, имя для входа, пароль, подтвердите пароль. Активировать чекбокс "Пользователь должен сменить пароль при следующем входе в систему. (пример заполнения на 1.png) 3) Создать. Результат: Программа аварийно завершает свою работу с ошибкой сегментирвоания. Ожидаемый результат: Корректное завершение создания пользователя. Дополнение: 1. Пользователь, несмотря на аварийное завершение работы, создаётся. 2. Ошибка воспроизводится только при первом создании пользователя. 3. Из стека вызовов функций: Thread 1 "admc" received signal SIGSEGV, Segmentation fault. 0x00007fc6028a5ab5 in ?? () from target:/lib64/libc.so.6
Дополнение(2): 1. Баг воспроизводится НЕ только один раз. После удаления ранее созданных пользователей и прохождении шагов admc с большой долей вероятности воспроизведется. 2. Баг воспроизводится при использовании кириллицы верхнего регистра в полях имени и фамилия.
Отставить кириллицу. Копал не в ту сторону. Оказалось всё куда прозаичнее. Дело в пробелах. Если в поле "Имя" создаваемого пользователя после значения идет пробел, то при создании admc падает. На остальные поля это не распространяется. Полностью аналогичный баг возникает при создании организации: 1) ПКМ на имя домена -> Создать -> Организация 2) Ввести имя организации добавив в начале/конце лишний пробел Результат: Ошибка сегментирования. Thread 1 "admc" received signal SIGSEGV, Segmentation fault. 0xb7e08b36 in ad_security_get_dacl(security_descriptor*) () from /usr/lib/libadldap.so Ожидаемый результат: Успешное создание организации и стабильная работа admc.
Спасибо за уточнение! До этого не получалось воспроизвести на никаких платформах/конфигурациях. Теперь воспроизводится и буду разбираться.
Решение найдено и будет включено в 0.8.0. https://github.com/altlinux/admc/issues/308
Версия 0.8.0 прошла в p10.