| Summary: | При использовании утилиты, уведомление: Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16284 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Олег Щавелев <oleg> | ||||||||
| Component: | inxi | Assignee: | ruslandh <ruslandh> | ||||||||
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||||
| Severity: | normal | ||||||||||
| Priority: | P5 | CC: | andy, lvol, mvk, ruslandh, viy | ||||||||
| Version: | unstable | ||||||||||
| Hardware: | x86_64 | ||||||||||
| OS: | Linux | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Олег Щавелев
2023-12-04 22:00:55 MSK
Created attachment 15148 [details]
Вывод inxi --dbg 4 -g
Подтверждяю, но если не считать мусор, то результат выдаётся верно
inxi -G
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16284.
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16262.
....
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16284.
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16262.
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16264.
Graphics:
Device-1: AMD Raphael driver: amdgpu v: kernel
Device-2: Microdia Camera driver: snd-usb-audio,uvcvideo type: USB
Display: x11 server: X.Org v: 1.21.1.9 with: Xwayland v: 23.2.2 driver: X:
loaded: amdgpu unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu
resolution: 1920x1200~60Hz
API: EGL v: 1.5 drivers: kms_swrast,radeonsi,swrast
platforms: x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.3.0 renderer: AMD
Radeon Graphics (radeonsi raphael_mendocino LLVM 17.0.3 DRM 3.54
6.5.13-un-def-alt1)
API: Vulkan v: 1.3.268 drivers: amd surfaces: xcb,xlib
Другие опции отрабатываются inxi без проблем, С картой nvidia тоже самое:
$ inxi -G
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16284.
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16262.
....
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16284.
Use of uninitialized value $platform in hash element at /usr/bin/inxi line 16262.
Graphics:
Device-1: NVIDIA GF119 [GeForce GT 610] driver: nvidia v: 390.157
Display: x11 server: X.Org v: 1.21.1.9 with: Xwayland v: 23.2.2 driver: X:
loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia
resolution: 1920x1080~60Hz
API: EGL v: 1.5 drivers: kms_swrast,swrast platforms: gbm
API: OpenGL v: 4.5 compat-v: 4.6.0 vendor: nvidia mesa v: 390.157
renderer: GeForce GT 610/PCIe/SSE2
API: Vulkan v: 1.3.268 drivers: llvmpipe surfaces: xcb,xli
$ uname -r
6.1.64-std-def-alt1
$ rpm -qa | grep inxi inxi-3.3.31.2-alt1.noarch Created attachment 15149 [details]
Список обновления
Проверил, похоже проблема не в inxi , прикладываю список пакетов, после обновления которых возникла ошибка.
Можно увидеть, что inxi в нём нет ;-(
glixinfo там есть? (пакет mesa-info) Скорее всего, проблема в нём (нет в выводе строки platform). Но проблема похоже здесь -именно здесь определяется платформа системы:
"
sub set {
eval $start if $b_log;
set_commands();
my ($action,$program,$message,@data);
foreach my $test (keys %commands){
($action,$program) = ('use','');
$message = main::message('tool-present');
if ($commands{$test}->[1] && (
($commands{$test}->[1] eq 'linux' && $os ne 'linux') ||
($commands{$test}->[1] eq 'bsd' && $os eq 'linux'))){
$action = 'platform';
}
elsif ($program = main::check_program($test)){
# > 0 means error in shell
# my $cmd = "$program $commands{$test} >/dev/null";
# print "$cmd\n";
$pci_tool = $test if $test =~ /pci/;
# this test is not ideal because other errors can make program fail, but
# we can't test for root since could be say, wheel permissions needed
if ($commands{$test}->[0] eq 'exec-sys'){
$action = 'permissions' if system("$program $commands{$test}->[2] >/dev/null 2>&1");
}
elsif ($commands{$test}->[0] eq 'exec-string'){
@data = main::grabber("$program $commands{$test}->[2] 2>&1");
# dmidecode errors are so specific it gets its own section
# also sets custom dmidecode error messages
if ($test eq 'dmidecode'){
$action = set_dmidecode(\@data) if scalar @data < 15;
}
elsif (grep { $_ =~ /$commands{$test}->[3]/i } @data){
$action = 'permissions';
}
}
}
......
"
(Ответ для Andrew Vasilyev на комментарий #6) > glixinfo там есть? (пакет mesa-info) > Скорее всего, проблема в нём (нет в выводе строки platform). Нет, но есть libGLX-mesa-23.3.0-alt1 Created attachment 15160 [details]
Патч проверюющий инициализацию переменной
Просто проверяет перед проверкой есть-ли у переменной $platform какое-либо значение.
В принципе ничего не ломает.
Если надо, могу приложить и полученный новый файл inxi
inxi-3.3.31.2-alt1.1 -> sisyphus: Tue Dec 05 2023 Hihin Ruslan <ruslandh@altlinux.ru> 3.3.31.2-alt1.1 - Add inxi-3.3.31.2-platform.patch (ALT bug #48682) |