Re: systemd PathExists triggers

2020-10-01 Thread Tiago Daitx
For reference, it was reported upstream originally as a regression [1]
until Poettering confirmed that it was a fix for a broken behaviour
[2].

For those interested in the details, reading the discussion there
might help understand the context a little better.

[1] https://github.com/systemd/systemd/issues/16669
[2] https://github.com/systemd/systemd/issues/16669#issuecomment-691193254

On Thu, Oct 1, 2020 at 10:21 AM Dimitri John Ledkov  wrote:
>
> Conditions* are unaffected at all, and are unrelated to the issue at
> hand whatsoever.
>
> On Thu, 1 Oct 2020 at 08:33, Christian Ehrhardt
>  wrote:
> >
> > On Wed, Sep 30, 2020 at 7:43 PM Brian Murray  wrote:
> > >
> > > Recently there was a systemd change regarding PathExists for
> > > systemd.path units that made systemd behave the way it was documented to
> > > work. The effect being that if the PathExists or PathExistsGlob
> > > condition is met the service is continually started which may not be the
> > > behavior some packages expect as it didn't used to work that way.
> > >
> > > As an example apport's autoreport service uses PathExistsGlob to check
> > > for a .crash file and then calls whoopsie-upload-all which used to run
> > > once when the .crash file appeared. As of Groovy whoopsie-upload-all was
> > > called continuously thereby causing systemd to use 100% of your CPU[1].
> > >
> > > While this is resolved for apport's case, the Foundation's team thought
> > > it was worth mentioning as other package's services may also be
> > > impacted.
> >
> > Thanks Brian for your warning!
> > I see in your list some .path files e.g. the aforementioned
> > apport-autoreport.path
> > that I understand if using a PathExist* will have changed. Of those the 
> > list [2]
> > contains 9 to look at.
> >
> > I beg your pardon, but the list is vast due to including any
> > "Type=oneshot" as well.
> > And from the summary you gave I don't see why those are included as well.
> > Looking at the first in the list that probably everyone has installed I see:
> > a)
> > /lib/systemd/system/alsa-restore.service there are no associated .path
> > files, only
> > ConditionPathExists in the unit itself - are those also affected?
> > b)
> > Looking slightly further /lib/systemd/system/apt-daily.service even
> > has no associated
> > .path nor any *Exist* statement.
> >
> > My question would now be - are those files of type (a) or (b) all also
> > affected in
> > some way or is the "critical list" actually much shorter? I was wondering 
> > if you
> > could help to clarify before everyone that feels responsible for a package 
> > with
> > a file in that list is diving into and re-understanding the case.
> >
> > Thanks in advance,
> > Christian
> >
> > > An archive search[2] (thanks Seth!) was done of services which are
> > > Type=oneshot or utilize a PathExists or PathExistsGlob. Briefly scanning
> > > the list the following packages should probably be looked at:
> > >
> > > mandos-client
> > > ostree
> > > python-diskimage-builder
> > > ubuntu-report
> > >
> > > [1] http://launchpad.net/bugs/1891657
> > > [2] https://paste.ubuntu.com/p/k5Gj7rQ9FX/
> > >
> > > Cheers,
> > > --
> > > Brian Murray
> > >
> > > --
> > > ubuntu-devel mailing list
> > > ubuntu-devel@lists.ubuntu.com
> > > Modify settings or unsubscribe at: 
> > > https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
> >
> >
> >
> > --
> > Christian Ehrhardt
> > Staff Engineer, Ubuntu Server
> > Canonical Ltd
> >
> > --
> > ubuntu-devel mailing list
> > ubuntu-devel@lists.ubuntu.com
> > Modify settings or unsubscribe at: 
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
>
>
> --
> Regards,
>
> Dimitri.
>
> --
> Regards,
>
> Dimitri.
>
> --
> ubuntu-devel mailing list
> ubuntu-devel@lists.ubuntu.com
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel



-- 
Tiago Stürmer Daitx
Software Engineer
tiago.da...@canonical.com

