[Bug 537883] New: YaST Package Management UI becomes unresponsive if a network repository is unavailable
http://bugzilla.novell.com/show_bug.cgi?id=537883 Summary: YaST Package Management UI becomes unresponsive if a network repository is unavailable Classification: openSUSE Product: openSUSE 11.2 Version: Milestone 6 Platform: PC OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: malv_star@hotmail.com QAContact: jsrain@novell.com Found By: --- User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.2) Gecko/20090730 SUSE/3.5.2-1.2 Firefox/3.5.2 The YaST package management system will attempt to refresh those repositories marked as "refresh" when a user starts the "Software Management" or "Online Update" components. If one or more of those repositories is unavailable (causing a network timeout), the user is never able to abort the program during the attempted refresh. For users with large repository collections this could cause long wait times before they are able to exit cleanly. Reproducible: Always Steps to Reproduce: 1. Ensure that at least one network repository marked for refresh is unavailable 2. Start the "Online Update" component in YaST 3. Attempt to click "Abort" while the program is trying to refresh. Actual Results: YaST completely ignores any user attempt to click on "Abort" during the network timeout. The button appears in the UI, but is essentially inaccessible. The user is presented with the option to skip the refresh this time around, but not to prevent the entire software management system from launching. The "Abort" button is therefore entirely superfluous in the event of network timeouts. Expected Results: The abort button should be accessible and allow the user to prevent the software management interface from launching. If the user does not skip the autorefresh (an option they are presented with after the first repository fails to respond), they must wait for the next repository to timeout, skip all refresh attempts and then wait for the software management UI to load before they are able to abort the software installation procedure. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=537883
User malv_star@hotmail.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=537883#c1
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
zhu rensheng
http://bugzilla.novell.com/show_bug.cgi?id=537883
User m.munnix@redcross.be added comment
http://bugzilla.novell.com/show_bug.cgi?id=537883#c2
michel munnix
http://bugzilla.novell.com/show_bug.cgi?id=537883
User malv_star@hotmail.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=537883#c3
--- Comment #3 from Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
J. Daniel Schmidt
http://bugzilla.novell.com/show_bug.cgi?id=537883
User lslezak@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=537883#c4
Ladislav Slezak
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c5
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c6
--- Comment #6 from Ladislav Slezak
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c7
--- Comment #7 from Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c8
Ladislav Slezak
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c9
--- Comment #9 from Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c10
Ladislav Slezak
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c11
Ján Kupec
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c12
--- Comment #12 from Ján Kupec
... but clicking "Abort" does nothing either if the repository is unavailable. Surely this could easily be fixed by just having the abort button kill all child processes immediately?
Well, it could, if yast would actually run any child processes. But it does not. It just calls a library (libzypp), and that library does not respond. So the solution is either to make the lib respond more often, or yast must call the download functions in separate thread. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c13
--- Comment #13 from Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c14
--- Comment #14 from Ján Kupec
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c15
--- Comment #15 from Ladislav Slezak
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c16
Michael Andres
@ma: what do you think about running some operations, like the curl downloads, in new threads (c#11)? Another potential candidate for this is the building of the @System.solv, which also takes all ranges of time, without any report. Or should we avoid this and leave it on the UIs?
@System.solv: The missing progress is my fault. I lost bug #438622. I'll fix that ASAP. @curl: We are far from being thread safe (but we'll improve this for 11.3). Nevertheless it could be possible to run curl_perform in a thread and do a timed_join to guarantee at least one callback per second. Only join loop and curl callback need to be synchronized. But what I don't know, is how to cleanly abort the other threads curl_perform that's waiting for a connect/data, if the timed callback says 'ABORT'. A commandline tool like aria2c is far easier to handle. You can do a timed read on the pipe, and kill it in case of abort. Maybe it's an option to use 'curl' instead of 'libcurl' in the future. This could also ease the task to implement parallel downloads, which is one of the tops for 11.3. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c17
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c18
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c19
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c20
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c21
Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c22
--- Comment #22 from Ladislav Slezak
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c23
--- Comment #23 from Malvern Star
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c24
--- Comment #24 from Michael Andres
http://bugzilla.novell.com/show_bug.cgi?id=537883
http://bugzilla.novell.com/show_bug.cgi?id=537883#c25
--- Comment #25 from Malvern Star
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c26
Ladislav Slezak
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c27
--- Comment #27 from Ladislav Slezak
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c28
Ladislav Slezak
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c29
--- Comment #29 from Michael Schröder
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c30
--- Comment #30 from Ladislav Slezak
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c31
--- Comment #31 from Michael Andres
The abort problem has been already fixed in aria2c downloader (see bnc#545106), but it still present in the libcurl downloader
I can not reproduce your problem. For me the downloader aborts if the progress callback returns false. As described in bnc#545106, it may be you listen/send using the wrong progress callback. This is fixed in libzypp-7.9.5. It should be possible to abort download via media::DownloadProgressReport as well as via repo::DownloadResolvableReport. The initial problem of course (aria2c hangs uninterruptible in connect) is still unsolved (unless you disable aria2c). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=537883
https://bugzilla.novell.com/show_bug.cgi?id=537883#c32
Michael Andres
participants (1)
-
bugzilla_noreply@novell.com