On Sun, Jul 14, 2013 at 05:03:29PM +0300, Oleksii Shevchuk wrote:
>
> > Can you be a bit more explicit, how was this condition triggered?
>
> 1. enable templated target ([email protected])
> 2. make mistake and disable that as service (systemctl disable
> blahbah@something)
> 3. enjoy SIGABRT
So the problem happens when disabling a non-existent instance unit.
Your fix undoes the change that introduced this problem:
- if (q == -ENOENT) {
+ if (q == -ENOENT && i->path) {
because the condition in if now cannot be satisfied.
A different solution is needed. Unfortunately this area
of code seems to have more problems:
# systemctl enable [email protected]
ln -s '/etc/systemd/system/[email protected]'
'/etc/systemd/system/getty.target.wants/[email protected]'
# systemctl disable [email protected]
rm '/etc/systemd/system/[email protected]'
rm '/etc/systemd/system/getty.target.wants/[email protected]'
rm '/etc/systemd/system/getty.target.wants/[email protected]'
Basically the whole idea of removing all symlinks pointing to the
template is borked.
Zbyszek
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel