Fedora 27 packagekit reboot and install glitch

After installing some recent F27 updates using the gnome software centre, the package kit watchdog has stopped exiting gracefully on an install routine. This happened after I chose to enable the recommended updates. The watch job wouldn't quit watching and I'd have to forcefully reboot, as the system would hang for a very long time. This is one of the few times I have given a linux a nominal three finger salute. Seven ctl-alt-del combos in two seconds stopped the job and shutdown eventually happened about two minutes later. My temporary solution is to mask the packagekit application service and only use dnf. Dragora's gui is also easy, however, the desktop integration is not as slick. I do like the native gnome software centre interface and the way the monitoring and notification app is tied into the calander. It is very central and easy to deal with. However for the time being; #systemctl mask packagekit.service Created symlink /etc/systemd/system/packagekit.service → /dev/null. I had been looking for a way to stop only the notification that F28 is now available as an upgrade. I'd get that notice once every day, but apparently if the watchdog is running, you get all notices and I have yet to discover a way to blacklist an individual notice, so I masked the entire service. I guess this is part of the bumps and bruises of switching over to systemd. I am trying out F28 on my M.2 Xpoint ram stick and I'm pretty pleased so far. The only issue which keeps me with F27 as main, is on par with every distro update I have ever done. ie. the sane backend and its D-bus internal references. On F28 my brother MFC-L2710DW cannot connect to the brscan. Following the sane systemd recomendations I've gotten to the socket via telnet, but I just can't glue the endpoints together. Hopefully Brother will repackage the driver as systemd takes over Fedora init entirely. -- Russell

On Wed, 16 May 2018 19:48:31 -0400 Russell via talk <talk@gtalug.org> wrote:
After installing some recent F27 updates using the gnome software centre, the package kit watchdog has stopped exiting gracefully on an install routine. This happened after I chose to enable the recommended updates.
... Russel, I am having problems with dnf too. I have upgraded my two primary computers to Fedora_27. Overall, I am happy with it, but I find that install orders to dnf fail a lot. Usually, they work when I run them again. This is not much help when my cron job tries to do an update. -- Howard Gibson hgibson@eol.ca jhowardgibson@gmail.com http://home.eol.ca/~hgibson

On May 16, 2018 8:24:52 PM EDT, Howard Gibson <hgibson@eol.ca> wrote:
On Wed, 16 May 2018 19:48:31 -0400 Russell via talk <talk@gtalug.org> wrote:
After installing some recent F27 updates using the gnome software centre, the package kit watchdog has stopped exiting gracefully on an install routine. This happened after I chose to enable the recommended updates.
...
Russel,
I am having problems with dnf too. I have upgraded my two primary computers to Fedora_27. Overall, I am happy with it, but I find that install orders to dnf fail a lot. Usually, they work when I run them again. This is not much help when my cron job tries to do an update.
I don't generally do updates except for those security issues which I find out about, either from this list or other feeds. Once I have something that I do rely on daily for workflow, I try not to upset the applecart. This year is a bit of an exception, I do all recommended updates, as so many core utilities are affected by all the recent cache mitigations. In addition Fedora 28, has aligned itself more completely with the principles of the company's more robustly secured enterprise solutions. Now libnsl is prised out of glibc and stands on its own as libnsl2. Ostensibly this provides enhanced support for Transport Independant RPC on IPv6 networks. However my first attempt to revert back to libnsl for portmapping, as others using sane backends on Fedora have recommended trying, borked the socket completely. Clearly I missed something, which thusfar appears to be above my pay grade. Currently my reading suggests I should be looking to how memory allocation is being managed in F28 to provide for better dynamic linking. I remember a Tlug presentation from quite a number of years ago titled, "Better Living Through Dynamic Linking." Now I wish I'd kept better notes, you never know when this sort of esoteric stuff will come in handy.
-- Howard Gibson hgibson@eol.ca jhowardgibson@gmail.com http://home.eol.ca/~hgibson
-- Russell