PGP Key: 4096R/F5B213BE (hkp://keyserver.ubuntu.com)
Fingerprint = 45D0 FE5A 8109 1E91 866E  8CA4 1931 8D5E F5B2 13BE

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: systemd PathExists triggers

2020-10-01 Thread Dimitri John Ledkov
Conditions* are unaffected at all, and are unrelated to the issue at
hand whatsoever.

On Thu, 1 Oct 2020 at 08:33, Christian Ehrhardt
 wrote:
>
> On Wed, Sep 30, 2020 at 7:43 PM Brian Murray  wrote:
> >
> > Recently there was a systemd change regarding PathExists for
> > systemd.path units that made systemd behave the way it was documented to
> > work. The effect being that if the PathExists or PathExistsGlob
> > condition is met the service is continually started which may not be the
> > behavior some packages expect as it didn't used to work that way.
> >
> > As an example apport's autoreport service uses PathExistsGlob to check
> > for a .crash file and then calls whoopsie-upload-all which used to run
> > once when the .crash file appeared. As of Groovy whoopsie-upload-all was
> > called continuously thereby causing systemd to use 100% of your CPU[1].
> >
> > While this is resolved for apport's case, the Foundation's team thought
> > it was worth mentioning as other package's services may also be
> > impacted.
>
> Thanks Brian for your warning!
> I see in your list some .path files e.g. the aforementioned
> apport-autoreport.path
> that I understand if using a PathExist* will have changed. Of those the list 
> [2]
> contains 9 to look at.
>
> I beg your pardon, but the list is vast due to including any
> "Type=oneshot" as well.
> And from the summary you gave I don't see why those are included as well.
> Looking at the first in the list that probably everyone has installed I see:
> a)
> /lib/systemd/system/alsa-restore.service there are no associated .path
> files, only
> ConditionPathExists in the unit itself - are those also affected?
> b)
> Looking slightly further /lib/systemd/system/apt-daily.service even
> has no associated
> .path nor any *Exist* statement.
>
> My question would now be - are those files of type (a) or (b) all also
> affected in
> some way or is the "critical list" actually much shorter? I was wondering if 
> you
> could help to clarify before everyone that feels responsible for a package 
> with
> a file in that list is diving into and re-understanding the case.
>
> Thanks in advance,
> Christian
>
> > An archive search[2] (thanks Seth!) was done of services which are
> > Type=oneshot or utilize a PathExists or PathExistsGlob. Briefly scanning
> > the list the following packages should probably be looked at:
> >
> > mandos-client
> > ostree
> > python-diskimage-builder
> > ubuntu-report
> >
> > [1] http://launchpad.net/bugs/1891657
> > [2] https://paste.ubuntu.com/p/k5Gj7rQ9FX/
> >
> > Cheers,
> > --
> > Brian Murray
> >
> > --
> > ubuntu-devel mailing list
> > ubuntu-devel@lists.ubuntu.com
> > Modify settings or unsubscribe at: 
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
>
>
> --
> Christian Ehrhardt
> Staff Engineer, Ubuntu Server
> Canonical Ltd
>
> --
> ubuntu-devel mailing list
> ubuntu-devel@lists.ubuntu.com
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel



-- 
Regards,

Dimitri.

-- 
Regards,

Dimitri.

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: Second Groovy Gorilla test rebuild

2020-10-01 Thread Christian Ehrhardt
On Tue, Sep 29, 2020 at 11:07 AM Christian Ehrhardt
 wrote:
>
> On Mon, Sep 28, 2020 at 9:39 PM Sebastien Bacher  wrote:
> >
> > Hey Matthias,
> >
> > Le 28/09/2020 à 18:07, Matthias Klose a écrit :
> > > Some build failures on ppc64el and s390x are caused by a buildd issue, 
> > > and will
> > > be retried soonish. Please ignore these where you see a ftbfs just on 
> > > those
> > > architectures, but successes on the other architectures.
> >
> > There seems to be some flakyness on arm as well, are those going to be
> > retried or should that be requested by e.g pinging you?
> >
> > Some examples
> >
> > https://launchpadlibrarian.net/499016257/buildlog_ubuntu-groovy-armhf.colord-gtk_0.2.0-0ubuntu1_BUILDING.txt.gz
> > https://launchpadlibrarian.net/499209776/buildlog_ubuntu-groovy-arm64.gpm_1.20.7-6_BUILDING.txt.gz
> > https://launchpadlibrarian.net/499174464/buildlog_ubuntu-groovy-arm64.remmina_1.4.8+dfsg-1ubuntu1_BUILDING.txt.gz
>
> Adding the same armhf dependency issue on these:
> htop: 
> https://launchpadlibrarian.net/499078378/buildlog_ubuntu-groovy-arm64.htop_3.0.2-1_BUILDING.txt.gz
> openvpn: 
> https://launchpadlibrarian.net/499161991/buildlog_ubuntu-groovy-armhf.openvpn_2.4.9-3ubuntu1_BUILDING.txt.gz
> I see that Laney already filed a bug about that with IS.
>
> Furthermore some armhf issues are due to
> https://bugs.launchpad.net/ubuntu/+source/gcc-10/+bug/1890435
> php7.4: 
> https://launchpadlibrarian.net/499168409/buildlog_ubuntu-groovy-armhf.php7.4_7.4.9-1ubuntu1_BUILDING.txt.gz
>
> When doing an initial triage of some errors I found three sets of
> recurring issues:
> 1. rpc includes like "rpc/rpc.h: No such file"
> 2. better null checking like " -Werror=nonnull" or "directive argument is 
> null"
> 3. linker shows "multiple definitions of"

