Bug 57858
| Summary: | Ошибка при использовании параметра -b | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Божченко Павел Александрович <bozhchenkopa> |
| Component: | mariadb-server-perl | Assignee: | Alexei Takaseev <taf> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | ilyakurdyukov, shaba, taf |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
Воспроизводится на версии:
mariadb-server-perl-11.8.7-alt1
Причина в том, что параметры -b и --prompt несовместимы между собой, но проверки этого в коде нет, это также нельзя понять из выводимого сообщения.
ReadMode/ReadKey систематически защищены условием
`unless $config{batchmode}` (см., например, строки 308, 379, 890),
обеспечивающим корректную работу в batch-режиме без модуля Term::ReadKey.
Однако в блоке обработки --prompt (строки 270-276) вызовы ReadMode(2)
и ReadMode(0) указаны без этой защиты:
if ($config{prompt})
{
print "Password: ";
ReadMode(2);
chomp($config{pass} = <STDIN>);
ReadMode(0);
print "\n";
}
В результате при одновременном использовании --prompt и --batchmode
вызов ReadMode(2) выполняется в обход защиты, модуль Term::ReadKey
не загружен (см. строки 204-209), и mytop падает с ошибкой
"Undefined subroutine &main::ReadMode".
|

Description
Божченко Павел Александрович 2026-02-13 16:24:53 MSK