[Bug 328048] New: updater-zypper-gui hangs on " checking for additional package updates"
https://bugzilla.novell.com/show_bug.cgi?id=328048 Summary: updater-zypper-gui hangs on "checking for additional package updates" Product: openSUSE 10.3 Version: RC 1 Platform: i686 OS/Version: openSUSE 10.3 Status: NEW Severity: Normal Priority: P5 - None Component: GNOME AssignedTo: bnc-team-gnome@forge.provo.novell.com ReportedBy: neiskam@gmail.com QAContact: qa@suse.de Found By: Other When update process is finished it starts checking for additional updates. The window Update Progress remains open even after zypper is finished the checking and updater-zypper-gui process never ends. Updater applet remains grey. There is no problem in applying mandatory updates. -- 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=328048
Mark Gordon
https://bugzilla.novell.com/show_bug.cgi?id=328048
JP Rosevear
https://bugzilla.novell.com/show_bug.cgi?id=328048#c1
JP Rosevear
https://bugzilla.novell.com/show_bug.cgi?id=328048#c2
Stephen Holmes
https://bugzilla.novell.com/show_bug.cgi?id=328048#c3
--- Comment #3 from JP Rosevear
https://bugzilla.novell.com/show_bug.cgi?id=328048#c4
--- Comment #4 from Stephen Holmes
https://bugzilla.novell.com/show_bug.cgi?id=328048#c5
--- Comment #5 from JP Rosevear
https://bugzilla.novell.com/show_bug.cgi?id=328048#c6
--- Comment #6 from JP Rosevear
https://bugzilla.novell.com/show_bug.cgi?id=328048#c7
--- Comment #7 from JP Rosevear
https://bugzilla.novell.com/show_bug.cgi?id=328048#c8
Federico Mena Quintero
https://bugzilla.novell.com/show_bug.cgi?id=328048#c9
--- Comment #9 from Federico Mena Quintero
https://bugzilla.novell.com/show_bug.cgi?id=328048#c10
Stephan Kulow
https://bugzilla.novell.com/show_bug.cgi?id=328048#c11
--- Comment #11 from Jörg Kreß
https://bugzilla.novell.com/show_bug.cgi?id=328048#c12
--- Comment #12 from Nikolay Paskov
https://bugzilla.novell.com/show_bug.cgi?id=328048#c13
--- Comment #13 from Stephan Kulow
https://bugzilla.novell.com/show_bug.cgi?id=328048#c14
--- Comment #14 from Federico Mena Quintero
https://bugzilla.novell.com/show_bug.cgi?id=328048#c15
--- Comment #15 from Jörg Kreß
https://bugzilla.novell.com/show_bug.cgi?id=328048#c16
--- Comment #16 from Federico Mena Quintero
The Patch from Federico works for me too. It will be in the update that also brings relief to the security guys about the /tmp issue.
Excellent, thanks!
I look at the code flow again, but the success dialog should be shown when everything worked fine except there have been updates which require restart which will show the restart dialog.
Hmm, ok. From looking at the code, it has this pattern: if ("</stream>") { if (security_patches_done) { if (recommended_patches_done || !packages_included) { if (restart_included) { dialog ("you need to restart"); gtk_main_quit (); } else { dialog ("I'm done"); gtk_main_quit (); } } else { recommended_patches_done = TRUE; /* go back to main loop */ } } else { if (!recommended_included && !packages_included) { if (restart_included) { dialog ("you need to restart"); gtk_main_quit (); } else { dialog ("I'm done"); gtk_main_quit (); } } /* no dialog here */ } } So not all cases present a dialog. Also, the code only looks for "<stream>" and "</stream>", but doesn't seem to do any real parsing of the contents... does it need to? -- 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=328048#c17
--- Comment #17 from Nikolay Paskov
https://bugzilla.novell.com/show_bug.cgi?id=328048#c18
--- Comment #18 from Jörg Kreß
if ("</stream>") { if (security_patches_done) { if (recommended_patches_done || !packages_included) { if (restart_included) { dialog ("you need to restart"); gtk_main_quit (); } else { dialog ("I'm done"); gtk_main_quit (); } } else { recommended_patches_done = TRUE; /* go back to main loop */ } } else { if (!recommended_included && !packages_included) { if (restart_included) { dialog ("you need to restart"); gtk_main_quit (); } else { dialog ("I'm done"); gtk_main_quit (); } } /* no dialog here */ } }
So not all cases present a dialog.
In _this_ very case it is perfectly fine because the else would represent another /* go back to main loop */ as we have still some recommended and/or packages to do. The "security_patches_done" was set TRUE before which makes it not very concise. BUT: Stepping through it again revealed that the mistake was somewhere else: the cases in which we have packages but no recommended was not included (stupid me). changing line 3 if (recommended_patches_done || !packages_included) to if (recommended_patches_done || !packages_included || (packages_included && !recommended_included)) should do the trick. I stepped through it and now all possible 6 permutations are included to present one of the success windows. Added code. FYI: If your are confused about the variables, we changed the wording in the UI late in development, but still had 3 classes so I kept the code: code: UI (default updates included): security mandatory updates (security & recommended patches) recommended additional updates (optional patches) packages additional updates (if user includes packages) -- 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=328048#c19
Jörg Kreß
participants (1)
-
bugzilla_noreply@novell.com