Just as FYI to save you some debugging, common issue #3 is due to gcc now
defaulting to -fno-common Most of the time that is due to missing "extern"
declarations and the fix is to add them.
This even is the first entry on [1] Porting to GCC 10 page.

But there is one more case which is less clear than missing "extern",
Defines that are meant to be linked together like the following also trigger it:
#define __shared __asm__ ( "_shared_bss" ) __aligned
The fix here is to add back -fcommon for such.

[1]: https://gcc.gnu.org/gcc-10/porting_to.html

> #2 likely comes down to fixing code or disabling the warning for now.
> But for #1 and #3 I think there is a general change and every affected
> package likely will need the similar fix.
> So if someone already debugged those it would be great to let the others know.
>
>
> > Cheers,
> > Sebastien Bacher
> >
> >
> >
> > --
> > ubuntu-devel mailing list
> > ubuntu-devel@lists.ubuntu.com
> > Modify settings or unsubscribe at: 
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
>
>
> --
> Christian Ehrhardt
> Staff Engineer, Ubuntu Server
> Canonical Ltd



-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: systemd PathExists triggers

2020-10-01 Thread Christian Ehrhardt
On Wed, Sep 30, 2020 at 7:43 PM Brian Murray  wrote:
>
> Recently there was a systemd change regarding PathExists for
> systemd.path units that made systemd behave the way it was documented to
> work. The effect being that if the PathExists or PathExistsGlob
> condition is met the service is continually started which may not be the
> behavior some packages expect as it didn't used to work that way.
>
> As an example apport's autoreport service uses PathExistsGlob to check
> for a .crash file and then calls whoopsie-upload-all which used to run
> once when the .crash file appeared. As of Groovy whoopsie-upload-all was
> called continuously thereby causing systemd to use 100% of your CPU[1].
>
> While this is resolved for apport's case, the Foundation's team thought
> it was worth mentioning as other package's services may also be
> impacted.

Thanks Brian for your warning!
I see in your list some .path files e.g. the aforementioned
apport-autoreport.path
that I understand if using a PathExist* will have changed. Of those the list [2]
contains 9 to look at.

I beg your pardon, but the list is vast due to including any
"Type=oneshot" as well.
And from the summary you gave I don't see why those are included as well.
Looking at the first in the list that probably everyone has installed I see:
a)
/lib/systemd/system/alsa-restore.service there are no associated .path
files, only
ConditionPathExists in the unit itself - are those also affected?
b)
Looking slightly further /lib/systemd/system/apt-daily.service even
has no associated
.path nor any *Exist* statement.

My question would now be - are those files of type (a) or (b) all also
affected in
some way or is the "critical list" actually much shorter? I was wondering if you
could help to clarify before everyone that feels responsible for a package with
a file in that list is diving into and re-understanding the case.

Thanks in advance,
Christian

> An archive search[2] (thanks Seth!) was done of services which are
> Type=oneshot or utilize a PathExists or PathExistsGlob. Briefly scanning
> the list the following packages should probably be looked at:
>
> mandos-client
> ostree
> python-diskimage-builder
> ubuntu-report
>
> [1] http://launchpad.net/bugs/1891657
> [2] https://paste.ubuntu.com/p/k5Gj7rQ9FX/
>
> Cheers,
> --
> Brian Murray
>
> --
> ubuntu-devel mailing list
> ubuntu-devel@lists.ubuntu.com
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel



-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel