Bug 1216248 - online_update: 'Checking for file conflicts' pop-up remains open
Summary: online_update: 'Checking for file conflicts' pop-up remains open
Status: CONFIRMED
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: YaST2 (show other bugs)
Version: Leap 15.5
Hardware: x86-64 Other
: P5 - None : Minor (vote)
Target Milestone: ---
Assignee: YaST Team
QA Contact: Jiri Srain
URL: https://trello.com/c/cD5QTcvO
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-15 19:09 UTC by Ulrich Windl
Modified: 2023-10-21 00:05 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Screenshot from Yast2 online_update showing "checking for conflicts" when the progress bar for downloading is still at 96% (131.38 KB, image/png)
2023-10-15 19:09 UTC, Ulrich Windl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Windl 2023-10-15 19:09:26 UTC
Created attachment 870187 [details]
Screenshot from Yast2 online_update showing "checking for conflicts" when the progress bar for downloading is still at 96%

(This seems to be a new bug in the recent version, or it only occurs under specific circumstances)
I noticed that the "downloading" progress bar did not reach 100% when "checking for conflicts" started (see screenshot (German)).
Maybe the progress bar just wasn't "flushed".
Comment 1 Stefan Hundhammer 2023-10-16 09:35:44 UTC
That looks like one or more libzypp callbacks were never called.

Ulrich, do you recall since when that happens? Only since a recent package update, I guess?
Comment 2 Stefan Hundhammer 2023-10-16 12:02:50 UTC
The callback that wasn't called is this one:

https://github.com/yast/yast-yast2/blob/SLE-15-SP5/library/packages/src/lib/packages/file_conflict_callbacks.rb#L182-L188

So the pop-up remained open; and probably there were also no more new messages in the main window.



The callbacks are installed here:

https://github.com/yast/yast-yast2/blob/SLE-15-SP5/library/packages/src/lib/packages/file_conflict_callbacks.rb#L53-L64


I assume this doesn't happen on a regular basis, right?


I checked, and none of the involved YaST packages was updated in SLE-15-SP5 (let alone anywhere near any code that might affect this behavior):

- yast2: 7 months ago
  https://github.com/yast/yast-yast2/blob/SLE-15-SP5/package/yast2.changes

- yast2-online-update: 7 months ago
  https://github.com/yast/yast-online-update/blob/SLE-15-SP5/package/yast2-online-update.changes

- yast2-pkg-bindings: 6 months ago
  https://github.com/yast/yast-pkg-bindings/blob/SLE-15-SP5/package/yast2-pkg-bindings-devel-doc.changes
Comment 3 Stefan Hundhammer 2023-10-16 12:07:21 UTC
Ulrich, is this something you see on a regular basis, or just every now and then?

If it's regular, do you know since when this happens?
Comment 4 Stefan Hundhammer 2023-10-16 12:10:41 UTC
Zypp maintainers, was there a change in the callbacks area recently for SLE-15-SP5?
Comment 5 Ulrich Windl 2023-10-16 12:44:03 UTC
(In reply to Stefan Hundhammer from comment #3)
> If it's regular, do you know since when this happens?

I noticed only once (after zypper update) so far.
Comment 6 Stefan Hundhammer 2023-10-17 09:40:29 UTC
OK, thanks.

So it might be a fluke; sometimes that happens when callbacks are called at unfortunate times. There are some race conditions here in the multiple threads that are used for parallel downloading that we are now using in libzypp.
Comment 7 Stefan Hundhammer 2023-10-17 12:49:19 UTC
For the time being, we can only observe this and wait if we can get more information from other scenarios.

Moving to our Trello task queue in the meantime.
Comment 8 Ulrich Windl 2023-10-18 06:17:13 UTC
(In reply to Stefan Hundhammer from comment #7)

Why did you change the title of the bug to an effect that I did not report or see?

If at all the title should read "'Checking for file conflicts' pop-up appears before downloading is complete".
Comment 9 Ulrich Windl 2023-10-18 06:19:57 UTC
(In reply to Stefan Hundhammer from comment #7)
> For the time being, we can only observe this and wait if we can get more
> information from other scenarios.

Would Yast logs help?
Comment 10 Benjamin Zeller 2023-10-18 08:33:29 UTC
(In reply to Stefan Hundhammer from comment #6)
> OK, thanks.
> 
> So it might be a fluke; sometimes that happens when callbacks are called at
> unfortunate times. There are some race conditions here in the multiple
> threads that are used for parallel downloading that we are now using in
> libzypp.

Libzypp does not support to be called from multiple threads. It always has to be the same thread calling into libzypp.
Comment 11 Benjamin Zeller 2023-10-18 08:38:03 UTC
(In reply to Stefan Hundhammer from comment #4)
> Zypp maintainers, was there a change in the callbacks area recently for
> SLE-15-SP5?

No, the code around sending FindFileConflictstReport as well as the Report class itself didn't change in the last 2 years and even that change was whitespace only from what I can see.
Comment 12 Ulrich Windl 2023-10-21 00:05:03 UTC
Did another online update:
When 100% were downloaded the "Checking for conflicts" popup did not appear at all; instead installation began. When executing the postupdate scripts (popup), the progress text did not match the actual actions being performed. The progress bar stopped at about 30%, then finally all windows closed.
To me it seems that something is not working as it should.