I'm on Fedora 28. I'm replying somewhat carelessly: I'm not checking things. | From: Russell via talk <talk@gtalug.org> | On May 16, 2018 8:24:52 PM EDT, Howard Gibson <hgibson@eol.ca> wrote: | >On Wed, 16 May 2018 19:48:31 -0400 | >Russell via talk <talk@gtalug.org> wrote: | > | >> After installing some recent F27 updates using the gnome software | >centre, the package kit watchdog has stopped exiting gracefully on an | >install routine. This happened after I chose to enable the recommended | >updates. [quoting (by Howard) got somewhat mucked up (by Russell's MUA) due to long lines. At least I think that that is what happened.] I don't knowingly use packagekit. But of course it runs on my systems. I use dnf. I wish I'd removed packagekit a while back because a (now fixed) bug caused a lot of space to be wasted on my machines. Perhaps even double-downloading of packages (I don't know). <https://bugzilla.redhat.com/show_bug.cgi?id=1306992> I built my own work-around: a script to prune the cache. I no longer need it. Maybe you can remove packagekit. Or just disable it. | >I am having problems with dnf too. I have upgraded my two primary | >computers to Fedora_27. Overall, I am happy with it, but I find that | >install orders to dnf fail a lot. Usually, they work when I run them | >again. This is not much help when my cron job tries to do an update. I don't have unexpected dnf failures. I do get expected ones: - (not recently) if packagekit is refreshing its cache, dnf gets delayed or even locked out. - the filesystem with /var/cache fills up and dnf balks Why or how does dnf fail for you? | I don't generally do updates except for those security issues which I | find out about, either from this list or other feeds. Once I have | something that I do rely on daily for workflow, I try not to upset the | applecart. In this day and age, I do updates fairly regularly. And with Fedora, it is kind of like a Niagara. I guess it's a little slower when one is one version back. I don't find applecarts are upset, but it is a worry. With your philosophy, you should consider CentOS. Its main fault is that the packages are so far behind the times. Ubuntu LTS seems to be somewhere in the middle. But I don't have much experience with it. Debian gives you choices too but I don't have any first-hand experience (something I regret). | This year is a bit of an exception, I do all recommended updates, as so | many core utilities are affected by all the recent cache mitigations. Do you know about the dnf flag --security? I've never tried it, but it seems to be what you want. There is also --sec-severity. They look like great shortcuts for your policy. | In | addition Fedora 28, has aligned itself more completely with the | principles of the company's more robustly secured enterprise solutions. I don't understand. Fedora is kind of a pathfinder for RHEL. Some initiatives are deemed failures but most others get into the next version of RHEL (up to five years later!). RHEL is more secure partly because it is more conservative about adopting upstream updates. This takes a lot of work and backporting -- there are a lot of Red Hat employees doing this. They also do a lot of testing, including formal testing such as FIPS auditing. | Now libnsl is prised out of glibc and stands on its own as libnsl2. | | Ostensibly this provides enhanced support for Transport Independant RPC | on IPv6 networks. However my first attempt to revert back to libnsl for | portmapping, as others using sane backends on Fedora have recommended | trying, borked the socket completely. Clearly I missed something, which | thusfar appears to be above my pay grade. I've not had any problems and have been blissfully ignorant of this issue. I do use SANE. I feel (but don't know for sure) that glibc is way too big and should be modularized. Changing this kind of thing is hard because it ripples down to the many many clients of glibc. | Currently my reading suggests I should be looking to how memory | allocation is being managed in F28 to provide for better dynamic | linking. Why? Is this connected to problems that you are experiencing? | I remember a Tlug presentation from quite a number of years ago | titled, "Better Living Through Dynamic Linking." | | Now I wish I'd kept better notes, you never know when this sort of | esoteric stuff will come in handy. David Collier-Brown's talk was interesting. But the mechanism is very powerful and easy to get wrong. What problem do you have that it might solve?

