Bug 55484 - Аварийный останов при переходе во вкладку Supplies в HP Device Manager
Summary: Аварийный останов при переходе во вкладку Supplies в HP Device Manager
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: hplip-gui (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-08-04 16:16 MSK by Богдан Богуславский
Modified: 2025-12-16 18:29 MSK (History)
5 users (show)

See Also:


Attachments
backtrace падения приложения (26.22 KB, text/x-log)
2025-08-04 16:16 MSK, Богдан Богуславский
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Богдан Богуславский 2025-08-04 16:16:22 MSK
Created attachment 19281 [details]
backtrace падения приложения

Стенды:
ALT Workstation 11.0 x86-64 (Обновленный до Sisyphus)
ALT Workstation K 11.0 x86-64 (Обновленный до Sisyphus)
ALT Education KDE 11.0 x86-64 (Обновленный до Sisyphus)
ALT Education XFCE 11.0 x86-64 (Обновленный до Sisyphus)

Версия пакета:
hplip-gui-3.25.2-alt4.noarch

Шаги воспроизведения:
1) Открыть HP Device Manager 
2) Перейти во вкладку Device -> Setup Device -> USB -> Next -> Выбираем нужный принтер -> Next -> Add Printer
3) В левой панели выбрать добавленный принтер -> Перейти во вкладку Supplies

Ожидаемый результат: успешный переход на вкладку Supplies

Реальный результат: аварийный останов, вывод в терминале:
Traceback (most recent call last):
  File "/usr/share/hplip/ui5/devmgr5.py", line 1546, in updateSuppliesTab
    agent_type = int(self.cur_device.dq['agent%d-type' % a])
                     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 'agent1-type'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/hplip/ui5/devmgr5.py", line 573, in Tabs_currentChanged
    self.TabIndex[tab]()
  File "/usr/share/hplip/ui5/devmgr5.py", line 1551, in updateSuppliesTab
    self.cur_device.queryDevice()
  File "/usr/share/hplip/base/device.py", line 1656, in queryDevice
    'deviceid'         : self.raw_deviceID,
                         ^^^^^^^^^^^^^^^^^
AttributeError: 'Device' object has no attribute 'raw_deviceID'
Аварийный останов (образ памяти сброшен на диск)

Дополнительно: не воспроизводится если добавленный принтер не подключен
Comment 1 Aleksandr Shamaraev 2025-08-05 01:26:58 MSK
Добрый день.

Скажите пожалуйста, я так понимаю данная ошибка воспроизводится с данным устройством (на котором проверяли) на hplip-gui-3.24.4 ?

Интересно

С уважением.
Comment 2 Богдан Богуславский 2025-08-05 12:41:29 MSK
(Ответ для Aleksandr Shamaraev на комментарий #1)
> Добрый день.
> 
> Скажите пожалуйста, я так понимаю данная ошибка воспроизводится с данным
> устройством (на котором проверяли) на hplip-gui-3.24.4 ?
> 
> Интересно
> 
> С уважением.
Да, на версии hplip-gui-3.24.4, которая сейчас в p11 тоже воспроизводится. Дополнительно проверил на принтере HP LaserJet Pro MFP M132a, после добавления устройства можно выбрать Fax или Printer. Воспроизводится только при выборе Fax и переходе во вкладку Supplies, если выбрать Printer, то ошибка не воспроизводится.
Comment 3 Aleksandr Shamaraev 2025-08-05 13:58:58 MSK
(Ответ для Богдан Богуславский на комментарий #2)
> (Ответ для Aleksandr Shamaraev на комментарий #1)
> > Добрый день.
> > 
> > Скажите пожалуйста, я так понимаю данная ошибка воспроизводится с данным
> > устройством (на котором проверяли) на hplip-gui-3.24.4 ?
> > 
> > Интересно
> > 
> > С уважением.
> Да, на версии hplip-gui-3.24.4, которая сейчас в p11 тоже воспроизводится.

Ну я так и подумал, так как между версиями там особо ничего не менялось.

Проблема в том, что при отлавливании ошибки в updateSuppliesTab конструкции try идет насколько я понимаю опрос устройства self.cur_device.queryDevice()

Ну так вот, в этой штуке есть конструкция обновления информации об устройстве, где есть поле deviceid, наряду с серийным номером, статусом устройства и тд., которое он не может получить, так как в данном устройстве, насколько я понимаю, его нет - отсутствует. 

Отлова ошибки в моменте self.dq.update - нет.

Я полазил по пакету Федоры, ради любопытства, патчей исправляющих данную проблему я не нашел, по этому, на лично мой взгляд, тут есть два варианта, либо оставить как есть в статус WONTFIX, либо попробовать повешать конструкцию self.dq.update в try catch, где по ошибке повторить ее, но с "обнуленным" полем 'deviceid' вместо self.raw_deviceID, но пока я не проверял это.
Comment 4 Aleksandr Shamaraev 2025-08-05 14:28:21 MSK
Но для начала, надо воспроизвести ошибку, а потом уже "крутить".
Comment 5 Сычкин Сергей Витальевич 2025-12-16 18:29:16 MSK
ALT Education KDE x86-64
ALT K Workstation x86-64
ALT Education XFCE x86-64
ALT Workstation x86-64

[p10] - hplip-gui - 3.25.6-alt2.p10.1 -  Не воспроизводится
[p10 + 402926] - hplip-gui - 3.25.8-alt1.p10.1 - Не воспроизводится
[Sisyphus] - hplip-3.25.8-alt2 - Не воспроизводится

Если выбрать именно принтер, то не воспроизводится
Если выбрать fax - воспроизводится