Summary: | All network operations should be cancelable and must be canceled in some situations | ||
---|---|---|---|
Product: | PackageKit | Reporter: | Hedayat Vatankhah <hedayatv> |
Component: | General | Assignee: | Richard Hughes <richard> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | packagekitd log during a non-cancelable operation |
Description
Hedayat Vatankhah
2010-09-20 04:24:56 UTC
(In reply to comment #0) > IMHO, it is a very important bug since it delivers a very bad impression about > the whole package management system (I've seen it a lot). So, please take it > seriously. Sure, I agree. It problem is you is an external process, and we try to sendit signals to make it quit. But if it ignores the signals, there isn't much we can do. Well, actually that's a lie. We can use SIGKILL, but that has the tenancy to mess up your rpmdb. Which makes people kinda angry. I would be interested to see the debug output. Could you do killall packagekitd (ensure yum is also not blocking) /usr/libexec/packagekitd --backend=yum --disable-timer --verbose and then try to start a transaction that 'wont' cancel. Thanks, Richard. Created attachment 38815 [details]
packagekitd log during a non-cancelable operation
Thanks a lot for your consideration. (In reply to comment #1) > Well, actually that's a lie. We can use SIGKILL, but that has the tenancy to > mess up your rpmdb. Which makes people kinda angry. I think it is reasonable to expect that a backend should be safely cancelable/kill-able! during a network operation (considering the above argument). If it doesn't, I think this is a bug in the backend. There is no reason for yum to touch rpmdb while it is downloading something IMHO. (In reply to comment #2) >TI:16:34:49 FI:pk-transaction.c FN:pk_transaction_allow_cancel_cb,435 > - emitting allow-cancel 0 This looks wrong. Setting up the search should be cancellable, and there's an explicit self.allow_cancel(True) in the code (ln 451) I'll try to find the problem now. Okay, yum, in all it's infinite wisdom, needs to download the packagelist repodata to get the list of enabled repos. I have no idea why it needs to do that. commit da4e08f88e97c3663dc1a186b435af905ee25704 Author: Richard Hughes <richard@hughsie.com> Date: Mon Sep 20 16:40:31 2010 +0100 yum: for some reason yum needs to download the packagelists at init, so mark the download as cancellable. Fixes fd#30276 There's a new release planned in just over a week, and this fix will be in that release. Thanks. Thanks :) I've found another bug in canceling which I'll report as a separate bug. (In reply to comment #5) > Okay, yum, in all it's infinite wisdom, needs to download the packagelist > repodata to get the list of enabled repos. I have no idea why it needs to do > that. > > commit da4e08f88e97c3663dc1a186b435af905ee25704 > Author: Richard Hughes <richard@hughsie.com> > Date: Mon Sep 20 16:40:31 2010 +0100 > > yum: for some reason yum needs to download the packagelists at init, so > mark the download as cancellable. Fixes fd#30276 > > There's a new release planned in just over a week, and this fix will be in that > release. Thanks. Today I say that the cancel button is disable when packagekit status is "Downloading file lists". Is this also solved by this fix? (In reply to comment #7) > Today I say that the cancel button is disable when packagekit status is > "Downloading file lists". Is this also solved by this fix? Yup. Great. Thanks again. :) |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.