Opened 11 years ago

Last modified 5 years ago

#10104 assigned bug

[package_daemon] Can't reactivate a package if it was removed while the daemon was not running

Reported by: diver Owned by: leavengood
Priority: normal Milestone: R1
Component: Servers/package_daemon Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

package_daemon can't reactivate a package if it wasn't running (e.g. it crashed) when the package was moved out of packages folder.

pkgman install --home bepdf
hey package_daemon quit
mv ~/config/packages/bepdf-1.1.1~beta5_2013_04_28-1-x86_gcc2.hpkg .
/system/servers/package_daemon &
mv bepdf-1.1.1~beta5_2013_04_28-1-x86_gcc2.hpkg ~/config/packages/

syslog snippet:

package_daemon [6639204657:   704] Volume::_PackagesEntryCreated("bepdf-1.1.1~beta5_2013_04_28-1-x86_gcc2.hpkg")
package_daemon [6639583920:   704] Volume::_ChangePackageActivation(): activating 1, deactivating 0 packages
packagefs [6639584083:   704] Volume::_ChangeActivation(): package to activate already activated: "bepdf-1.1.1~beta5_2013_04_28-1-x86_gcc2.hpkg"

Attachments (1)

alert.png (6.7 KB ) - added by diver 11 years ago.

Download all attachments as: .zip

Change History (3)

by diver, 11 years ago

Attachment: alert.png added

comment:1 by waddlesplash, 10 years ago

Still an issue?

comment:2 by leavengood, 5 years ago

Owner: changed from bonefish to leavengood
Status: newassigned
Summary: [package_daemon] failed to commit transaction[package_daemon] Can't reactivate a package if it was removed while the daemon was not running

I am sure this is still an issue. I am trying to decide if it is valid. It is a lot to ask to kill the package_daemon and then be surprised it missed something.

But this may not be too hard to fix. I am sure on start the daemon is just loading the activated-packages file and using that as a canonical source. A quick fix would be to remove any packages from that list which are not actually in the packages directories at load time.

Note: See TracTickets for help on using tickets.