Bug 56270
| Summary: | Не завершается процесс после закрытия окна программы | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Alexei V. Mezin <alexei.mezin> | ||||
| Component: | karton | Assignee: | Aleksandr Shamaraev <shad> | ||||
| Status: | RESOLVED FIXED | QA Contact: | qa-sisyphus | ||||
| Severity: | minor | ||||||
| Priority: | P5 | CC: | rider, shad | ||||
| Version: | unstable | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| URL: | https://invent.kde.org/kenoi/karton/-/issues/1 | ||||||
| Attachments: |
|
||||||
Здравствуйте. У меня не воспроизводится. Все процессы выгружаются из памяти. Запись экрана: https://cloud.mail.ru/public/NmUe/ANs8cQvWy С уважением. На сколько я понимаю, данное поведение воспроизводится только при запуске внутри виртуальной машины, на реальном железе данное поведение у меня так и не получилось воспроизвести. После закрытия karton выгружается из памяти. Сизиф обновлял вчера. Воспроизводится 100%. В программе не создано ни одной виртуалки, она в состоянии "только что поставил". Процесс висит после закрытия окна. nVidia+Wayland+KDE. На второй физической машине воспроизвелось Самое интересное, воспроизводится только на чистой установке, если не добавлено виртуальных машин. После добавления машин, хотя бы одной, все выгружается нормально, и больше не воспроизводится Доброго дня. Учитывая, что с момента создания баги и issue апстриму по данной ситуации прошло уже более года, при этом были выпушены новые коммиты, в которых к сожалению апстрим не поправил данную проблему, и не понятно поправит или нет, думаю есть смысл закрыть эту багу как WONTFIX, и надеется, что когда ни будь проблему исправят. С уважением, Александр Так давайте сделаем это за них и предложим патчик ? Добрый день. Я смотрю его перенести в KDE -> System ветку..и даже там какое-то движение есть.. я уже завтра попробую поменять апстрим, обновится до последнего коммита, и посмотрю, будет ли воспроизводится... Created attachment 22735 [details]
karton: free domains before virConnectClose
Проверил на аппаратном стенде blikvm-7-4 (Plasma Wayland, NVIDIA GT 1030 + UHD 730).
Само зависание на сборке в префикс с Qt 6.11 не поймал: процесс завершался и без патча. Это не опровержение отчёта — пакетный Qt дистрибутива на стенде не ставился.
По коду причина зависания правдоподобная: ~Karton() вызывал virConnectClose(), пока дочерние Domain ещё живы. Их деструкторы затем вызывают virConnectDomainEventDeregisterAny() по уже закрытому соединению и встают на блокировке libvirt. cleanupDomainViewer() стоял после закрытия соединения.
Патч меняет порядок: сначала снять монитор, просмотрщик и домены, пока соединение открыто, и только потом virConnectClose().
С патчем на том же стенде закрытие окна завершает процесс (код 0): пустой список ВМ, домен выключен, домен работает без просмотрщика (qemu остаётся), просмотрщик открыт и окна закрываются в любом порядке (домен остаётся работать), libvirt недоступен.
Статус уже REOPENED, не меняю. Патч во вложении, в пакет не собран.
Большое спасибо. Переключил на https://invent.kde.org/system/karton Обновил до последнего коммита, применил Ваш патч и отправил собираться в тестовом задании 437271 Попозже напишу апстримам issue с предложение Вашего патча karton-20260905-alt1 -> sisyphus: Fri Oct 16 2026 Aleksandr Shamaraev <shad@altlinux> 20260905-alt1 - updated to git.08e13cf129 - changed URL && Vcs - fixed: Karton process does not complete (thnx rider@) (ALT #56270) |

Description
Alexei V. Mezin 2025-10-04 12:32:26 MSK