[Bug 1206949] New: [Build 20230107] openQA test fails in yast2_software_management
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 Bug ID: 1206949 Summary: [Build 20230107] openQA test fails in yast2_software_management Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other URL: https://openqa.opensuse.org/tests/3023146/modules/yast 2_software_management/steps/20 OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 Assignee: yast2-maintainers@suse.de Reporter: dimstar@opensuse.org QA Contact: jsrain@suse.com Found By: openQA Blocker: Yes ## Observation Not sure what is going on here - the desktop disappears (?) - possibly just screen blanking though. Will need to evaluate locally if I can get proper errors openQA test in scenario opensuse-Tumbleweed-DVD-x86_64-yast2_gui@64bit fails in [yast2_software_management](https://openqa.opensuse.org/tests/3023146/modules/yast2_software_management/...) ## Test suite description Maintainer: qsf-y Test for yast2 UI, GUI only. Running on created gnome images which provides both text console for ncurses UI tests as well as the gnome environment for the GUI tests. Temporarily added YAST2_GUI_TERMINATE_PREVIOUS_INSTANCES to see if helps. This variable triggers code which terminates all yast2 processes before starting new one. (see poo#26104). ## Reproducible Fails since (at least) Build [20230107](https://openqa.opensuse.org/tests/3022612) ## Expected result Last good: [20230106](https://openqa.opensuse.org/tests/3019893) (or more recent) ## Further details Always latest result in this scenario: [latest](https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=opensuse&flavor=DVD&machine=64bit&test=yast2_gui&version=Tumbleweed) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c3 --- Comment #3 from Stefan Hundhammer <shundhammer@suse.com> --- We (Dimstar and I) just did some "pair debugging". Observations so far: - It hangs when a "posttrans" script triggers a dracut run. That happens for packages like ucode-intel or plymouth. - It does not hang when doing the same thing with the zypper command line. - The "Executing posttrans" pop-up in YaST remains open, and the process is still running. - We saw no more logging being done in the y2log (with a "tail -F y2log" and Y2DEBUG=1), so there is no UI.PollInput() or similar. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c4 --- Comment #4 from Stefan Hundhammer <shundhammer@suse.com> --- We speculated that there might be a problem with callbacks between libzypp and YaST (the pkg-bindings probably): Either a new callback or a changed behaviour. To me it looks very much like a callback opening that popup for the posttrans script, and no corresponding one arriving (or being used) to pop it down again. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jeriveramoya@suse | |.com) | -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ma@suse.de -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c5 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(ma@suse.de) --- Comment #5 from Stefan Hundhammer <shundhammer@suse.com> --- Michael, was there a change recently in that area? Is there a new callback? Did we use that one for posttrans in the past, or is that something new? Or, more precisely, did packages use posttrans in the past at all, or only preinstall and postinstall? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c6 --- Comment #6 from Dominique Leuenberger <dimstar@opensuse.org> --- Created attachment 864200 --> http://bugzilla.opensuse.org/attachment.cgi?id=864200&action=edit the y2log we generated during our debug session -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c7 --- Comment #7 from Stefan Hundhammer <shundhammer@suse.com> --- In that y2log, the last callback that I see is this: 2023-01-18 05:31:13 <0> susetest(23052) [Pkg] Callbacks.cc(progress):401 ProgressProgress: id:18, Executing %posttrans scripts: 100% [Pkg] Callbacks.YCP.cc(evaluate):240 Evaluating callback (registered funciton: ruby_reference) [Ruby] modules/PackageCallbacks.rb(ProgressProgress):2423 ProgressProgress: 18, 100% ... ... [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):395 Call WidgetExists [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):401 Append parameter `id (`progress_widget) ... ... [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):395 Call WidgetExists [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):401 Append parameter `id (`callback_progress_popup) No UI.CloseDialog anywhere near this. --------------------------------- A while before that, opening the popup: 2023-01-18 05:31:02 <0> susetest(23052) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):395 Call OpenDialog 2023-01-18 05:31:02 <0> susetest(23052) [Ruby] binary/Yast.cc(ycp_module_call_ycp_function):401 Append parameter `HBox (`HSpacing (1), `VBox (`VSpacing (0.5), `HSpacing (`id (`callback_progress_popup), 60), `ProgressBar (`id (`progress_widget), "Executing %posttrans script 'plymouth-22.02.122+94.4bd41a3-3.1.x86_64.rpm'", 100, 0), `VSpacing (0.2), `ButtonBox (`PushButton (`id (`abort), `opt (`cancelButton), "Abo&rt")), `VSpacing (0.5)), `HSpacing (1)) Notice widget ID callback_progress_popup. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c8 --- Comment #8 from Stefan Hundhammer <shundhammer@suse.com> --- So, I see the ProgressStart callback in the y2log: 2023-01-18 05:31:02 <0> susetest(23052) [Pkg] Callbacks.cc(start):382 ProgressStart: id:18, Executing %posttrans script 'plymouth-22.02.122+94.4bd41a3-3.1.x86_64.rpm' 2023-01-18 05:31:02 <1> susetest(23052) [Ruby] modules/PackageCallbacks.rb(ProgressStart):2338 ProgressStart: 18 https://github.com/yast/yast-yast2/blob/master/library/packages/src/modules/... and the ProgressProgress callback twice, once for 0% and once for 100%: 2023-01-18 05:31:02 <0> susetest(23052) [Pkg] Callbacks.cc(progress):401 ProgressProgress: id:18, Executing %posttrans script 'plymouth-22.02.122+94.4bd41a3-3.1.x86_64.rpm': 0% 2023-01-18 05:31:02 <0> susetest(23052) [Ruby] modules/PackageCallbacks.rb(ProgressProgress):2423 ProgressProgress: 18, 0% 2023-01-18 05:31:13 <0> susetest(23052) [Pkg] Callbacks.cc(progress):401 ProgressProgress: id:18, Executing %posttrans scripts: 100% 2023-01-18 05:31:13 <0> susetest(23052) [Ruby] modules/PackageCallbacks.rb(ProgressProgress):2423 ProgressProgress: 18, 100% But no ProgressEnd or ProgressFinish log message. https://github.com/yast/yast-yast2/blob/master/library/packages/src/modules/... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c9 --- Comment #9 from Stefan Hundhammer <shundhammer@suse.com> --- According to the y2log, all 3 callbacks are registered as they should be. To me this leaves only one conclusion: The end callback was never called, so the pop-up remained open. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c10 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|YaST2 |libzypp Assignee|yast2-maintainers@suse.de |zypp-maintainers@suse.de QA Contact|jsrain@suse.com |qa-bugs@suse.de Flags|needinfo?(ma@suse.de) | --- Comment #10 from Stefan Hundhammer <shundhammer@suse.com> --- Reassigning to the libzypp maintainers. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c11 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CONFIRMED CC| |lslezak@suse.com, | |shundhammer@suse.com --- Comment #11 from Michael Andres <ma@suse.com> --- (In reply to Stefan Hundhammer from comment #9)
According to the y2log, all 3 callbacks are registered as they should be.
To me this leaves only one conclusion: The end callback was never called, so the pop-up remained open.
@YAST, Huha, Ladislav: Please keep in mind that any! ZYPP Report might be interrupted by an Exception and so not be able to complete the intended workflow sequence. We try to avoid this, but this may always happen. There are just 2 methods you can rely on always being called (from a Reports Ctor/Dtor): virtual void ReceiveReport<Tp>::reportbegin(); virtual void ReceiveReport<Tp>::reportend(); So at least a reportend() should trigger cleanup that must be performed on your side (like a popdown) no matter how a workflow ended. --- Apart from this there is indeed an unintended change in the ProgressReports behaviour. We'll try to figure out why and fix it. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c12 --- Comment #12 from Stefan Hundhammer <shundhammer@suse.com> --- Possibly related: bug #1207281. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c13 --- Comment #13 from Stefan Hundhammer <shundhammer@suse.com> --- I just raised the topic of using those reportbegin() / reportend() callbacks on IRC: <HuHa> that sounds to me like we should really open and close our report pop-ups in those transaction callbacks <lslezak> we already use it, but not in all cases https://github.com/yast/yast-pkg-bindings/blob/987c4933a9fa8935664bd35d08d4c... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c14 --- Comment #14 from Stefan Hundhammer <shundhammer@suse.com> --- Added to Trello: https://trello.com/c/3olORz6e/5314-use-zypp-reportbegin-reportend-callbacks -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c15 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sofia.syrianidou@suse.com --- Comment #15 from Michael Andres <ma@suse.com> --- *** Bug 1207281 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c16 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #16 from Michael Andres <ma@suse.com> --- https://github.com/openSUSE/libzypp/pull/438 Fixed for libzypp-17.31.8 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c17 Simon Lees <simonf.lees@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |simonf.lees@suse.com --- Comment #17 from Simon Lees <simonf.lees@suse.com> --- I an several other openSUSE users have seen this when installing kernel modules etc https://www.enlightenment.org/ss/display.php?image=e-63e374c28569f1.10529155... glad its now fixed -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c20 --- Comment #20 from Christophe Marin <christophe@krop.fr> --- (In reply to Michael Andres from comment #16)
https://github.com/openSUSE/libzypp/pull/438 Fixed for libzypp-17.31.8
Was it submitted to openSUSE:Factory? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1206949 http://bugzilla.opensuse.org/show_bug.cgi?id=1206949#c21 --- Comment #21 from Michael Andres <ma@suse.com> --- (In reply to Christophe Marin from comment #20)
Was it submitted to openSUSE:Factory?
Will be included in today's submission. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com