On May 17, 2018 8:46:25 AM EDT, "D. Hugh Redelmeier via talk" <talk@gtalug.org> wrote:
I'm on Fedora 28. I'm replying somewhat carelessly: I'm not checking things.
| From: Russell via talk <talk@gtalug.org>
| On May 16, 2018 8:24:52 PM EDT, Howard Gibson <hgibson@eol.ca> wrote: | >On Wed, 16 May 2018 19:48:31 -0400 | >Russell via talk <talk@gtalug.org> wrote: | > | >> After installing some recent F27 updates using the gnome software | >centre, the package kit watchdog has stopped exiting gracefully on an | >install routine. This happened after I chose to enable the recommended | >updates.
[quoting (by Howard) got somewhat mucked up (by Russell's MUA) due to long lines. At least I think that that is what happened.]
I don't know whats happening there. It seems to be intermittent and not just with this list but personal traffic as well.
I don't knowingly use packagekit. But of course it runs on my systems. I use dnf.
I wish I'd removed packagekit a while back because a (now fixed) bug caused a lot of space to be wasted on my machines. Perhaps even double-downloading of packages (I don't know). <https://bugzilla.redhat.com/show_bug.cgi?id=1306992>
I built my own work-around: a script to prune the cache. I no longer need it.
Maybe you can remove packagekit. Or just disable it.
| >I am having problems with dnf too. I have upgraded my two primary | >computers to Fedora_27. Overall, I am happy with it, but I find that | >install orders to dnf fail a lot. Usually, they work when I run them | >again. This is not much help when my cron job tries to do an update.
I don't have unexpected dnf failures. I do get expected ones:
- (not recently) if packagekit is refreshing its cache, dnf gets delayed or even locked out.
- the filesystem with /var/cache fills up and dnf balks
Why or how does dnf fail for you?
| I don't generally do updates except for those security issues which I
| find out about, either from this list or other feeds. Once I have | something that I do rely on daily for workflow, I try not to upset the | applecart.
In this day and age, I do updates fairly regularly. And with Fedora, it is kind of like a Niagara. I guess it's a little slower when one is one version back.
I don't find applecarts are upset, but it is a worry.
With your philosophy, you should consider CentOS. Its main fault is that the packages are so far behind the times.
CentOS is on the bucket list to check out. However I do have all new midrange equipment to play around with so I'm tinkering a lot closer to the edge than my usual comfort zone in this case. I was running Debian from about 2001 onward. A few years ago I was helping a friend, he tried out Fedora, I did the grunt work on updates and comming to grips with SElinux. I got to like it, so I'm using it on my new build, at least while I'm transitioning to systemd.
Ubuntu LTS seems to be somewhere in the middle. But I don't have much experience with it. Debian gives you choices too but I don't have any first-hand experience (something I regret).
| This year is a bit of an exception, I do all recommended updates, as so | many core utilities are affected by all the recent cache mitigations.
Do you know about the dnf flag --security? I've never tried it, but it seems to be what you want. There is also --sec-severity. They look like great shortcuts for your policy.
Thanks, I have muted packagekit and dnf dragora is running. At this point I am doing complete updates as they roll in but I will definately look at those flags for stability in the future.
| In | addition Fedora 28, has aligned itself more completely with the | principles of the company's more robustly secured enterprise solutions.
I don't understand. Fedora is kind of a pathfinder for RHEL. Some initiatives are deemed failures but most others get into the next version of RHEL (up to five years later!).
RHEL is more secure partly because it is more conservative about adopting upstream updates. This takes a lot of work and backporting -- there are a lot of Red Hat employees doing this. They also do a lot of testing, including formal testing such as FIPS auditing.
| Now libnsl is prised out of glibc and stands on its own as libnsl2. | | Ostensibly this provides enhanced support for Transport Independant RPC | on IPv6 networks. However my first attempt to revert back to libnsl for | portmapping, as others using sane backends on Fedora have recommended
| trying, borked the socket completely. Clearly I missed something, which | thusfar appears to be above my pay grade.
I've not had any problems and have been blissfully ignorant of this issue. I do use SANE.
Currently on F28 my Brother multifunction scanner printer only prints, no scanner. This seems to be an issue with brscan software. Everything works on F27, however that version is using init to do the port mapping, not systemd.
I feel (but don't know for sure) that glibc is way too big and should be modularized. Changing this kind of thing is hard because it ripples down to the many many clients of glibc.
Another of my bucket list items to study are Fedora Flatpacks. This seems to be a next wave for connecting developers to the end users and vice versa. In essence I see this emerging tech as one of dynamic modularity vs static monolithity.
| Currently my reading suggests I should be looking to how memory | allocation is being managed in F28 to provide for better dynamic | linking.
Why? Is this connected to problems that you are experiencing?
My F28 systemd targets aren't working for brscan.
| I remember a Tlug presentation from quite a number of years ago | titled, "Better Living Through Dynamic Linking." | | Now I wish I'd kept better notes, you never know when this sort of | esoteric stuff will come in handy.
David Collier-Brown's talk was interesting. But the mechanism is very powerful and easy to get wrong. What problem do you have that it might solve?
Systemd contiguation of memory allocation units under IPv6 addressing. Systemd is kind of like omnibus legislation, you really have to read and get all the fine print or something you like, need or want gets steamrollered. I remember from the Dynamic Linking talk that some wags would say, all high sierra like; "your talking about dlls, thats M$ cruft. This is Linux, we don't need no stinkin dlls." It looks like I do need them, in spades now that I have adopted systemd instruction sets.
--- Talk Mailing List talk@gtalug.org https://gtalug.org/mailman/listinfo/talk
-- Russell

| From: Russell via talk <talk@gtalug.org> | On May 17, 2018 8:46:25 AM EDT, "D. Hugh Redelmeier via talk" <talk@gtalug.org> wrote: | >[quoting (by Howard) got somewhat mucked up (by Russell's MUA) due to | >long | >lines. At least I think that that is what happened.] | | I don't know whats happening there. It seems to be intermittent and not | just with this list but personal traffic as well. Your lines are long (a whole paragraph long). Something is quoting by putting a > at the start of a line. Then something is folding them without adding > at each fold. | >| Now libnsl is prised out of glibc and stands on its own as libnsl2. | >| | >| Ostensibly this provides enhanced support for Transport Independant | >RPC | >| on IPv6 networks. However my first attempt to revert back to libnsl | >for | >| portmapping, as others using sane backends on Fedora have recommended | > | >| trying, borked the socket completely. Clearly I missed something, | >which | >| thusfar appears to be above my pay grade. | > | >I've not had any problems and have been blissfully ignorant of this | >issue. I do use SANE. | | Currently on F28 my Brother multifunction scanner printer only prints, | no scanner. This seems to be an issue with brscan software. Everything | works on F27, however that version is using init to do the port mapping, | not systemd. I am using a Brother printer / scanner. I strongly dislike that I have to use a proprietary driver for the printer and another for the scanner. I do like it that Brother has produced and maintained them. I actually replaced the DCP-7065DN with an MFC-L2730DW because it would natively handle postscript but I don't know about how to get the right ppd so I'm still using the proprietary printer driver. More to the point: the printer and the scanner work fine on my Fedora 28. I don't run the brscan-skey that detects button presses and initiates scanning. I don't think that anything is started by systemd (but brscan-skey might want to be). I probably installed the drivers under Fedora 26 and they survived the upgrades to 27 and 28. | >I feel (but don't know for sure) that glibc is way too big and should | >be modularized. Changing this kind of thing is hard because it | >ripples down to the many many clients of glibc. | | Another of my bucket list items to study are Fedora Flatpacks. This | seems to be a next wave for connecting developers to the end users and | vice versa. In essence I see this emerging tech as one of dynamic | modularity vs static monolithity. Flatpacks are not a Fedora thing, they are a freedesktop.org thing. Flatpacks carry their own runtime with them. But less than a virtual machine's runtime. I don't like it because any bug in a runtime library will need to be fixed in each copy of it: once for every flatpack and once for the system as a whole. On the other hand, flatpacks allow distro builders to stop packaging applications that have flatpacks. | >| Currently my reading suggests I should be looking to how memory | >| allocation is being managed in F28 to provide for better dynamic | >| linking. | > | >Why? Is this connected to problems that you are experiencing? | | My F28 systemd targets aren't working for brscan. How have you made a connection between brscan and memory allocation? | > | >| I remember a Tlug presentation from quite a number of years ago | >| titled, "Better Living Through Dynamic Linking." | >| | >| Now I wish I'd kept better notes, you never know when this sort of | >| esoteric stuff will come in handy. | > | >David Collier-Brown's talk was interesting. But the mechanism is very | >powerful and easy to get wrong. What problem do you have that it | >might solve? | | Systemd contiguation of memory allocation units under IPv6 addressing. How are you connecting "memory allocation" with IPv6 addressing? | Systemd is kind of like omnibus legislation, you really have to read and | get all the fine print or something you like, need or want gets | steamrollered. systemd is intricate. I certainly don't understand all the things that it does. But Pottering does claim that it is modular. | I remember from the Dynamic Linking talk that some wags would say, all | high sierra like; "your talking about dlls, thats M$ cruft. This is | Linux, we don't need no stinkin dlls." UNIX has had them since before Windows. Just look at all the .so files. What UNIX does differently is the idea of major and minor versions: $MAJOR.$MINOR. A program specifies the Major version it requires and the system provides the highest minor version available for that major version. Interfaces can change only when major versions are changed. The Windows implementation did not have any such provision so substitutions often went wrong. Various creative failure modes ensued, but I won't bore you with the details. | It looks like I do need them, in spades now that I have adopted systemd | instruction sets. You've been using them for a long time. Probably since LINUX changed from a.out to ELF more than 20 years ago. <https://www.linuxjournal.com/article/1052> I don't see how systemd changes anything to do with shared libraries.

On 18/05/18 11:32 PM, D. Hugh Redelmeier via talk wrote:
| From: Russell via talk <talk@gtalug.org>
| On May 17, 2018 8:46:25 AM EDT, "D. Hugh Redelmeier via talk" <talk@gtalug.org> wrote:
| I remember from the Dynamic Linking talk that some wags would say, all | high sierra like; "your talking about dlls, thats M$ cruft. This is | Linux, we don't need no stinkin dlls."
UNIX has had them since before Windows. Just look at all the .so files.
What UNIX does differently is the idea of major and minor versions: $MAJOR.$MINOR. A program specifies the Major version it requires and the system provides the highest minor version available for that major version. Interfaces can change only when major versions are changed.
The Windows implementation did not have any such provision so substitutions often went wrong. Various creative failure modes ensued, but I won't bore you with the details. It's notable that Linux numbers the interface, not the library. This came from Multics, and was heavily used by Solaris and the glibc developers to avoid an NP_complete problem of "how do I have two versions of something at the same time?" More details that you ever wanted in https://leaflessca.wordpress.com/2017/02/12/dll-hell-and-avoiding-an-np-comp...
--dave -- David Collier-Brown, | Always do right. This will gratify System Programmer and Author | some people and astonish the rest davecb@spamcop.net | -- Mark Twain

| From: David Collier-Brown via talk <talk@gtalug.org> | It's notable that Linux numbers the interface, not the library. This came from | Multics, and was heavily used by Solaris and the glibc developers to avoid an | NP_complete problem of "how do I have two versions of something at the same | time?" More details that you ever wanted in | https://leaflessca.wordpress.com/2017/02/12/dll-hell-and-avoiding-an-np-comp... Interesting. I haven't (yet) read references from the blog posting. The example of memcpy with overlapped arguments is interesting. If I remember correctly, overlapping arguments was banned in about 1980. So the chances of C code being older than that is rather low these days. Less so code that is unmaintained. So using overapping is a bug. Do we really want to keep old libraries to support buggy code? In fact, the change to cause memcpy with overlap to fail may not be a change in the library, it may be a change in the compiler. Or a change in the compiler that compiled the library. If you think we need to support buggy code by freezing the library, there is no end to how far you can take that. No changes are possible. You might as well freeze your program in a VM and not fix ANY bugs. That seems to be The Container Way. A compromise is to support old interfaces when a library changes its contract in some way that is not backward compatible. Not the implicit contract, the written contract (i.e. documentation). That presumes that your documentation is up to snuff -- sadly not as common as it should be. I think code improves when it tracks the things it depends on. Look at C and its compilers: it has gotten much better at letting the programmer express intentions and detecting inconsistencies. Code that doesn't use those features is likely less reliable. I find it disgraceful that the transition from Python 2 to Python 3 is still a thing 10 years on.

On 19/05/18 01:17 PM, D. Hugh Redelmeier via talk wrote:
| From: David Collier-Brown via talk <talk@gtalug.org>
| It's notable that Linux numbers the interface, not the library. This came from | Multics, and was heavily used by Solaris and the glibc developers to avoid an | NP_complete problem of "how do I have two versions of something at the same | time?" More details that you ever wanted in | https://leaflessca.wordpress.com/2017/02/12/dll-hell-and-avoiding-an-np-comp...
Interesting. I haven't (yet) read references from the blog posting.
The example of memcpy with overlapped arguments is interesting.
Primarily, it's a trivial example that everyone will understand. It is also an example of a bug and people trying to code /in terms of the bug/. Arguably not a good thing to do ...
If I remember correctly, overlapping arguments was banned in about 1980. So the chances of C code being older than that is rather low these days. Less so code that is unmaintained.
So using overapping is a bug. Do we really want to keep old libraries to support buggy code?
Some people don't have the source to their programs, so they can get stuck using an old interface, and be unable to recompile if the library changed. We had that with linker records at Honeywell: we could add new ones, and even require people to set a particular flag to force them to be still honored, but we didn't succeed in taking the one I was involved in out. Others removals went fine, so no-one seemed to have been wedged by them. I used the example in part to illustrate that there are tradeoffs, and also "religious" debates over whether something is a bug or a feature. There's one religious debate going on right now about closures in Go. Everyone who has been caught by the bug splits into one of two camps. One group says "fix it, it doesn't break any programs that have coded around the bug". The other group says "It's a feature. I had code around it, and everyone else should have to, too" That one's an example that argues for not supporting old interfaces, while the lost-code example argues for retaining them even when it's to enable deliberately doing a wrong thing.
I think code improves when it tracks the things it depends on. Look at C and its compilers: it has gotten much better at letting the programmer express intentions and detecting inconsistencies. Code that doesn't use those features is likely less reliable. Yes. For a language to advance, it has to be able to stop supporting old interfaces. Thus my snarky comment about coding in terms of a bug (;-))
Doing so may take a deep text-to-text transformer like "go fix", and it may take a sliding window of how old an interface can be, with occasional special case like the Honeywell GCOS linker's -allow-old-call-frames option.
I find it disgraceful that the transition from Python 2 to Python 3 is still a thing 10 years on. IMHO, they need a "python fix" program that transforms at the parse tree level, not just textually like 2to3 and 3to2 do.
--dave [There's a ton of interesting stuff in the David J Brown paper] -- David Collier-Brown, | Always do right. This will gratify System Programmer and Author | some people and astonish the rest davecb@spamcop.net | -- Mark Twain
participants (4)
-
D. Hugh Redelmeier
-
David Collier-Brown
-
Howard Gibson
-
Russell