[Touch-packages] [Bug 2061825] Re: [SRU] ucf fails to work for local diversions on Jammy

2024-04-30 Thread Heitor Alves de Siqueira
Thanks for the confirmation on Focal, @pponnuvel!

I've tested your debdiff, and it seems to work correctly. Patch is also
a straightforward cherry-pick from Debian.

Sponsored for Jammy, with the update-maintainer changes.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ucf in Ubuntu.
https://bugs.launchpad.net/bugs/2061825

Title:
  [SRU] ucf fails to work for local diversions on Jammy

Status in ucf package in Ubuntu:
  Fix Released
Status in ucf source package in Jammy:
  In Progress

Bug description:
  [ Impact ]

  When a dpkg-diversion is used to setup a package diversion and ucf for 
managing
  the configuration files for chrony package, the postinst script of ucf fails
  when installing chrony.

  This issue isn't specific to chrony but can happen for any package whose
  config files are managed by ucf.

  This affects users on Jammy who use ucf. Newer versions of ucf have this bug
  fixed already.

  [ Test Plan ]

  1. Create a Jammy container or VM
  2. Setup a diversion for chrony.conf: dpkg-divert --package chrony --add 
--rename --divert /etc/chrony/chrony.conf.custom /etc/chrony/chrony.conf
  3. Install chrony: apt install chrony -y
  4. Notice the postinst script fail with syntax errors such as:
  ```
  Preparing to unpack .../chrony_4.2-2ubuntu2_amd64.deb ...
  Unpacking chrony (4.2-2ubuntu2) ...
  Setting up chrony (4.2-2ubuntu2) ...
  /usr/bin/ucf: 444: [: missing ]
  grep: ]: No such file or directory
  /usr/bin/ucf: 444: [: missing ]
  grep: ]: No such file or directory
  ```
  5. Install the package with the fix from the PPA: 
https://launchpad.net/~pponnuvel/+archive/ubuntu/ucf-jammy (to be replaced with 
the package from the -proposed pocket)
  6. Repeat the same from steps 1 to 4 and notice no failures at step4.

  [ Where problems could occur ]

  Can further introduce similar bugs if the patch contains similar syntax
  errors. Consequently local diversion may not take effect for packages
  using ucf to manage configuration files.

  [ Other Info ]
   
  Upstream bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=979354

  It's been fixed in version ucf/3.0043+nmu1. Lunar/Mantic/Noble all have the
  ucf version with this patch.

  Affects Jammy only and thus backported to only Jammy.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ucf/+bug/2061825/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 2036761] Re: [mantic] ppa-purge no longer purges what add-apt-repository adds

2024-04-30 Thread Heitor Alves de Siqueira
Marking as verified according to comment #21

** Tags removed: verification-needed verification-needed-mantic
** Tags added: verification-done verification-done-mantic

** Changed in: software-properties (Ubuntu)
   Status: Confirmed => Invalid

** Changed in: software-properties (Ubuntu Mantic)
   Status: Confirmed => Invalid

** Changed in: software-properties (Ubuntu Noble)
   Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to software-properties in
Ubuntu.
https://bugs.launchpad.net/bugs/2036761

Title:
  [mantic] ppa-purge no longer purges what add-apt-repository adds

Status in ppa-purge package in Ubuntu:
  Fix Released
Status in software-properties package in Ubuntu:
  Invalid
Status in ppa-purge source package in Mantic:
  Fix Committed
Status in software-properties source package in Mantic:
  Invalid
Status in ppa-purge source package in Noble:
  Fix Released
Status in software-properties source package in Noble:
  Invalid

Bug description:
  Thank you @jbicha for the original bug report!

  [ Impact ]

  Currently ppa-purge fails to purge packages on distribution using the deb822 
source format. Currently mantic and noble make use of this format and are 
affected by this issue.
  When running ppa-purge to remove a custom PPA, ppa-purge fails to disable the 
custom PPA since it cannot disable deb822 sources and leads to apt still 
querying the ppa when running:

  $ apt update

  In older versions of ubuntu, PPAs used the ".list" format which could be 
disabled by simply commenting out the "deb" line with a "#". This was the 
method that ppa-purge used to disable PPAs.
  This new patch allows ppa-purge to detect and disable deb822 source files by 
adding an "Enabled: no" field in each component section of the deb822 file. It 
also removes any line that starts with "Enabled:"
  to make sure the resulting file is clean.

  [ Test Plan ]

  The changes were tested on both mantic and noble in a lxc container using the 
oibaf mesa PPA (https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers) 
as the test PPA.
  The following steps were recorded in a noble lxc container.

   - First make sure that mesa-utils is installed in your environment:
  $ sudo apt update && sudo apt install mesa-utils

   - Add the oibaf PPA to your system using the following command:
  $ sudo add-apt-repository ppa:oibaf/graphics-drivers

   - Make sure that the mesa-utils packages were upgraded after adding the PPA:
  $ sudo apt update && sudo apt upgrade
  $ dpkg - l | grep mesa

   - output should be similar to the following:

  ii  libegl-mesa0:amd64  24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the EGL API -- Mesa vendor library
  ii  libgl1-mesa-dri:amd64   24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the OpenGL API -- DRI modules
  ii  libglapi-mesa:amd64 24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the GL API -- shared library
  ii  libglx-mesa0:amd64  24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the OpenGL API -- GLX vendor library
  ii  mesa-utils  9.0.0-2   
  amd64Miscellaneous Mesa utilities -- symlinks
  ii  mesa-utils-bin:amd649.0.0-2   
  amd64Miscellaneous Mesa utilities -- native applications
  ii  mesa-vulkan-drivers:amd64   24.1~git2402280600.41722c~oibaf~n 
  amd64Mesa Vulkan graphics drivers


   - Install and run ppa-purge:
  $ sudo apt install ppa-purge
  $ sudo ppa-purge ppa:oibaf/graphics-drivers

   - ppa-purge will report at the end that none of the oibaf packages
  need to be downgraded/removed:

  
  libglapi-mesa is already the newest version 
(24.1~git2402280600.41722c~oibaf~n).
  libglapi-mesa set to manually installed.
  libglx-mesa0 is already the newest version 
(24.1~git2402280600.41722c~oibaf~n).
  libglx-mesa0 set to manually installed.
  mesa-vulkan-drivers is already the newest version 
(24.1~git2402280600.41722c~oibaf~n).
  mesa-vulkan-drivers set to manually installed.
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-amdgpu1'
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [all]) for 'libdrm-common'
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-intel1'
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-nouveau2'
  Selected version 

[Touch-packages] [Bug 2061825] Re: [SRU] ucf fails to work for local diversions on Jammy

2024-04-24 Thread Heitor Alves de Siqueira
Hi Pon,

thanks for the revised debdiff! This seems to be a non-quilt package, so
your approach of directly patching the ucf/ucfr scripts is correct. The
only thing missing is running the update-maintainer script, as the
ubuntu1 version requires having an ubuntu.com address on the maintainers
field. This is something a sponsor can run easily, so don't worry about
fixing it for now (but feel free to do it for future debdiffs!).

Before uploading this, I'd like to check about Focal; is that release
affected at all? If it is, any reason why we shouldn't patch it?

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ucf in Ubuntu.
https://bugs.launchpad.net/bugs/2061825

Title:
  [SRU] ucf fails to work for local diversions on Jammy

Status in ucf package in Ubuntu:
  Fix Released
Status in ucf source package in Jammy:
  In Progress

Bug description:
  [ Impact ]

  When a dpkg-diversion is used to setup a package diversion and ucf for 
managing
  the configuration files for chrony package, the postinst script of ucf fails
  when installing chrony.

  This issue isn't specific to chrony but can happen for any package whose
  config files are managed by ucf.

  This affects users on Jammy who use ucf. Newer versions of ucf have this bug
  fixed already.

  [ Test Plan ]

  1. Create a Jammy container or VM
  2. Setup a diversion for chrony.conf: dpkg-divert --package chrony --add 
--rename --divert /etc/chrony/chrony.conf.custom /etc/chrony/chrony.conf
  3. Install chrony: apt install chrony -y
  4. Notice the postinst script fail with syntax errors such as:
  ```
  Preparing to unpack .../chrony_4.2-2ubuntu2_amd64.deb ...
  Unpacking chrony (4.2-2ubuntu2) ...
  Setting up chrony (4.2-2ubuntu2) ...
  /usr/bin/ucf: 444: [: missing ]
  grep: ]: No such file or directory
  /usr/bin/ucf: 444: [: missing ]
  grep: ]: No such file or directory
  ```
  5. Install the package with the fix from the PPA: 
https://launchpad.net/~pponnuvel/+archive/ubuntu/ucf-jammy (to be replaced with 
the package from the -proposed pocket)
  6. Repeat the same from steps 1 to 4 and notice no failures at step4.

  [ Where problems could occur ]

  Can further introduce similar bugs if the patch contains similar syntax
  errors. Consequently local diversion may not take effect for packages
  using ucf to manage configuration files.

  [ Other Info ]
   
  Upstream bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=979354

  It's been fixed in version ucf/3.0043+nmu1. Lunar/Mantic/Noble all have the
  ucf version with this patch.

  Affects Jammy only and thus backported to only Jammy.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ucf/+bug/2061825/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 2038453] Re: [SRU] apt snapshot integration backport

2024-04-18 Thread Heitor Alves de Siqueira
** Changed in: ubuntu-pro/18.04
   Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/2038453

Title:
  [SRU] apt snapshot integration backport

Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in apt package in Ubuntu:
  Fix Released
Status in apt source package in Bionic:
  Won't Fix
Status in apt source package in Focal:
  Fix Released
Status in apt source package in Jammy:
  Fix Released
Status in apt source package in Lunar:
  Won't Fix
Status in apt source package in Mantic:
  Fix Released

Bug description:
  [Impact]
  The snapshot service provides users access to older states of the archive 
with ease of use, and enables a consistent user experience across all supported 
releases, as otherwise users would have to rewrite their sources.list to make 
use of snapshots and set up pinning; hence partners requested the feature be 
SRUed to older releases as well.

  [Test plan]
  The complete regression test suite in autopkgtests includes an automatic test 
case for this and the known limitations that have been fixed. Aside from that, 
it is also worthwhile to do an end-to-end test:

  Configure snapshot=yes for Ubuntu sources in your sources.list and

  1. run apt update - it should not use snapshot
  2. run apt update --snapshot 20231001T00Z, it should download the snapshot
  3. run apt policy --snapshot 20231001T00Z hello, it should show hello in 
the snapshot
  4. run apt install --snapshot 20231001T00Z hello, it should install hello 
from the snapshot
  5. Run apt update; observe snapshot not being downloaded
  6. Observe snapshots are gone from /var/lib/apt/lists again

  [Where problems could occur]
  The integration has been purposefully limited in how it works to reduce the 
impact it has on the APT code; hence it was possible to cherry-pick this into 
22.04, 20.04, and even 18.04, with only a minor editorial change. This 
significantly limits the risk.

  This feature is only enabled for sources with snapshot=yes (.list) or
  Snapshot: yes (.sources) or other truthy values apt recognizes. Most
  users will not have such entries as they did not have an APT
  supporting it.

  This combined should ensure that users do not experience any
  regressions. However the feature may be lacking in some ways that we
  may want to address in follow up SRUs; it has not been used in the
  wild a lot.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-pro/+bug/2038453/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 2036761] Re: [mantic] ppa-purge no longer purges what add-apt-repository adds

2024-03-27 Thread Heitor Alves de Siqueira
Hi Ghadi,

thanks for the debdiff! I've considered trimming down the new version to
0.2.8+bzr63-0ubuntu1.1 according to [0], but ultimately think your
approach is correct (otherwise it'll be hard to update ppa-purge in
Jammy if we ever need to!).

Tested and sponsored for Mantic.

[0]
https://wiki.ubuntu.com/SecurityTeam/UpdatePreparation#Update_the_packaging

** Changed in: ppa-purge (Ubuntu Mantic)
   Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to software-properties in
Ubuntu.
https://bugs.launchpad.net/bugs/2036761

Title:
  [mantic] ppa-purge no longer purges what add-apt-repository adds

Status in ppa-purge package in Ubuntu:
  Fix Released
Status in software-properties package in Ubuntu:
  Confirmed
Status in ppa-purge source package in Mantic:
  In Progress
Status in software-properties source package in Mantic:
  Confirmed
Status in ppa-purge source package in Noble:
  Fix Released
Status in software-properties source package in Noble:
  Confirmed

Bug description:
  Thank you @jbicha for the original bug report!

  [ Impact ]

  Currently ppa-purge fails to purge packages on distribution using the deb822 
source format. Currently mantic and noble make use of this format and are 
affected by this issue.
  When running ppa-purge to remove a custom PPA, ppa-purge fails to disable the 
custom PPA since it cannot disable deb822 sources and leads to apt still 
querying the ppa when running:

  $ apt update

  In older versions of ubuntu, PPAs used the ".list" format which could be 
disabled by simply commenting out the "deb" line with a "#". This was the 
method that ppa-purge used to disable PPAs.
  This new patch allows ppa-purge to detect and disable deb822 source files by 
adding an "Enabled: no" field in each component section of the deb822 file. It 
also removes any line that starts with "Enabled:"
  to make sure the resulting file is clean.

  [ Test Plan ]

  The changes were tested on both mantic and noble in a lxc container using the 
oibaf mesa PPA (https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers) 
as the test PPA.
  The following steps were recorded in a noble lxc container.

   - First make sure that mesa-utils is installed in your environment:
  $ sudo apt update && sudo apt install mesa-utils

   - Add the oibaf PPA to your system using the following command:
  $ sudo add-apt-repository ppa:oibaf/graphics-drivers

   - Make sure that the mesa-utils packages were upgraded after adding the PPA:
  $ sudo apt update && sudo apt upgrade
  $ dpkg - l | grep mesa

   - output should be similar to the following:

  ii  libegl-mesa0:amd64  24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the EGL API -- Mesa vendor library
  ii  libgl1-mesa-dri:amd64   24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the OpenGL API -- DRI modules
  ii  libglapi-mesa:amd64 24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the GL API -- shared library
  ii  libglx-mesa0:amd64  24.1~git2402280600.41722c~oibaf~n 
  amd64free implementation of the OpenGL API -- GLX vendor library
  ii  mesa-utils  9.0.0-2   
  amd64Miscellaneous Mesa utilities -- symlinks
  ii  mesa-utils-bin:amd649.0.0-2   
  amd64Miscellaneous Mesa utilities -- native applications
  ii  mesa-vulkan-drivers:amd64   24.1~git2402280600.41722c~oibaf~n 
  amd64Mesa Vulkan graphics drivers


   - Install and run ppa-purge:
  $ sudo apt install ppa-purge
  $ sudo ppa-purge ppa:oibaf/graphics-drivers

   - ppa-purge will report at the end that none of the oibaf packages
  need to be downgraded/removed:

  
  libglapi-mesa is already the newest version 
(24.1~git2402280600.41722c~oibaf~n).
  libglapi-mesa set to manually installed.
  libglx-mesa0 is already the newest version 
(24.1~git2402280600.41722c~oibaf~n).
  libglx-mesa0 set to manually installed.
  mesa-vulkan-drivers is already the newest version 
(24.1~git2402280600.41722c~oibaf~n).
  mesa-vulkan-drivers set to manually installed.
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-amdgpu1'
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [all]) for 'libdrm-common'
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-intel1'
  Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open 
Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-nouveau2'
  Selected version 

[Touch-packages] [Bug 2056802] Re: crypttab does not honor `x-initrd.attach` option

2024-03-11 Thread Heitor Alves de Siqueira
Thank you for the bug, Heather! I'm marking Bionic as "Won't Fix", as it's EOL.
If needed, please re-target against Pro 18.04. Thanks!

** Changed in: systemd (Ubuntu Bionic)
   Status: New => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2056802

Title:
  crypttab does not honor `x-initrd.attach` option

Status in systemd package in Ubuntu:
  New
Status in systemd source package in Bionic:
  Won't Fix
Status in systemd source package in Focal:
  New
Status in systemd source package in Jammy:
  New
Status in systemd source package in Mantic:
  New
Status in systemd source package in Noble:
  New

Bug description:
  From systemd version 245+ an option was added x-initrd.attach

  -

  Setup this encrypted block device in the initrd, similarly to
  systemd.mount(5) units marked with x-initrd.mount.

   Although it's not necessary to mark the mount entry for the root file
  system with x-initrd.mount, x-initrd.attach is still recommended with
  the encrypted block device containing the root file system as
  otherwise systemd will attempt to detach the device during the regular
  system shutdown while it's still in use. With this option the device
  will still be detached but later after the root file system is
  unmounted.

  All other encrypted block devices that contain file systems mounted in
  the initrd should use this option.

   Added in version 245. [0]

  -

  release: noble
  systemd version: 253.5-1ubuntu6

  Install noble to a vm with virt-manager and encrypt the lvm during subiquity 
install.
  After successful install,
  Modify /etc/crypttab to include the parameter in the 4th column
  example:
  sda6_crypt UUID=099aae4a-b11b-49a6-a6c4-62939eddf7a0 none luks,x-initrd.attach

  update-initramfs -u -k all

  During boot or shutdown the logs show
  cryptsetup: WARNING: dm_crypt-0: ignoring unknown option x-initrd.attach

  There are two separate problems
  1. crypttab doesn't recognize x-initrd.attach option in /etc/crypttab file.
   cryptsetup: WARNING: dm_crypt-0: ignoring unknown option x-initrd.attach
  2. this error happens on shutdown/restart
    [systemd-cryptsetup]: Device dm-crypt-0 is still in use.
    [systemd-cryptsetup]: Failed to deactivate: Device or resource busy.
  The vm does eventually shutdown after throwing the above warnings.

  [0]
  
https://www.freedesktop.org/software/systemd/man/latest/crypttab.html#x-initrd.attach

  These patches look like they could fix the issue, The last one might not be 
needed.
  git format-patch -1 8ce02b87cece09797c1030c778db4180e1e2ce2e
  
https://github.com/systemd/systemd/commit/8ce02b87cece09797c1030c778db4180e1e2ce2e

  git format-patch -1 1dc85eff1d0dff18aaeaae530c91bf53f34b726e
  
https://github.com/systemd/systemd/commit/1dc85eff1d0dff18aaeaae530c91bf53f34b726e

  git format-patch -1 bf1484c70a24cf04c145a9509c8124ffd7fb0879
  
https://github.com/systemd/systemd/commit/bf1484c70a24cf04c145a9509c8124ffd7fb0879

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2056802/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1837227] Re: systemd mount units fail during boot, while file system is correctly mounted

2024-01-09 Thread Heitor Alves de Siqueira
I've successfully confirmed that the mount issues seem to be fixed using
systemd from focal-proposed. Using the 'rep-tmpfs.sh' script, all
variants ran without any issues for multiple rounds. Basic testing on a
VM also looks good. Below are the versions used for this test:

$ dpkg -l systemd
...
||/ Name   Version   Architecture Description
+++-==-=--=
ii  systemd245.4-4ubuntu3.23 amd64system and service manager

$ uname -rv
5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023

I'll look into the reported regressions next, to confirm none of them
are caused by this LP.

** Tags removed: se-sponsor-halves verification-needed verification-needed-focal
** Tags added: verification-done verification-done-focal

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1837227

Title:
  systemd mount units fail during boot, while file system is correctly
  mounted

Status in systemd:
  New
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in linux package in Ubuntu:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in linux source package in Bionic:
  Won't Fix
Status in systemd source package in Bionic:
  Won't Fix
Status in linux source package in Focal:
  Fix Released
Status in systemd source package in Focal:
  Fix Committed
Status in linux source package in Jammy:
  Fix Released
Status in systemd source package in Jammy:
  Fix Released

Bug description:
  [Impact]
  systemd mount units fail during boot, and the system boots into emergency mode

  [Test Plan]
  This issue seems to happen randomly, and doesn't seem related to a specific 
mount unit.

  We've used a test script with good results during investigation to
  reproduce similar mount failures in a running system, and have seen a
  strong correlation between the script failures and the boot time mount
  failures.

  The attached 'rep-tmpfs.sh' script should be used to validate that
  mount points are working correctly under stress. One can run through
  the different variants as below:

  # ./rep-tmpfs.sh --variant-0
  # ./rep-tmpfs.sh --variant-1
  # ./rep-tmpfs.sh --variant-2
  # ./rep-tmpfs.sh --variant-3
  # ./rep-tmpfs.sh --variant-4

  All of these should run successfully without any reported errors.

  [Where problems could occur]
  The patches change the way systemd tracks and handles mount points in 
general, so potential regressions could affect other mount units. We should 
keep an eye out for any issues with mounting file systems, as well as rapid 
mount/unmount operations. Successful test runs with the reproducer script 
should increase reliability in having no new regressions.

  [Other Info]
  This has been tackled upstream with several attempts, which have resulted in 
the final patch from 2022:
    01400460ae16 core/mount: adjust deserialized state based on 
/proc/self/mountinfo

  For Bionic, systemd requires several dependency patches as below:
    6a1d4d9fa6b9 core: properly reset all ExecStatus structures when entering a 
new unit cycle
    7eba1463dedc mount: flush out cycle state on DEAD→MOUNTED only, not the 
other way round
    350804867dbc mount: rescan /proc/self/mountinfo before processing waitid() 
results
    1d086a6e5972 mount: mark an existing "mounting" unit from 
/proc/self/mountinfo as "just_mounted"

  Additionally, the kernel also requires the following patches:
    28ca0d6d39ab list: introduce list_for_each_continue()
    9f6c61f96f2d proc/mounts: add cursor

  [Original Description]
  In Ubuntu 18.04 at least, we sometimes get a random server in emergency mode 
with a failed mount unit (ext4 file system), while the corresponding file 
system is in fact correctly mounted. It happens roughly once every 1000 reboots.

  It seems to be related with this bug :
  https://github.com/systemd/systemd/issues/10872

  Is it possible to apply the fix
  
(https://github.com/systemd/systemd/commit/350804867dbcc9b7ccabae1187d730d37e2d8a21)
  in Ubuntu 18.04 ?

  Thanks in advance.

To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1837227/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1907878] Re: wrong var declaration in if-up.d/resolved (nm-dispatcher[54417]: /etc/network/if-up.d/resolved: 12: mystatedir: not found)

2023-11-13 Thread Heitor Alves de Siqueira
Validated according to test case from description. No error messages
shown, and networking has been correctly configured.

root@halves-lp1907878-j:~# dpkg -l | grep ifupdown
ii  ifupdown 0.8.36+nmu1ubuntu3.1   
 amd64high level tools to configure network interfaces

root@halves-lp1907878-j:~# ifdown enp5s0; ifup enp5s0
Killed old client process
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp5s0/00:16:3e:a6:40:b0
Sending on   LPF/enp5s0/00:16:3e:a6:40:b0
Sending on   Socket/fallback
DHCPRELEASE of 10.125.177.48 on enp5s0 to 10.125.177.1 port 67 (xid=0x66ead755)
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp5s0/00:16:3e:a6:40:b0
Sending on   LPF/enp5s0/00:16:3e:a6:40:b0
Sending on   Socket/fallback
DHCPDISCOVER on enp5s0 to 255.255.255.255 port 67 interval 3 (xid=0x58e2)
DHCPOFFER of 10.125.177.48 from 10.125.177.1
DHCPREQUEST for 10.125.177.48 on enp5s0 to 255.255.255.255 port 67 
(xid=0xe258)
DHCPACK of 10.125.177.48 from 10.125.177.1 (xid=0x58e2)
bound to 10.125.177.48 -- renewal in 1555 seconds.


** Tags removed: verification-needed verification-needed-jammy
** Tags added: verification-done verification-done-jammy

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1907878

Title:
  wrong var declaration in if-up.d/resolved (nm-dispatcher[54417]:
  /etc/network/if-up.d/resolved: 12: mystatedir: not found)

Status in ifupdown package in Ubuntu:
  Fix Released
Status in ifupdown source package in Jammy:
  Fix Committed

Bug description:
  Syslog error:

     nm-dispatcher[...]: /etc/network/if-up.d/resolved: 12: mystatedir:
  not found

  I think it's because of this line:

    if systemctl is-enabled systemd-resolved > /dev/null 2>&1; then
    mystatedir statedir ifindex interface <- this 
is interpreted as a 'mystatedir' command and fails

    interface=$IFACE
    if [ ! "$interface" ]; then

  Perhaps the intention was to 'export mystatedir statedir ...'

  SRU for Jammy:

  [ Impact ]

 * /etc/network/if-{up,down}.d/resolved have a mistype:
 
 mystatedir statedir ifindex interface
 
 And when this line is executed, mystatedir is not found (not a valid 
command)
 and it generates an error log in /var/log/syslog and the terminal output. 
 It's not fatal, and the rest of the code gets executed, but it generates 
the
 message.
 
 # ifup ens3
 /etc/network/if-up.d/resolved: 12: mystatedir: not found

 # ifdown ens3
 /etc/network/if-down.d/resolved: 12: mystatedir: not found 
 
 The fix accepted in kinetic is only to remove this line. The same fix can 
be
 applied to Jammy.
 
  [ Test Plan ]

 With the new package installed, remove netplan configuration and add a 
valid
 /etc/network/interfaces file and then use the commands:
 
 # ifdown 
 # ifup 
 
 And confirm the messages are not displayed and the network configuration
 succeeds.
 
  [ Where problems could occur ]

 If mystatedir would be a valid command or function, which is not the case,
 that could break the script.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1907878/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04

2023-11-07 Thread Heitor Alves de Siqueira
Validated for Jammy according to test case from description. No error
messages were thrown, and networking has been correctly set up.

root@halves-lp1981103-j:~# ifdown enp5s0; ifup enp5s0
Killed old client process
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp5s0/00:16:3e:bb:4d:57
Sending on   LPF/enp5s0/00:16:3e:bb:4d:57
Sending on   Socket/fallback
DHCPRELEASE of 10.125.177.27 on enp5s0 to 10.125.177.1 port 67 (xid=0x4969e444)
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp5s0/00:16:3e:bb:4d:57
Sending on   LPF/enp5s0/00:16:3e:bb:4d:57
Sending on   Socket/fallback
DHCPDISCOVER on enp5s0 to 255.255.255.255 port 67 interval 3 (xid=0x787e8804)
DHCPOFFER of 10.125.177.27 from 10.125.177.1
DHCPREQUEST for 10.125.177.27 on enp5s0 to 255.255.255.255 port 67 
(xid=0x4887e78)
DHCPACK of 10.125.177.27 from 10.125.177.1 (xid=0x787e8804)
bound to 10.125.177.27 -- renewal in 1648 seconds.

root@halves-lp1981103-j:~# dpkg -l | grep ifupdown
ii  ifupdown 0.8.36+nmu1ubuntu3.1   
 amd64high level tools to configure network interfaces


** Tags removed: verification-needed-jammy
** Tags added: verification-done-jammy

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1981103

Title:
  System with DNS server in /etc/network/interfaces has bogus systemd-
  resolved config after  upgrade to 22.04

Status in ifupdown package in Ubuntu:
  Fix Released
Status in ifupdown source package in Focal:
  Fix Released
Status in ifupdown source package in Jammy:
  Fix Committed
Status in ifupdown source package in Lunar:
  Fix Committed

Bug description:
  [ Impact ]
  ifupdown configurations will stop having a working DNS server on upgrade

  [ Test Plan ]
  Upgrading from an Ubuntu 18.04 or earlier release, bounce a network interface 
with configured DNS server:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This should result in no errors, and in a valid network configuration with 
working DNS resolution.
  It's likely that existing netplan configuration needs to be removed and 
migrated to classic ifupdown scripts before running the test above.

  [ Where problems could occur ]
  Although we're only fixing the resolved scripts, more complex network setups 
might see regressions in DNS resolution for some cases. We should pay special 
attention to bridges or virtual interfaces that have been configured through 
ifupdown, as well as validate the other scripts under /etc/network/if-up.d/

  [ Other Info ]
  Description:Ubuntu 22.04 LTS
  Release:22.04

  ifupdown:
    Installed: 0.8.36+nmu1ubuntu3
    Candidate: 0.8.36+nmu1ubuntu3
    Version table:
   *** 0.8.36+nmu1ubuntu3 500
  500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
  100 /var/lib/dpkg/status

  After upgrading a server with classic ifupdown configuration after
  reboot the machine had no valid dns servers anymore.

  The problem is that the state file created by ifupdown using
  /etc/network/if-up.d/resolved looks like this:

  root@pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
  "DNS"="134.102.20.20 134.102.200.14"
  "DOMAINS"="marum.de"

  The script later sources this file and causes the following errors,
  easy to see when you execute this:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This happened to me on three different servers, so this is a serious
  bug and should be fixed before 22.04 upgrades are allowed for
  everybody. Most servers provided by data centers like Hetzner
  (Germany) are configure like that. After a do-release-upgrade you have
  no working DNS anymore, unless you disable 

[Touch-packages] [Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04

2023-11-07 Thread Heitor Alves de Siqueira
Validated for Lunar according to test case from description. No error
messages were thrown, and networking has been correctly set up.

root@halves-lp1981103-l:~# ifdown enp5s0; ifup enp5s0
Killed old client process
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp5s0/00:16:3e:c7:2c:be
Sending on   LPF/enp5s0/00:16:3e:c7:2c:be
Sending on   Socket/fallback
xid: warning: no netdev with useable HWADDR found for seed's uniqueness 
enforcement
xid: rand init seed (0x65355010) built using gethostid
DHCPRELEASE of 10.125.177.42 on enp5s0 to 10.125.177.1 port 67 (xid=0x1adc66da)
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp5s0/00:16:3e:c7:2c:be
Sending on   LPF/enp5s0/00:16:3e:c7:2c:be
Sending on   Socket/fallback
xid: warning: no netdev with useable HWADDR found for seed's uniqueness 
enforcement
xid: rand init seed (0x65355010) built using gethostid
DHCPDISCOVER on enp5s0 to 255.255.255.255 port 67 interval 3 (xid=0xda66dc1a)
DHCPOFFER of 10.125.177.42 from 10.125.177.1
DHCPREQUEST for 10.125.177.42 on enp5s0 to 255.255.255.255 port 67 
(xid=0x1adc66da)
DHCPACK of 10.125.177.42 from 10.125.177.1 (xid=0xda66dc1a)
bound to 10.125.177.42 -- renewal in 1683 seconds.

root@halves-lp1981103-l:~# dpkg -l | grep ifupdown
ii  ifupdown 0.8.36+nmu1ubuntu4.1  amd64
high level tools to configure network interfaces


** Tags removed: verification-needed verification-needed-lunar
** Tags added: verification-done verification-done-lunar

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1981103

Title:
  System with DNS server in /etc/network/interfaces has bogus systemd-
  resolved config after  upgrade to 22.04

Status in ifupdown package in Ubuntu:
  Fix Released
Status in ifupdown source package in Focal:
  Fix Released
Status in ifupdown source package in Jammy:
  Fix Committed
Status in ifupdown source package in Lunar:
  Fix Committed

Bug description:
  [ Impact ]
  ifupdown configurations will stop having a working DNS server on upgrade

  [ Test Plan ]
  Upgrading from an Ubuntu 18.04 or earlier release, bounce a network interface 
with configured DNS server:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This should result in no errors, and in a valid network configuration with 
working DNS resolution.
  It's likely that existing netplan configuration needs to be removed and 
migrated to classic ifupdown scripts before running the test above.

  [ Where problems could occur ]
  Although we're only fixing the resolved scripts, more complex network setups 
might see regressions in DNS resolution for some cases. We should pay special 
attention to bridges or virtual interfaces that have been configured through 
ifupdown, as well as validate the other scripts under /etc/network/if-up.d/

  [ Other Info ]
  Description:Ubuntu 22.04 LTS
  Release:22.04

  ifupdown:
    Installed: 0.8.36+nmu1ubuntu3
    Candidate: 0.8.36+nmu1ubuntu3
    Version table:
   *** 0.8.36+nmu1ubuntu3 500
  500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
  100 /var/lib/dpkg/status

  After upgrading a server with classic ifupdown configuration after
  reboot the machine had no valid dns servers anymore.

  The problem is that the state file created by ifupdown using
  /etc/network/if-up.d/resolved looks like this:

  root@pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
  "DNS"="134.102.20.20 134.102.200.14"
  "DOMAINS"="marum.de"

  The script later sources this file and causes the following errors,
  easy to see when you execute this:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This 

[Touch-packages] [Bug 1907878] Re: wrong var declaration in if-up.d/resolved (nm-dispatcher[54417]: /etc/network/if-up.d/resolved: 12: mystatedir: not found)

2023-10-19 Thread Heitor Alves de Siqueira
@jasimioni I've dropped some bits of your diff that aren't necessary for
SRU (the typo fix), and sponsored your changes with mine from bug
1981103. Thank you for the help on fixing this!

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1907878

Title:
  wrong var declaration in if-up.d/resolved (nm-dispatcher[54417]:
  /etc/network/if-up.d/resolved: 12: mystatedir: not found)

Status in ifupdown package in Ubuntu:
  Fix Released
Status in ifupdown source package in Jammy:
  In Progress

Bug description:
  Syslog error:

     nm-dispatcher[...]: /etc/network/if-up.d/resolved: 12: mystatedir:
  not found

  I think it's because of this line:

    if systemctl is-enabled systemd-resolved > /dev/null 2>&1; then
    mystatedir statedir ifindex interface <- this 
is interpreted as a 'mystatedir' command and fails

    interface=$IFACE
    if [ ! "$interface" ]; then

  Perhaps the intention was to 'export mystatedir statedir ...'

  SRU for Jammy:

  [ Impact ]

 * /etc/network/if-{up,down}.d/resolved have a mistype:
 
 mystatedir statedir ifindex interface
 
 And when this line is executed, mystatedir is not found (not a valid 
command)
 and it generates an error log in /var/log/syslog and the terminal output. 
 It's not fatal, and the rest of the code gets executed, but it generates 
the
 message.
 
 # ifup ens3
 /etc/network/if-up.d/resolved: 12: mystatedir: not found

 # ifdown ens3
 /etc/network/if-down.d/resolved: 12: mystatedir: not found 
 
 The fix accepted in kinetic is only to remove this line. The same fix can 
be
 applied to Jammy.
 
  [ Test Plan ]

 With the new package installed, remove netplan configuration and add a 
valid
 /etc/network/interfaces file and then use the commands:
 
 # ifdown 
 # ifup 
 
 And confirm the messages are not displayed and the network configuration
 succeeds.
 
  [ Where problems could occur ]

 If mystatedir would be a valid command or function, which is not the case,
 that could break the script.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1907878/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04

2023-10-17 Thread Heitor Alves de Siqueira
Focal isn't affected by this, so marking it as Fix Released.

** Changed in: ifupdown (Ubuntu Focal)
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1981103

Title:
  System with DNS server in /etc/network/interfaces has bogus systemd-
  resolved config after  upgrade to 22.04

Status in ifupdown package in Ubuntu:
  Fix Released
Status in ifupdown source package in Focal:
  Fix Released
Status in ifupdown source package in Jammy:
  In Progress
Status in ifupdown source package in Lunar:
  In Progress

Bug description:
  [ Impact ]
  ifupdown configurations will stop having a working DNS server on upgrade

  [ Test Plan ]
  Upgrading from an Ubuntu 18.04 or earlier release, bounce a network interface 
with configured DNS server:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This should result in no errors, and in a valid network configuration with 
working DNS resolution.
  It's likely that existing netplan configuration needs to be removed and 
migrated to classic ifupdown scripts before running the test above.

  [ Where problems could occur ]
  Although we're only fixing the resolved scripts, more complex network setups 
might see regressions in DNS resolution for some cases. We should pay special 
attention to bridges or virtual interfaces that have been configured through 
ifupdown, as well as validate the other scripts under /etc/network/if-up.d/

  [ Other Info ]
  Description:Ubuntu 22.04 LTS
  Release:22.04

  ifupdown:
    Installed: 0.8.36+nmu1ubuntu3
    Candidate: 0.8.36+nmu1ubuntu3
    Version table:
   *** 0.8.36+nmu1ubuntu3 500
  500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
  100 /var/lib/dpkg/status

  After upgrading a server with classic ifupdown configuration after
  reboot the machine had no valid dns servers anymore.

  The problem is that the state file created by ifupdown using
  /etc/network/if-up.d/resolved looks like this:

  root@pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
  "DNS"="134.102.20.20 134.102.200.14"
  "DOMAINS"="marum.de"

  The script later sources this file and causes the following errors,
  easy to see when you execute this:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This happened to me on three different servers, so this is a serious
  bug and should be fixed before 22.04 upgrades are allowed for
  everybody. Most servers provided by data centers like Hetzner
  (Germany) are configure like that. After a do-release-upgrade you have
  no working DNS anymore, unless you disable systemd-resolved. I don't
  want to use netplan, so changing to this is no option.

  The fix is easy - remove the quotes in the script on the left side
  "$DNS" => $DNS; same for DOMAINS:

  if  [ -n "$NEW_DNS" ]; then
  cat <"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DNS="$NEW_DNS"
  EOF
  if  [ -n "$NEW_DOMAINS" ]; then
  cat <>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DOMAINS="$NEW_DOMAINS"
  EOF
  fi
  fi

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1981103/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04

2023-10-11 Thread Heitor Alves de Siqueira
** Description changed:

+ [ Impact ]
+ ifupdown configurations will stop having a working DNS server on upgrade
+ 
+ [ Test Plan ]
+ Upgrading from an Ubuntu 18.04 or earlier release, bounce a network interface 
with configured DNS server:
+ 
+ root@pangaea-pm:~# ifdown ens13; ifup ens13
+ /etc/network/if-down.d/resolved: 12: mystatedir: not found
+ /etc/network/if-up.d/resolved: 12: mystatedir: not found
+ /etc/network/if-up.d/resolved: 71: DNS: not found
+ /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
+ /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
+ Failed to parse DNS server address: DNS
+ Failed to set DNS configuration: Invalid argument
+ 
+ This should result in no errors, and in a valid network configuration with 
working DNS resolution.
+ It's likely that existing netplan configuration needs to be removed and 
migrated to classic ifupdown scripts before running the test above.
+ 
+ [ Where problems could occur ]
+ Although we're only fixing the resolved scripts, more complex network setups 
might see regressions in DNS resolution for some cases. We should pay special 
attention to bridges or virtual interfaces that have been configured through 
ifupdown, as well as validate the other scripts under /etc/network/if-up.d/
+ 
+ [ Other Info ]
  Description:Ubuntu 22.04 LTS
  Release:22.04
  
  ifupdown:
-   Installed: 0.8.36+nmu1ubuntu3
-   Candidate: 0.8.36+nmu1ubuntu3
-   Version table:
-  *** 0.8.36+nmu1ubuntu3 500
- 500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
- 100 /var/lib/dpkg/status
+   Installed: 0.8.36+nmu1ubuntu3
+   Candidate: 0.8.36+nmu1ubuntu3
+   Version table:
+  *** 0.8.36+nmu1ubuntu3 500
+ 500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
+ 100 /var/lib/dpkg/status
  
  After upgrading a server with classic ifupdown configuration after
  reboot the machine had no valid dns servers anymore.
  
  The problem is that the state file created by ifupdown using
  /etc/network/if-up.d/resolved looks like this:
  
  root@pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
  "DNS"="134.102.20.20 134.102.200.14"
  "DOMAINS"="marum.de"
  
  The script later sources this file and causes the following errors, easy
  to see when you execute this:
  
  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument
  
  This happened to me on three different servers, so this is a serious bug
  and should be fixed before 22.04 upgrades are allowed for everybody.
  Most servers provided by data centers like Hetzner (Germany) are
  configure like that. After a do-release-upgrade you have no working DNS
  anymore, unless you disable systemd-resolved. I don't want to use
  netplan, so changing to this is no option.
  
  The fix is easy - remove the quotes in the script on the left side
  "$DNS" => $DNS; same for DOMAINS:
  
- if  [ -n "$NEW_DNS" ]; then
- cat <"$mystatedir/ifupdown-${ADDRFAM}-$interface"
+ if  [ -n "$NEW_DNS" ]; then
+ cat <"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DNS="$NEW_DNS"
  EOF
- if  [ -n "$NEW_DOMAINS" ]; then
- cat <>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
+ if  [ -n "$NEW_DOMAINS" ]; then
+ cat <>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DOMAINS="$NEW_DOMAINS"
  EOF
- fi
- fi
+ fi
+ fi

** Also affects: ifupdown (Ubuntu Focal)
   Importance: Undecided
   Status: New

** Also affects: ifupdown (Ubuntu Jammy)
   Importance: Undecided
   Status: New

** Also affects: ifupdown (Ubuntu Lunar)
   Importance: Undecided
   Status: New

** Changed in: ifupdown (Ubuntu Focal)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: ifupdown (Ubuntu Jammy)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: ifupdown (Ubuntu Lunar)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: ifupdown (Ubuntu Focal)
   Status: New => In Progress

** Changed in: ifupdown (Ubuntu Jammy)
   Status: New => In Progress

** Changed in: ifupdown (Ubuntu Lunar)
   Status: New => In Progress

** Changed in: ifupdown (Ubuntu Focal)
   Importance: Undecided

[Touch-packages] [Bug 2024864] Re: systemd-networkd crashes with SIGSEGV

2023-10-10 Thread Heitor Alves de Siqueira
This bug was fixed in the package below, available under Ubuntu Pro
18.04.

systemd (237-3ubuntu10.57+esm1) bionic; urgency=medium

  * d/p/lp2024864-add-missing-null-check.patch:
- Add NULL check on link_drop_foreign_request (LP: #2024864)

 -- Tiago Pasqualini   Fri, 23 Jun 2023
16:51:01 -0300

** Changed in: ubuntu-pro/18.04
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2024864

Title:
  systemd-networkd crashes with SIGSEGV

Status in systemd:
  Fix Released
Status in Ubuntu Pro:
  Fix Released
Status in Ubuntu Pro 18.04 series:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released

Bug description:
  [ Impact ]

  Customer reported that this issue happens randomly during their
  automated regression runs. It's not consistent and hard to reproduce.
  They have shared a coredump:

  Program terminated with signal SIGSEGV, Segmentation fault.
  #0 0x555962aa1c34 in link_drop_foreign_config 
(link=link@entry=0x555963583f30) at ../src/network/networkd-link.c:2741
  2741 ../src/network/networkd-link.c: No such file or directory.
  (gdb) bt
  #0 0x555962aa1c34 in link_drop_foreign_config 
(link=link@entry=0x555963583f30) at ../src/network/networkd-link.c:2741
  #1 0x555962aa233d in link_carrier_lost.lto_priv.328 (link=, link=) at ../src/network/networkd-link.c:3462
  #2 0x555962a8e9b2 in link_update (m=0x5559635702c0, link=) 
at ../src/network/networkd-link.c:3698
  #3 manager_rtnl_process_link (rtnl=, message=0x5559635702c0, 
userdata=) at ../src/network/networkd-manager.c:713
  #4 0x555962a48a16 in process_match (m=0x5559635702c0, 
rtnl=0x55596355d990) at ../src/libsystemd/sd-netlink/sd-netlink.c:388
  #5 process_running (ret=0x0, rtnl=0x55596355d990) at 
../src/libsystemd/sd-netlink/sd-netlink.c:418
  #6 sd_netlink_process (rtnl=0x55596355d990, ret=ret@entry=0x0) at 
../src/libsystemd/sd-netlink/sd-netlink.c:452
  #7 0x555962a48cb3 in time_callback (s=, usec=, userdata=) at ../src/libsystemd/sd-netlink/sd-netlink.c:759
  #8 0x555962a4dbae in source_dispatch (s=s@entry=0x55596355dce0) at 
../src/libsystemd/sd-event/sd-event.c:2311
  #9 0x555962a4de2a in sd_event_dispatch (e=, 
e@entry=0x55596355bf70) at ../src/libsystemd/sd-event/sd-event.c:2663
  #10 0x555962a4dfb9 in sd_event_run (e=, 
e@entry=0x55596355bf70, timeout=timeout@entry=18446744073709551615) at 
../src/libsystemd/sd-event/sd-event.c:2723
  #11 0x555962a4e1fb in sd_event_loop (e=) at 
../src/libsystemd/sd-event/sd-event.c:2744
  #12 0x555962a223d6 in main (argc=, argv=) 
at ../src/network/networkd.c:158

  
  This can be fixed by simply null checking link->network before doing anything 
with it. Upstream has fixed it on this commit: 
https://github.com/systemd/systemd/commit/b1b0b42e48303134731e017a108c6c334ef5f4c8

  [ Test Plan ]

  Since this issue is hard to reproduce, I was able trigger it on gdb,
  by adding a breakpoint once the manager is setup, getting the loopback
  device and running link_drop_foreign_config on the loopback device:

  (gdb) b src/network/networkd.c:150
  Breakpoint 1 at 0x2f38f: file ../src/network/networkd.c, line 150.
  (gdb) r
  Starting program: /lib/systemd/systemd-networkd
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  eth0: IPv6 successfully enabled
  eth0: Gained IPv6LL

  Breakpoint 1, main (argc=, argv=) at 
../src/network/networkd.c:152
  152   log_info("Enumeration completed");
  (gdb) p *m->links
  $1 = {b = {hash_ops = 0x5578f230 , {indirect = {storage 
= 0x2e, hash_key = "\200\376yUUU\000\000\001\000\000\000\000\000\000",
  n_entries = 1434074992, n_buckets = 21845, idx_lowest_entry = 256, 
_pad = "\000\000"}, direct = {
  storage = 
".\000\000\000\000\000\000\000\200\376yUUU\000\000\001\000\000\000\000\000\000\000p?zUUU\000\000\000\001\000\000\000\000"}},
  type = HASHMAP_TYPE_PLAIN, has_indirect = false, n_direct_entries = 2, 
from_pool = true}}
  (gdb) set $mylink = (Link **) malloc(sizeof(Link *))
  (gdb) call link_get(m, 1, $mylink)
  $2 = 0
  (gdb) p *$mylink
  $3 = (Link *) 0x557a3f70
  (gdb) p **$mylink
  $4 = {manager = 0x55796940, n_ref = 2, ifindex = 1, master_ifindex = 0, 
ifname = 0x557a0060 "lo", kind = 0x0, iftype = 772,
    state_file = 0x5579c670 "/run/systemd/netif/links/1", mac = 
{ether_addr_octet = "\000\000\000\000\000"}, ipv6ll_address = {__in6_u = {
    __u6_addr8 = '\000' , __u6_addr16 = {0, 0, 0, 0, 0, 
0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, mtu = 65536, udev_device = 0x0,
    flags = 65609, kernel_operstate = 0 '\000', network = 0x0, state = 
LINK_STATE_UNMANAGED, operstate = LINK_OPERSTATE_CARRIER, address_messages = 0,
    address_label_messages = 0, route_messages = 0, 
routing_policy_rule_messages = 0, 

[Touch-packages] [Bug 1837227] Re: systemd mount units fail during boot, while file system is correctly mounted

2023-09-14 Thread Heitor Alves de Siqueira
I've tested the kernel from focal-proposed, with the systemd packages
from my personal PPA (as the systemd patches aren't yet available in
focal-proposed).

All test variants from the rep-tmpfs.sh script ran succesfully, and
general smoke testing revealed no further issues.

ubuntu@z-rotomvm35:~$ uname -rv
5.4.0-164-generic #181-Ubuntu SMP Fri Sep 1 13:41:22 UTC 2023
ubuntu@z-rotomvm35:~$ dpkg -l systemd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name   VersionArchitecture Description
+++-==-==--=
ii  systemd245.4-4ubuntu3.22+20230626dbg2 amd64system and 
service manager


** Tags removed: verification-needed-focal-linux
** Tags added: verification-done-focal-linux

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1837227

Title:
  systemd mount units fail during boot, while file system is correctly
  mounted

Status in systemd:
  New
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in linux package in Ubuntu:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in linux source package in Bionic:
  Won't Fix
Status in systemd source package in Bionic:
  Won't Fix
Status in linux source package in Focal:
  Fix Committed
Status in systemd source package in Focal:
  In Progress
Status in linux source package in Jammy:
  Fix Released
Status in systemd source package in Jammy:
  Fix Released

Bug description:
  [Impact]
  systemd mount units fail during boot, and the system boots into emergency mode

  [Test Plan]
  This issue seems to happen randomly, and doesn't seem related to a specific 
mount unit.

  We've used a test script with good results during investigation to
  reproduce similar mount failures in a running system, and have seen a
  strong correlation between the script failures and the boot time mount
  failures.

  The attached 'rep-tmpfs.sh' script should be used to validate that
  mount points are working correctly under stress. One can run through
  the different variants as below:

  # ./rep-tmpfs.sh --variant-0
  # ./rep-tmpfs.sh --variant-1
  # ./rep-tmpfs.sh --variant-2
  # ./rep-tmpfs.sh --variant-3
  # ./rep-tmpfs.sh --variant-4

  All of these should run successfully without any reported errors.

  [Where problems could occur]
  The patches change the way systemd tracks and handles mount points in 
general, so potential regressions could affect other mount units. We should 
keep an eye out for any issues with mounting file systems, as well as rapid 
mount/unmount operations. Successful test runs with the reproducer script 
should increase reliability in having no new regressions.

  [Other Info]
  This has been tackled upstream with several attempts, which have resulted in 
the final patch from 2022:
    01400460ae16 core/mount: adjust deserialized state based on 
/proc/self/mountinfo

  For Bionic, systemd requires several dependency patches as below:
    6a1d4d9fa6b9 core: properly reset all ExecStatus structures when entering a 
new unit cycle
    7eba1463dedc mount: flush out cycle state on DEAD→MOUNTED only, not the 
other way round
    350804867dbc mount: rescan /proc/self/mountinfo before processing waitid() 
results
    1d086a6e5972 mount: mark an existing "mounting" unit from 
/proc/self/mountinfo as "just_mounted"

  Additionally, the kernel also requires the following patches:
    28ca0d6d39ab list: introduce list_for_each_continue()
    9f6c61f96f2d proc/mounts: add cursor

  [Original Description]
  In Ubuntu 18.04 at least, we sometimes get a random server in emergency mode 
with a failed mount unit (ext4 file system), while the corresponding file 
system is in fact correctly mounted. It happens roughly once every 1000 reboots.

  It seems to be related with this bug :
  https://github.com/systemd/systemd/issues/10872

  Is it possible to apply the fix
  
(https://github.com/systemd/systemd/commit/350804867dbcc9b7ccabae1187d730d37e2d8a21)
  in Ubuntu 18.04 ?

  Thanks in advance.

To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1837227/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1837227] Re: systemd mount units fail during boot, while file system is correctly mounted

2023-09-13 Thread Heitor Alves de Siqueira
** Also affects: linux (Ubuntu)
   Importance: Undecided
   Status: New

** Changed in: linux (Ubuntu Bionic)
   Status: New => Won't Fix

** Changed in: linux (Ubuntu Focal)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Focal)
   Status: New => Fix Committed

** Changed in: linux (Ubuntu Focal)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: linux (Ubuntu Focal)
   Importance: Medium => High

** Changed in: systemd (Ubuntu Focal)
   Status: Fix Committed => In Progress

** Changed in: linux (Ubuntu)
   Status: New => Fix Released

** Changed in: linux (Ubuntu Jammy)
   Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1837227

Title:
  systemd mount units fail during boot, while file system is correctly
  mounted

Status in systemd:
  New
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in linux package in Ubuntu:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in linux source package in Bionic:
  Won't Fix
Status in systemd source package in Bionic:
  Won't Fix
Status in linux source package in Focal:
  Fix Committed
Status in systemd source package in Focal:
  In Progress
Status in linux source package in Jammy:
  Fix Released
Status in systemd source package in Jammy:
  Fix Released

Bug description:
  [Impact]
  systemd mount units fail during boot, and the system boots into emergency mode

  [Test Plan]
  This issue seems to happen randomly, and doesn't seem related to a specific 
mount unit.

  We've used a test script with good results during investigation to
  reproduce similar mount failures in a running system, and have seen a
  strong correlation between the script failures and the boot time mount
  failures.

  The attached 'rep-tmpfs.sh' script should be used to validate that
  mount points are working correctly under stress. One can run through
  the different variants as below:

  # ./rep-tmpfs.sh --variant-0
  # ./rep-tmpfs.sh --variant-1
  # ./rep-tmpfs.sh --variant-2
  # ./rep-tmpfs.sh --variant-3
  # ./rep-tmpfs.sh --variant-4

  All of these should run successfully without any reported errors.

  [Where problems could occur]
  The patches change the way systemd tracks and handles mount points in 
general, so potential regressions could affect other mount units. We should 
keep an eye out for any issues with mounting file systems, as well as rapid 
mount/unmount operations. Successful test runs with the reproducer script 
should increase reliability in having no new regressions.

  [Other Info]
  This has been tackled upstream with several attempts, which have resulted in 
the final patch from 2022:
    01400460ae16 core/mount: adjust deserialized state based on 
/proc/self/mountinfo

  For Bionic, systemd requires several dependency patches as below:
    6a1d4d9fa6b9 core: properly reset all ExecStatus structures when entering a 
new unit cycle
    7eba1463dedc mount: flush out cycle state on DEAD→MOUNTED only, not the 
other way round
    350804867dbc mount: rescan /proc/self/mountinfo before processing waitid() 
results
    1d086a6e5972 mount: mark an existing "mounting" unit from 
/proc/self/mountinfo as "just_mounted"

  Additionally, the kernel also requires the following patches:
    28ca0d6d39ab list: introduce list_for_each_continue()
    9f6c61f96f2d proc/mounts: add cursor

  [Original Description]
  In Ubuntu 18.04 at least, we sometimes get a random server in emergency mode 
with a failed mount unit (ext4 file system), while the corresponding file 
system is in fact correctly mounted. It happens roughly once every 1000 reboots.

  It seems to be related with this bug :
  https://github.com/systemd/systemd/issues/10872

  Is it possible to apply the fix
  
(https://github.com/systemd/systemd/commit/350804867dbcc9b7ccabae1187d730d37e2d8a21)
  in Ubuntu 18.04 ?

  Thanks in advance.

To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1837227/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04

2023-09-06 Thread Heitor Alves de Siqueira
** Patch added: "lp1981103.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1981103/+attachment/5698057/+files/lp1981103.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1981103

Title:
  System with DNS server in /etc/network/interfaces has bogus systemd-
  resolved config after  upgrade to 22.04

Status in ifupdown package in Ubuntu:
  In Progress

Bug description:
  Description:Ubuntu 22.04 LTS
  Release:22.04

  ifupdown:
Installed: 0.8.36+nmu1ubuntu3
Candidate: 0.8.36+nmu1ubuntu3
Version table:
   *** 0.8.36+nmu1ubuntu3 500
  500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
  100 /var/lib/dpkg/status

  After upgrading a server with classic ifupdown configuration after
  reboot the machine had no valid dns servers anymore.

  The problem is that the state file created by ifupdown using
  /etc/network/if-up.d/resolved looks like this:

  root@pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
  "DNS"="134.102.20.20 134.102.200.14"
  "DOMAINS"="marum.de"

  The script later sources this file and causes the following errors,
  easy to see when you execute this:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This happened to me on three different servers, so this is a serious
  bug and should be fixed before 22.04 upgrades are allowed for
  everybody. Most servers provided by data centers like Hetzner
  (Germany) are configure like that. After a do-release-upgrade you have
  no working DNS anymore, unless you disable systemd-resolved. I don't
  want to use netplan, so changing to this is no option.

  The fix is easy - remove the quotes in the script on the left side
  "$DNS" => $DNS; same for DOMAINS:

  if  [ -n "$NEW_DNS" ]; then
  cat <"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DNS="$NEW_DNS"
  EOF
  if  [ -n "$NEW_DOMAINS" ]; then
  cat <>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DOMAINS="$NEW_DOMAINS"
  EOF
  fi
  fi

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1981103/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04

2023-09-06 Thread Heitor Alves de Siqueira
I've attached a debdiff with the patches for fixing this one. I've
subscribed ubuntu-sponsors to kindly request sponsorship for mantic.

Thanks!

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1981103

Title:
  System with DNS server in /etc/network/interfaces has bogus systemd-
  resolved config after  upgrade to 22.04

Status in ifupdown package in Ubuntu:
  In Progress

Bug description:
  Description:Ubuntu 22.04 LTS
  Release:22.04

  ifupdown:
Installed: 0.8.36+nmu1ubuntu3
Candidate: 0.8.36+nmu1ubuntu3
Version table:
   *** 0.8.36+nmu1ubuntu3 500
  500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
  100 /var/lib/dpkg/status

  After upgrading a server with classic ifupdown configuration after
  reboot the machine had no valid dns servers anymore.

  The problem is that the state file created by ifupdown using
  /etc/network/if-up.d/resolved looks like this:

  root@pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
  "DNS"="134.102.20.20 134.102.200.14"
  "DOMAINS"="marum.de"

  The script later sources this file and causes the following errors,
  easy to see when you execute this:

  root@pangaea-pm:~# ifdown ens13; ifup ens13
  /etc/network/if-down.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 12: mystatedir: not found
  /etc/network/if-up.d/resolved: 71: DNS: not found
  /etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: 
DNS=134.102.20.20 134.102.200.14: not found
  /etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: 
DOMAINS=marum.de: not found
  Failed to parse DNS server address: DNS
  Failed to set DNS configuration: Invalid argument

  This happened to me on three different servers, so this is a serious
  bug and should be fixed before 22.04 upgrades are allowed for
  everybody. Most servers provided by data centers like Hetzner
  (Germany) are configure like that. After a do-release-upgrade you have
  no working DNS anymore, unless you disable systemd-resolved. I don't
  want to use netplan, so changing to this is no option.

  The fix is easy - remove the quotes in the script on the left side
  "$DNS" => $DNS; same for DOMAINS:

  if  [ -n "$NEW_DNS" ]; then
  cat <"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DNS="$NEW_DNS"
  EOF
  if  [ -n "$NEW_DOMAINS" ]; then
  cat <>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
  $DOMAINS="$NEW_DOMAINS"
  EOF
  fi
  fi

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1981103/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 2002043] Re: Python extension modules get built using wrong compiler flags with python2

2023-07-10 Thread Heitor Alves de Siqueira
Thanks for the debdiffs, Ghadi! I've marked Bionic as Won't Fix, as the
release is not under standard support anymore. If this is needed for
18.04, please consider targeting it under the Ubuntu Pro project.

** Changed in: python2.7 (Ubuntu Bionic)
   Status: In Progress => Won't Fix

** Patch removed: "[bionic]add-optimization-flags-to-cflags.diff"
   
https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/2002043/+attachment/5685152/+files/%5Bbionic%5Dadd-optimization-flags-to-cflags.diff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python2.7 in Ubuntu.
https://bugs.launchpad.net/bugs/2002043

Title:
  Python extension modules get built using wrong compiler flags with
  python2

Status in python2.7 package in Ubuntu:
  In Progress
Status in python2.7 source package in Bionic:
  Won't Fix
Status in python2.7 source package in Focal:
  In Progress
Status in python2.7 source package in Jammy:
  In Progress
Status in python2.7 source package in Kinetic:
  In Progress
Status in python2.7 source package in Lunar:
  Won't Fix
Status in python2.7 source package in Mantic:
  Won't Fix

Bug description:
  Compiling a Python extension using Python2 (Python 2.7.18) is making
  use of wrong compiler flags, hence dropping required optimizations
  when required. This is happening only when python2 is installed from
  Ubuntu's repositories. By default, Python's distutils module uses
  compiler and linker flags used to compile Python itself to be used to
  compile extensions.

  Steps to reproduce:
  1) On Ubuntu 20.04, install python2 using apt package manager.
  2) After successful installation, verify the CFLAGS variable from sysconfig 
module. On my machine, the output is 

  Python 2.7.18 (default, Jul  1 2022, 12:27:04)
  [GCC 9.4.0] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import sysconfig
  >>> sysconfig.get_config_var('CFLAGS')
  '-fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
-Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-vvQ8AI/python2.7-2.7.18=. 
-fstack-protector-strong -Wformat -Werror=format-security  '

  3) Build a test extension module using python2 and verify the compilation 
flags. 
  python2 setup.py build_ext --inplace

  Output from below command is not matching with our expected above CFLAGS. 
  aarch64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time 
-D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-vvQ8AI/python2.7-2.7.18=. 
-fstack-protector-strong -Wformat -Werror=format-security -fPIC 
-I/usr/include/python2.7 -c testmodule.c -o 
build/temp.linux-aarch64-2.7/testmodule.o

  
  On further investigation, it looks like Ubuntu's specific patch applied on 
libpython2.7-stdlib package is altering the original upstream implementation of 
distutils/sysconfig.py code.

  Package - https://packages.ubuntu.com/focal/libpython2.7-stdlib
  Patch - 
http://archive.ubuntu.com/ubuntu/pool/universe/p/python2.7/python2.7_2.7.18-1~20.04.3.diff.gz

  Below is the code block which is causing the issue, where the presence of 
configure_cflags is modifying cflags. This code is result of ubuntu's patch and 
doesn't come directly from upstream python implementation.
  File - /usr/lib/python2.7/distutils/sysconfig.py
  Part of code block:
  elif configure_cflags:
  cflags = ' '.join(str(x) for x in (basecflags, configure_cflags, 
extra_cflags) if x)
  ldshared = ldshared + ' ' + configure_cflags

  
  I don't see problem on Python3 though we have extra code added from patch 
there as well. Patch used on python3, is not modifying the cflags completely 
and instead appending new flags to cflags.
  On python3 (tested on Ubuntu 20.04)
  File - /usr/lib/python3.8/distutils/sysconfig.py
  Part of code block which doesn't alter cflags completely
  elif configure_cflags:
  cflags = cflags + ' ' + configure_cflags
  ldshared = ldshared + ' ' + configure_cflags

  
  Request to update the python2 patch to behave similar to what is been done on 
python3.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/2002043/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1837227] Re: systemd mount units fail during boot, while file system is correctly mounted

2023-06-29 Thread Heitor Alves de Siqueira
I wasn't able to reproduce this with the test script, so Jammy is likely
unaffected by this. If this changes, please leave a comment so we can
investigate.

** Changed in: systemd (Ubuntu Jammy)
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1837227

Title:
  systemd mount units fail during boot, while file system is correctly
  mounted

Status in systemd:
  New
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Bionic:
  Won't Fix
Status in systemd source package in Focal:
  In Progress
Status in systemd source package in Jammy:
  Fix Released

Bug description:
  [Impact]
  systemd mount units fail during boot, and the system boots into emergency mode

  [Test Plan]
  This issue seems to happen randomly, and doesn't seem related to a specific 
mount unit.

  We've used a test script with good results during investigation to
  reproduce similar mount failures in a running system, and have seen a
  strong correlation between the script failures and the boot time mount
  failures.

  [Where problems could occur]
  The patches change the way systemd tracks and handles mount points in 
general, so potential regressions could affect other mount units. We should 
keep an eye out for any issues with mounting file systems, as well as rapid 
mount/unmount operations. Successful test runs with the reproducer script 
should increase reliability in having no new regressions.

  [Other Info]
  This has been tackled upstream with several attempts, which have resulted in 
the final patch from 2022:
01400460ae16 core/mount: adjust deserialized state based on 
/proc/self/mountinfo 

  For Bionic, systemd requires several dependency patches as below:
6a1d4d9fa6b9 core: properly reset all ExecStatus structures when entering a 
new unit cycle
7eba1463dedc mount: flush out cycle state on DEAD→MOUNTED only, not the 
other way round
350804867dbc mount: rescan /proc/self/mountinfo before processing waitid() 
results
1d086a6e5972 mount: mark an existing "mounting" unit from 
/proc/self/mountinfo as "just_mounted"

  Additionally, the kernel also requires the following patches:
28ca0d6d39ab list: introduce list_for_each_continue()
9f6c61f96f2d proc/mounts: add cursor

  [Original Description]
  In Ubuntu 18.04 at least, we sometimes get a random server in emergency mode 
with a failed mount unit (ext4 file system), while the corresponding file 
system is in fact correctly mounted. It happens roughly once every 1000 reboots.

  It seems to be related with this bug :
  https://github.com/systemd/systemd/issues/10872

  Is it possible to apply the fix
  
(https://github.com/systemd/systemd/commit/350804867dbcc9b7ccabae1187d730d37e2d8a21)
  in Ubuntu 18.04 ?

  Thanks in advance.

To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1837227/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1837227] Re: Random mount units sometimes fail, while file system is correctly mounted

2023-06-29 Thread Heitor Alves de Siqueira
I'm marking Bionic as Won't Fix, as this is no longer under standard
support. The fixes for this bug will be made available under Ubuntu Pro
for 18.04.

** Also affects: systemd (Ubuntu Jammy)
   Importance: Undecided
   Status: New

** Also affects: systemd (Ubuntu Focal)
   Importance: Undecided
   Status: New

** Changed in: systemd (Ubuntu Focal)
   Status: New => In Progress

** Changed in: systemd (Ubuntu Focal)
   Importance: Undecided => High

** Changed in: systemd (Ubuntu Focal)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: systemd (Ubuntu Jammy)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: systemd (Ubuntu Jammy)
   Status: New => In Progress

** Tags removed: ddstreet
** Tags added: se-sponsor-halves

** Summary changed:

- Random mount units sometimes fail, while file system is correctly mounted
+ Mount units sometimes fail, while file system is correctly mounted

** Summary changed:

- Mount units sometimes fail, while file system is correctly mounted
+ systemd mount units fail during boot, while file system is correctly mounted

** Also affects: systemd (Ubuntu Bionic)
   Importance: Undecided
   Status: New

** Changed in: systemd (Ubuntu Bionic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: systemd (Ubuntu Bionic)
   Status: New => Won't Fix

** Description changed:

- In Ubuntu 18.04 at least, we sometimes get a random server in emergency
- mode with a failed mount unit (ext4 file system), while the
- corresponding file system is in fact correctly mounted. It happens
- roughly once every 1000 reboots.
+ [Impact]
+ systemd mount units fail during boot, and the system boots into emergency mode
+ 
+ [Test Plan]
+ This issue seems to happen randomly, and doesn't seem related to a specific 
mount unit.
+ 
+ We've used a test script with good results during investigation to
+ reproduce similar mount failures in a running system, and have seen a
+ strong correlation between the script failures and the boot time mount
+ failures.
+ 
+ [Where problems could occur]
+ The patches change the way systemd tracks and handles mount points in 
general, so potential regressions could affect other mount units. We should 
keep an eye out for any issues with mounting file systems, as well as rapid 
mount/unmount operations. Successful test runs with the reproducer script 
should increase reliability in having no new regressions.
+ 
+ [Other Info]
+ This has been tackled upstream with several attempts, which have resulted in 
the final patch from 2022:
+   01400460ae16 core/mount: adjust deserialized state based on 
/proc/self/mountinfo 
+ 
+ For Bionic, systemd requires several dependency patches as below:
+   6a1d4d9fa6b9 core: properly reset all ExecStatus structures when entering a 
new unit cycle
+   7eba1463dedc mount: flush out cycle state on DEAD→MOUNTED only, not the 
other way round
+   350804867dbc mount: rescan /proc/self/mountinfo before processing waitid() 
results
+   1d086a6e5972 mount: mark an existing "mounting" unit from 
/proc/self/mountinfo as "just_mounted"
+ 
+ Additionally, the kernel also requires the following patches:
+   28ca0d6d39ab list: introduce list_for_each_continue()
+   9f6c61f96f2d proc/mounts: add cursor
+ 
+ [Original Description]
+ In Ubuntu 18.04 at least, we sometimes get a random server in emergency mode 
with a failed mount unit (ext4 file system), while the corresponding file 
system is in fact correctly mounted. It happens roughly once every 1000 reboots.
  
  It seems to be related with this bug :
  https://github.com/systemd/systemd/issues/10872
  
  Is it possible to apply the fix
  
(https://github.com/systemd/systemd/commit/350804867dbcc9b7ccabae1187d730d37e2d8a21)
  in Ubuntu 18.04 ?
  
  Thanks in advance.

** Also affects: ubuntu-pro
   Importance: Undecided
   Status: New

** Also affects: ubuntu-pro/18.04
   Importance: Undecided
   Status: New

** Changed in: ubuntu-pro/18.04
   Status: New => In Progress

** Changed in: ubuntu-pro/18.04
   Importance: Undecided => High

** Changed in: ubuntu-pro/18.04
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1837227

Title:
  systemd mount units fail during boot, while file system is correctly
  mounted

Status in systemd:
  New
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Bionic:
  Won't Fix
Status in systemd source package in Focal:
  In Progress
Status in systemd source package in Jammy:
  Fix Released

Bug description:
  [Impact]
  systemd mount units fail during boot, and the system boots into emergenc

[Touch-packages] [Bug 2024864] Re: systemd-networkd crashes with SIGSEGV on bionic

2023-06-23 Thread Heitor Alves de Siqueira
Thank you for the bug report, Thiago! I did a little bit of housekeeping
so that this LP accurately reflects this targeting Ubuntu Pro 18.04.

Could you please fill in the description according to the SRU template?

https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template

** Changed in: systemd
   Status: New => Fix Released

** Changed in: systemd
 Assignee: Tiago Pasqualini da Silva (tiago.pasqualini) => (unassigned)

** Changed in: ubuntu-pro/18.04
 Assignee: (unassigned) => Tiago Pasqualini da Silva (tiago.pasqualini)

** Changed in: systemd (Ubuntu)
   Status: New => Fix Released

** Changed in: ubuntu-pro/18.04
   Status: New => In Progress

** Changed in: ubuntu-pro/18.04
   Importance: Undecided => Medium

** Summary changed:

- systemd-networkd crashes with SIGSEGV on bionic
+ systemd-networkd crashes with SIGSEGV

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2024864

Title:
  systemd-networkd crashes with SIGSEGV

Status in systemd:
  Fix Released
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 18.04 series:
  In Progress
Status in systemd package in Ubuntu:
  Fix Released

Bug description:
  Customer reported that this issue happens randomly during their
  automated regression runs. It's not consistent and hard to reproduce.
  They have shared a coredump:

  Program terminated with signal SIGSEGV, Segmentation fault.
  #0 0x555962aa1c34 in link_drop_foreign_config 
(link=link@entry=0x555963583f30) at ../src/network/networkd-link.c:2741
  2741 ../src/network/networkd-link.c: No such file or directory.
  (gdb) bt
  #0 0x555962aa1c34 in link_drop_foreign_config 
(link=link@entry=0x555963583f30) at ../src/network/networkd-link.c:2741
  #1 0x555962aa233d in link_carrier_lost.lto_priv.328 (link=, link=) at ../src/network/networkd-link.c:3462
  #2 0x555962a8e9b2 in link_update (m=0x5559635702c0, link=) 
at ../src/network/networkd-link.c:3698
  #3 manager_rtnl_process_link (rtnl=, message=0x5559635702c0, 
userdata=) at ../src/network/networkd-manager.c:713
  #4 0x555962a48a16 in process_match (m=0x5559635702c0, 
rtnl=0x55596355d990) at ../src/libsystemd/sd-netlink/sd-netlink.c:388
  #5 process_running (ret=0x0, rtnl=0x55596355d990) at 
../src/libsystemd/sd-netlink/sd-netlink.c:418
  #6 sd_netlink_process (rtnl=0x55596355d990, ret=ret@entry=0x0) at 
../src/libsystemd/sd-netlink/sd-netlink.c:452
  #7 0x555962a48cb3 in time_callback (s=, usec=, userdata=) at ../src/libsystemd/sd-netlink/sd-netlink.c:759
  #8 0x555962a4dbae in source_dispatch (s=s@entry=0x55596355dce0) at 
../src/libsystemd/sd-event/sd-event.c:2311
  #9 0x555962a4de2a in sd_event_dispatch (e=, 
e@entry=0x55596355bf70) at ../src/libsystemd/sd-event/sd-event.c:2663
  #10 0x555962a4dfb9 in sd_event_run (e=, 
e@entry=0x55596355bf70, timeout=timeout@entry=18446744073709551615) at 
../src/libsystemd/sd-event/sd-event.c:2723
  #11 0x555962a4e1fb in sd_event_loop (e=) at 
../src/libsystemd/sd-event/sd-event.c:2744
  #12 0x555962a223d6 in main (argc=, argv=) 
at ../src/network/networkd.c:158

  The following patch fixes the issue:
  
https://github.com/systemd/systemd/commit/b1b0b42e48303134731e017a108c6c334ef5f4c8

  I was able simulate it to happen on gdb, by breaking once the manager
  is setup, getting the loopback device and running
  link_drop_foreign_config on the loopback device:

  (gdb) b src/network/networkd.c:150
  Breakpoint 1 at 0x2f38f: file ../src/network/networkd.c, line 150.
  (gdb) r
  Starting program: /lib/systemd/systemd-networkd
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  eth0: IPv6 successfully enabled
  eth0: Gained IPv6LL

  Breakpoint 1, main (argc=, argv=) at 
../src/network/networkd.c:152
  152   log_info("Enumeration completed");
  (gdb) p *m->links
  $1 = {b = {hash_ops = 0x5578f230 , {indirect = {storage 
= 0x2e, hash_key = "\200\376yUUU\000\000\001\000\000\000\000\000\000",
  n_entries = 1434074992, n_buckets = 21845, idx_lowest_entry = 256, 
_pad = "\000\000"}, direct = {
  storage = 
".\000\000\000\000\000\000\000\200\376yUUU\000\000\001\000\000\000\000\000\000\000p?zUUU\000\000\000\001\000\000\000\000"}},
  type = HASHMAP_TYPE_PLAIN, has_indirect = false, n_direct_entries = 2, 
from_pool = true}}
  (gdb) set $mylink = (Link **) malloc(sizeof(Link *))
  (gdb) call link_get(m, 1, $mylink)
  $2 = 0
  (gdb) p *$mylink
  $3 = (Link *) 0x557a3f70
  (gdb) p **$mylink
  $4 = {manager = 0x55796940, n_ref = 2, ifindex = 1, master_ifindex = 0, 
ifname = 0x557a0060 "lo", kind = 0x0, iftype = 772,
    state_file = 0x5579c670 "/run/systemd/netif/links/1", mac = 
{ether_addr_octet = "\000\000\000\000\000"}, ipv6ll_address = {__in6_u = {
    __u6_addr8 = '\000' , __u6_addr16 = {0, 0, 0, 0, 0, 

[Touch-packages] [Bug 2024864] Re: systemd-networkd crashes with SIGSEGV on bionic

2023-06-23 Thread Heitor Alves de Siqueira
** Tags added: se-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2024864

Title:
  systemd-networkd crashes with SIGSEGV on bionic

Status in systemd:
  New
Status in Ubuntu Pro:
  New
Status in Ubuntu Pro 18.04 series:
  New
Status in systemd package in Ubuntu:
  New

Bug description:
  Customer reported that this issue happens randomly during their
  automated regression runs. It's not consistent and hard to reproduce.
  They have shared a coredump:

  Program terminated with signal SIGSEGV, Segmentation fault.
  #0 0x555962aa1c34 in link_drop_foreign_config 
(link=link@entry=0x555963583f30) at ../src/network/networkd-link.c:2741
  2741 ../src/network/networkd-link.c: No such file or directory.
  (gdb) bt
  #0 0x555962aa1c34 in link_drop_foreign_config 
(link=link@entry=0x555963583f30) at ../src/network/networkd-link.c:2741
  #1 0x555962aa233d in link_carrier_lost.lto_priv.328 (link=, link=) at ../src/network/networkd-link.c:3462
  #2 0x555962a8e9b2 in link_update (m=0x5559635702c0, link=) 
at ../src/network/networkd-link.c:3698
  #3 manager_rtnl_process_link (rtnl=, message=0x5559635702c0, 
userdata=) at ../src/network/networkd-manager.c:713
  #4 0x555962a48a16 in process_match (m=0x5559635702c0, 
rtnl=0x55596355d990) at ../src/libsystemd/sd-netlink/sd-netlink.c:388
  #5 process_running (ret=0x0, rtnl=0x55596355d990) at 
../src/libsystemd/sd-netlink/sd-netlink.c:418
  #6 sd_netlink_process (rtnl=0x55596355d990, ret=ret@entry=0x0) at 
../src/libsystemd/sd-netlink/sd-netlink.c:452
  #7 0x555962a48cb3 in time_callback (s=, usec=, userdata=) at ../src/libsystemd/sd-netlink/sd-netlink.c:759
  #8 0x555962a4dbae in source_dispatch (s=s@entry=0x55596355dce0) at 
../src/libsystemd/sd-event/sd-event.c:2311
  #9 0x555962a4de2a in sd_event_dispatch (e=, 
e@entry=0x55596355bf70) at ../src/libsystemd/sd-event/sd-event.c:2663
  #10 0x555962a4dfb9 in sd_event_run (e=, 
e@entry=0x55596355bf70, timeout=timeout@entry=18446744073709551615) at 
../src/libsystemd/sd-event/sd-event.c:2723
  #11 0x555962a4e1fb in sd_event_loop (e=) at 
../src/libsystemd/sd-event/sd-event.c:2744
  #12 0x555962a223d6 in main (argc=, argv=) 
at ../src/network/networkd.c:158

  The following patch fixes the issue:
  
https://github.com/systemd/systemd/commit/b1b0b42e48303134731e017a108c6c334ef5f4c8

  I was able simulate it to happen on gdb, by breaking once the manager
  is setup, getting the loopback device and running
  link_drop_foreign_config on the loopback device:

  (gdb) b src/network/networkd.c:150
  Breakpoint 1 at 0x2f38f: file ../src/network/networkd.c, line 150.
  (gdb) r
  Starting program: /lib/systemd/systemd-networkd
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  eth0: IPv6 successfully enabled
  eth0: Gained IPv6LL

  Breakpoint 1, main (argc=, argv=) at 
../src/network/networkd.c:152
  152   log_info("Enumeration completed");
  (gdb) p *m->links
  $1 = {b = {hash_ops = 0x5578f230 , {indirect = {storage 
= 0x2e, hash_key = "\200\376yUUU\000\000\001\000\000\000\000\000\000",
  n_entries = 1434074992, n_buckets = 21845, idx_lowest_entry = 256, 
_pad = "\000\000"}, direct = {
  storage = 
".\000\000\000\000\000\000\000\200\376yUUU\000\000\001\000\000\000\000\000\000\000p?zUUU\000\000\000\001\000\000\000\000"}},
  type = HASHMAP_TYPE_PLAIN, has_indirect = false, n_direct_entries = 2, 
from_pool = true}}
  (gdb) set $mylink = (Link **) malloc(sizeof(Link *))
  (gdb) call link_get(m, 1, $mylink)
  $2 = 0
  (gdb) p *$mylink
  $3 = (Link *) 0x557a3f70
  (gdb) p **$mylink
  $4 = {manager = 0x55796940, n_ref = 2, ifindex = 1, master_ifindex = 0, 
ifname = 0x557a0060 "lo", kind = 0x0, iftype = 772,
    state_file = 0x5579c670 "/run/systemd/netif/links/1", mac = 
{ether_addr_octet = "\000\000\000\000\000"}, ipv6ll_address = {__in6_u = {
    __u6_addr8 = '\000' , __u6_addr16 = {0, 0, 0, 0, 0, 
0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, mtu = 65536, udev_device = 0x0,
    flags = 65609, kernel_operstate = 0 '\000', network = 0x0, state = 
LINK_STATE_UNMANAGED, operstate = LINK_OPERSTATE_CARRIER, address_messages = 0,
    address_label_messages = 0, route_messages = 0, 
routing_policy_rule_messages = 0, routing_policy_rule_remove_messages = 0, 
enslaving = 0,
    addresses = 0x0, addresses_foreign = 0x55796120, routes = 0x0, 
routes_foreign = 0x55796180, addresses_configured = false,
    addresses_ready = false, dhcp_client = 0x0, dhcp_lease = 0x0, lease_file = 
0x5579c620 "/run/systemd/netif/leases/1", original_mtu = 0,
    dhcp4_messages = 0, dhcp4_configured = false, dhcp6_configured = false, 
ndisc_messages = 0, ndisc_configured = false, ipv4ll = 0x0,
    ipv4ll_address = false, ipv4ll_route = false, 

[Touch-packages] [Bug 1983100] Re: dotnet build intermittently crashes with segfault on Ubuntu 18.04

2023-05-11 Thread Heitor Alves de Siqueira
Thanks for the revised debdiff, Tom! I appreciate that you added a short
description of each patch to the bug, it's really helpful!

We'll need to adjust a few things before proceeding, a few comments
below.

On the debian changelog:
- Since we have many patch files, it would be good to pull the descriptive 
entry to the top, and list the files underneath
- We should include the LP bug number in the new changelog entry. This should 
be in the format "(LP: #1983100)", preferably at the end of your topmost entry

On the DEP-3 headers:
- let's point the Origin tags to the commit id of each change, so that a 
reviewer will be able to find the original commits in a local repo (without 
going through a github pull request), e.g.:
Origin: upstream, https://github.com/openssl/openssl/commit/56806f432b6c
- for the Bug-Ubuntu tag, we should use the short-link version:
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1983100

On the patches themselves:

I've noticed that patch 4/7 isn't from the same PR series as the rest (it's 
from PR 7626 [0]), so we should correct the Origin header in that patch file. 
PR 7626 also has another commit that doesn't seem to be included in the 
debdiff, did you run tests to ensure it isn't needed for them to work properly?
[0] https://github.com/openssl/openssl/pull/7626

I'm also not fully convinced patch 7/7 is required for this SRU, as it's
specifically targeted to Windows systems. I don't think our builds
define _WIN32, so I'd imagine the patch would only introduce dead code.
Could we drop it from the next version?

Finally, I'd like to double check the patches that are focused on
shlibloadtest (patches 1, 3-7). I understand some of them aren't related
to the new NO_ATEXIT change, but are fixing the underlying test that's
used by that specific patch. Does this mean that shlibloadtest is
currently broken for bionic? Or are these patches needed for the
additional tests introduced by patch 5?

Ultimately, I wonder if it would be appropriate to e.g. spin the
shlibloadtest fixes into a separate LP bug, or if the NO_ATEXIT tests
will just outright break without them. Could you please confirm whether
this is the case?

Thanks again for all the work on this, Tom! Given we're touching a
critical component (openssl) of an LTS release that's soon to move out
of standard support, we'll have to be a bit more strict than usual and
this SRU is likely to receive extra attention, so thanks for being
understanding about it.

Cheers,
Heitor


** Changed in: openssl (Ubuntu Bionic)
   Status: In Progress => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1983100

Title:
  dotnet build intermittently crashes with segfault on Ubuntu 18.04

Status in openssl package in Ubuntu:
  Fix Released
Status in openssl source package in Bionic:
  Incomplete

Bug description:
  [Impact]

  Bionic's OpenSSL 1.1.1 package
  (https://launchpad.net/ubuntu/bionic/+source/openssl) is the only
  version of openssl 1.1.1 on any distro that we've encountered that
  does not have support for the OPENSSL_NO_ATEXIT functionality from
  1.1.1b (openssl/openssl@c2b3db2).

  The threading model in .NET has the possibility that background
  threads are still running when exit() is called, which can cause
  SIGSEGV if a background thread interacts with OpenSSL after/while it
  has unloaded. For that reason, we always initialize OpenSSL 1.1.1 with
  the OPENSSL_NO_ATEXIT flag (which, of all the distros we run on only
  has no effect on Bionic).

  We feel that the stability of applications on Ubuntu 18.04 would be
  improved if the functionality of OPENSSL_NO_ATEXIT was merged into the
  bionic openssl 1.1.1 package, even if the constant isn't published
  into the header for the dev package.

  Context:
  https://github.com/dotnet/runtime/issues/48411#issuecomment-1178405101

  [Test Plan]

  The described behavior can be reproduced by passing the
  OPENSSL_NO_ATEXIT to the OPENSSL_init_ssl() call. The application will
  terminate with a SEGFAULT. More concretely, a minimal reproducer is:

  #include 
  #include 
  #include 

  #ifndef OPENSSL_INIT_NO_ATEXIT
  #define OPENSSL_INIT_NO_ATEXIT 0x0008L
  #endif

  static void print_error_string()
  {
  printf("print_error_string:\n");
  printf("ERR_reason_error_string(0) => %s\n", ERR_reason_error_string(0));
  }

  int main(int argc, char* argv[])
  {
  // register this handler first, so it runs last.
  atexit(print_error_string);

  OPENSSL_init_ssl(
  OPENSSL_INIT_ADD_ALL_CIPHERS |
  OPENSSL_INIT_ADD_ALL_DIGESTS |
  OPENSSL_INIT_LOAD_CONFIG |
  OPENSSL_INIT_NO_ATEXIT |
  OPENSSL_INIT_LOAD_CRYPTO_STRINGS |
  OPENSSL_INIT_LOAD_SSL_STRINGS,
  NULL);

  print_error_string();

  return 0;
  }

  Building

  $ sudo apt install libssl-dev
  $ gcc 

[Touch-packages] [Bug 1983100] Re: dotnet build intermittently crashes with segfault on Ubuntu 18.04

2023-05-04 Thread Heitor Alves de Siqueira
** Changed in: openssl (Ubuntu Bionic)
   Status: Incomplete => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1983100

Title:
  dotnet build intermittently crashes with segfault on Ubuntu 18.04

Status in openssl package in Ubuntu:
  Fix Released
Status in openssl source package in Bionic:
  In Progress

Bug description:
  [Impact]

  Bionic's OpenSSL 1.1.1 package
  (https://launchpad.net/ubuntu/bionic/+source/openssl) is the only
  version of openssl 1.1.1 on any distro that we've encountered that
  does not have support for the OPENSSL_NO_ATEXIT functionality from
  1.1.1b (openssl/openssl@c2b3db2).

  The threading model in .NET has the possibility that background
  threads are still running when exit() is called, which can cause
  SIGSEGV if a background thread interacts with OpenSSL after/while it
  has unloaded. For that reason, we always initialize OpenSSL 1.1.1 with
  the OPENSSL_NO_ATEXIT flag (which, of all the distros we run on only
  has no effect on Bionic).

  We feel that the stability of applications on Ubuntu 18.04 would be
  improved if the functionality of OPENSSL_NO_ATEXIT was merged into the
  bionic openssl 1.1.1 package, even if the constant isn't published
  into the header for the dev package.

  Context:
  https://github.com/dotnet/runtime/issues/48411#issuecomment-1178405101

  [Test Plan]

  The described behavior can be reproduced by passing the
  OPENSSL_NO_ATEXIT to the OPENSSL_init_ssl() call. The application will
  terminate with a SEGFAULT. More concretely, a minimal reproducer is:

  #include 
  #include 
  #include 

  #ifndef OPENSSL_INIT_NO_ATEXIT
  #define OPENSSL_INIT_NO_ATEXIT 0x0008L
  #endif

  static void print_error_string()
  {
  printf("print_error_string:\n");
  printf("ERR_reason_error_string(0) => %s\n", ERR_reason_error_string(0));
  }

  int main(int argc, char* argv[])
  {
  // register this handler first, so it runs last.
  atexit(print_error_string);

  OPENSSL_init_ssl(
  OPENSSL_INIT_ADD_ALL_CIPHERS |
  OPENSSL_INIT_ADD_ALL_DIGESTS |
  OPENSSL_INIT_LOAD_CONFIG |
  OPENSSL_INIT_NO_ATEXIT |
  OPENSSL_INIT_LOAD_CRYPTO_STRINGS |
  OPENSSL_INIT_LOAD_SSL_STRINGS,
  NULL);

  print_error_string();

  return 0;
  }

  Building

  $ sudo apt install libssl-dev
  $ gcc test.c -lssl -lcrypto
  $ ./a.out
  print_error_string:
  ERR_reason_error_string(0) => (null)
  print_error_string:
  Segmentation fault (core dumped)

  [Other Info]
  All of these patches are included in upstream release 1.1.1b
  - lp1983100-0001-Fix-shlibloadtest-to-properly-execute-the-dso_ref-te.patch
Fixes the shlibloadtest that was updated as part of #0005

  - lp1983100-0002-Implement-OPENSSL_INIT_NO_ATEXIT.patch
Patch adds the OPENSSL_INIT_NO_ATEXIT option

  - lp1983100-0003-Don-t-link-shlibloadtest-against-libcrypto.patch
Additional fixes for shlibloadtest

  - lp1983100-0004-Fix-rpath-related-Linux-test_shlibload-failure.patch
Additional fixes for shlibloadtest

  - lp1983100-0005-Test-atexit-handlers.patch
Adds test for OPENSSL_INIT_NO_ATEXIT option and updates the shlibloadtest

  - lp1983100-0006-Introduce-a-no-pinshared-option.patch
This patch includes tests to ensure that if OPENSSL_INIT_NO_ATEXIT is not 
defined then the atexit() handler is run

  - lp1983100-0007-Support-_onexit-in-preference-to-atexit-on-Windows.patch
This patch ensures that atexit() is only called when on non-Windows systems 
as Windows uses _onexit() during library unloading

  All seven patches are required to ensure the correct logic and
  operation of the OPENSSL_INIT_NO_ATEXIT option.

  [Where problems could occur]

  The patches adds an option to the OPENSSL_init_crypto() function to
  disable the default behavior of calling of a cleanup function on
  application exit. The patch also includes a few bug fixes around
  various initializations that were supposed to happen once when running
  threaded but were not.

  These changes have the potential for regressions and it is conceivable
  that they lead to incorrect behavior. However, I have also backported
  and included all new testing functions in the hope that the changed
  behavior will get appropriate testing.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1983100/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 2002043] Re: Python extension modules get built using wrong compiler flags with python2

2023-03-17 Thread Heitor Alves de Siqueira
** Tags added: se-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python2.7 in Ubuntu.
https://bugs.launchpad.net/bugs/2002043

Title:
  Python extension modules get built using wrong compiler flags with
  python2

Status in python2.7 package in Ubuntu:
  In Progress
Status in python2.7 source package in Bionic:
  In Progress
Status in python2.7 source package in Focal:
  In Progress
Status in python2.7 source package in Jammy:
  In Progress
Status in python2.7 source package in Kinetic:
  In Progress
Status in python2.7 source package in Lunar:
  In Progress

Bug description:
  Compiling a Python extension using Python2 (Python 2.7.18) is making
  use of wrong compiler flags, hence dropping required optimizations
  when required. This is happening only when python2 is installed from
  Ubuntu's repositories. By default, Python's distutils module uses
  compiler and linker flags used to compile Python itself to be used to
  compile extensions.

  Steps to reproduce:
  1) On Ubuntu 20.04, install python2 using apt package manager.
  2) After successful installation, verify the CFLAGS variable from sysconfig 
module. On my machine, the output is 

  Python 2.7.18 (default, Jul  1 2022, 12:27:04)
  [GCC 9.4.0] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import sysconfig
  >>> sysconfig.get_config_var('CFLAGS')
  '-fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
-Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-vvQ8AI/python2.7-2.7.18=. 
-fstack-protector-strong -Wformat -Werror=format-security  '

  3) Build a test extension module using python2 and verify the compilation 
flags. 
  python2 setup.py build_ext --inplace

  Output from below command is not matching with our expected above CFLAGS. 
  aarch64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time 
-D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-vvQ8AI/python2.7-2.7.18=. 
-fstack-protector-strong -Wformat -Werror=format-security -fPIC 
-I/usr/include/python2.7 -c testmodule.c -o 
build/temp.linux-aarch64-2.7/testmodule.o

  
  On further investigation, it looks like Ubuntu's specific patch applied on 
libpython2.7-stdlib package is altering the original upstream implementation of 
distutils/sysconfig.py code.

  Package - https://packages.ubuntu.com/focal/libpython2.7-stdlib
  Patch - 
http://archive.ubuntu.com/ubuntu/pool/universe/p/python2.7/python2.7_2.7.18-1~20.04.3.diff.gz

  Below is the code block which is causing the issue, where the presence of 
configure_cflags is modifying cflags. This code is result of ubuntu's patch and 
doesn't come directly from upstream python implementation.
  File - /usr/lib/python2.7/distutils/sysconfig.py
  Part of code block:
  elif configure_cflags:
  cflags = ' '.join(str(x) for x in (basecflags, configure_cflags, 
extra_cflags) if x)
  ldshared = ldshared + ' ' + configure_cflags

  
  I don't see problem on Python3 though we have extra code added from patch 
there as well. Patch used on python3, is not modifying the cflags completely 
and instead appending new flags to cflags.
  On python3 (tested on Ubuntu 20.04)
  File - /usr/lib/python3.8/distutils/sysconfig.py
  Part of code block which doesn't alter cflags completely
  elif configure_cflags:
  cflags = cflags + ' ' + configure_cflags
  ldshared = ldshared + ' ' + configure_cflags

  
  Request to update the python2 patch to behave similar to what is been done on 
python3.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/2002043/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1999104] Re: arm64: broken c++ exception handler support leads to std::terminate() being called and program abort

2022-12-15 Thread Heitor Alves de Siqueira
** Tags removed: sts-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to libunwind in Ubuntu.
https://bugs.launchpad.net/bugs/1999104

Title:
  arm64: broken c++ exception handler support leads to std::terminate()
  being called and program abort

Status in libunwind package in Ubuntu:
  Fix Released
Status in libunwind source package in Bionic:
  In Progress
Status in libunwind source package in Focal:
  In Progress

Bug description:
  [Impact]

  On architectures other than i386 and amd64, the C++ exception support
  in libunwind appears to be broken, always failing and calling
  std::terminate() which leads to the program aborting.

  (gdb) bt
  #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
  #1  0xf7c2daac in __GI_abort () at abort.c:79
  #2  0xf7e21868 in __gnu_cxx::__verbose_terminate_handler() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #3  0xf7e1f21c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
  #4  0xf7e1f280 in std::terminate() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #5  0xf7e1f5e0 in __cxa_rethrow ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #6  0xf7e21804 in __gnu_cxx::__verbose_terminate_handler() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #7  0xf7e1f21c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
  #8  0xf7e1f280 in std::terminate() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #9  0xf7e1f574 in __cxa_throw ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #10 0xf7fb9f50 in function_throws_int () at lib.cpp:9
  #11 0x0d54 in main (argc=1, argv=0xfab8) at main.cpp:9

  Compiling libunwind with --enable-cxx-exceptions enabled leads to
  _Unwind_RaiseException being called during __cxa_throw(), which fails
  to find a handler, and the generic std::terminate() is called instead,
  aborting the program.

  On i386 and amd64 this doesn't seem to be the case, and the libunwind
  handlers seem to be present.

  To fix, we only enable the configure option --enable-cxx-exceptions on
  i386 and amd64 only, in debian/rules. This lets other architectures
  fall back to the symbols provided by libgcc_s, which implementation
  works correctly.

  [Testcase]

  Ali Sadi has provided a reproducer program.

  Start an arm64 instance, for example, a c6g.medium instance on AWS,
  with either Bionic or Focal.

  $ wget 
https://bugs.launchpad.net/ubuntu/+source/libunwind/+bug/1999104/+attachment/5635122/+files/libunwind.tar.gz
  $ sudo apt install -y build-essential libunwind-dev
  $ tar xvf libunwind.tar.gz && cd test
  $ make all

  There are two executable, main and main_unwind. main is not linked to
  libunwind, and main_unwind is linked to libunwind.

  $ ./main
  int throws lib
  int caught main
  $ ./main_unwind
  terminate called after throwing an instance of 'int'
  terminate called recursively
  Aborted (core dumped)

  If you install the test package available in the following ppa:

  https://launchpad.net/~mruffell/+archive/ubuntu/sf350246-test

  $ make clean
  $ sudo apt install -y libunwind-dev
  $ make all
  $ ./main
  int throws lib
  int caught main
  $ ./main_unwind
  int throws lib
  int caught main

  The exception is caught as expected the program does not abort.

  [Where problems could occur]

  For architectures other than i386 and amd64, we are changing from
  libunwind provided exception handlers for __cxa_throw(), and using
  those provided by libgcc_s instead.

  There are a few reverse dependencies for libunwind-dev and libunwind8,
  which need to be considered:

  $ apt rdepends libunwind-dev
  libunwind-dev
  Reverse Depends:
Depends: libunwind-setjmp0-dev (= 1.2.1-9build1)
Depends: libefl-all-dev

  t$ apt rdepends libunwind-dev8
  libunwind8
  Reverse Depends:
Depends: libunwind-dev (= 1.2.1-9build1)
Depends: xvfb
Depends: xnest
Depends: xdmx
Depends: xwayland
Depends: xserver-xorg-core
Depends: xserver-xephyr
Depends: linux-tools-5.4.0-*
Depends: linux-raspi-tools-*
Depends: linux-raspi2-tools-5.4.0-*
Depends: linux-raspi2-5.4-tools-5.4.0-*
Depends: linux-oracle-5.15-tools-5.15.0-*
Depends: linux-lowlatency-hwe-5.15-tools-5.15.0-*
Depends: linux-hwe-5.8-tools-5.8.0-*
Depends: linux-hwe-5.15-tools-5.15.0-*
Depends: linux-gke-tools-5.4.0-*
Depends: linux-gke-5.15-tools-5.15.0-*
Depends: linux-gcp-tools-5.4.0-*
Depends: linux-gcp-5.15-tools-5.15.0-*
Depends: linux-azure-tools-5.4.0-*
Depends: linux-azure-5.15-tools-5.15.0-*
Depends: linux-aws-tools-5.4.0-*
Depends: linux-aws-5.8-tools-5.8.0-*
Depends: linux-aws-5.15-tools-5.15.0-*
Depends: xvfb
Depends: xnest
Depends: xdmx
Depends: trafficserver
Depends: tilix
Depends: tigervnc-standalone-server
Depends: tarantool

[Touch-packages] [Bug 1999104] Re: arm64: broken c++ exception handler support leads to std::terminate() being called and program abort

2022-12-13 Thread Heitor Alves de Siqueira
** Tags removed: sts-sponsor
** Tags added: sts-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to libunwind in Ubuntu.
https://bugs.launchpad.net/bugs/1999104

Title:
  arm64: broken c++ exception handler support leads to std::terminate()
  being called and program abort

Status in libunwind package in Ubuntu:
  Fix Released
Status in libunwind source package in Bionic:
  In Progress
Status in libunwind source package in Focal:
  In Progress

Bug description:
  [Impact]

  On architectures other than i386 and amd64, the C++ exception support
  in libunwind appears to be broken, always failing and calling
  std::terminate() which leads to the program aborting.

  (gdb) bt
  #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
  #1  0xf7c2daac in __GI_abort () at abort.c:79
  #2  0xf7e21868 in __gnu_cxx::__verbose_terminate_handler() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #3  0xf7e1f21c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
  #4  0xf7e1f280 in std::terminate() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #5  0xf7e1f5e0 in __cxa_rethrow ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #6  0xf7e21804 in __gnu_cxx::__verbose_terminate_handler() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #7  0xf7e1f21c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
  #8  0xf7e1f280 in std::terminate() ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #9  0xf7e1f574 in __cxa_throw ()
 from /lib/aarch64-linux-gnu/libstdc++.so.6
  #10 0xf7fb9f50 in function_throws_int () at lib.cpp:9
  #11 0x0d54 in main (argc=1, argv=0xfab8) at main.cpp:9

  Compiling libunwind with --enable-cxx-exceptions enabled leads to
  _Unwind_RaiseException being called during __cxa_throw(), which fails
  to find a handler, and the generic std::terminate() is called instead,
  aborting the program.

  On i386 and amd64 this doesn't seem to be the case, and the libunwind
  handlers seem to be present.

  To fix, we only enable the configure option --enable-cxx-exceptions on
  i386 and amd64 only, in debian/rules. This lets other architectures
  fall back to the symbols provided by libgcc_s, which implementation
  works correctly.

  [Testcase]

  Ali Sadi has provided a reproducer program.

  Start an arm64 instance, for example, a c6g.medium instance on AWS,
  with either Bionic or Focal.

  $ wget 
https://bugs.launchpad.net/ubuntu/+source/libunwind/+bug/1999104/+attachment/5635122/+files/libunwind.tar.gz
  $ sudo apt install -y build-essential libunwind-dev
  $ tar xvf libunwind.tar.gz && cd test
  $ make all

  There are two executable, main and main_unwind. main is not linked to
  libunwind, and main_unwind is linked to libunwind.

  $ ./main
  int throws lib
  int caught main
  $ ./main_unwind
  terminate called after throwing an instance of 'int'
  terminate called recursively
  Aborted (core dumped)

  If you install the test package available in the following ppa:

  https://launchpad.net/~mruffell/+archive/ubuntu/sf350246-test

  $ make clean
  $ sudo apt install -y libunwind-dev
  $ make all
  $ ./main
  int throws lib
  int caught main
  $ ./main_unwind
  int throws lib
  int caught main

  The exception is caught as expected the program does not abort.

  [Where problems could occur]

  For architectures other than i386 and amd64, we are changing from
  libunwind provided exception handlers for __cxa_throw(), and using
  those provided by libgcc_s instead.

  There are a few reverse dependencies for libunwind-dev and libunwind8,
  which need to be considered:

  $ apt rdepends libunwind-dev
  libunwind-dev
  Reverse Depends:
Depends: libunwind-setjmp0-dev (= 1.2.1-9build1)
Depends: libefl-all-dev

  t$ apt rdepends libunwind-dev8
  libunwind8
  Reverse Depends:
Depends: libunwind-dev (= 1.2.1-9build1)
Depends: xvfb
Depends: xnest
Depends: xdmx
Depends: xwayland
Depends: xserver-xorg-core
Depends: xserver-xephyr
Depends: linux-tools-5.4.0-*
Depends: linux-raspi-tools-*
Depends: linux-raspi2-tools-5.4.0-*
Depends: linux-raspi2-5.4-tools-5.4.0-*
Depends: linux-oracle-5.15-tools-5.15.0-*
Depends: linux-lowlatency-hwe-5.15-tools-5.15.0-*
Depends: linux-hwe-5.8-tools-5.8.0-*
Depends: linux-hwe-5.15-tools-5.15.0-*
Depends: linux-gke-tools-5.4.0-*
Depends: linux-gke-5.15-tools-5.15.0-*
Depends: linux-gcp-tools-5.4.0-*
Depends: linux-gcp-5.15-tools-5.15.0-*
Depends: linux-azure-tools-5.4.0-*
Depends: linux-azure-5.15-tools-5.15.0-*
Depends: linux-aws-tools-5.4.0-*
Depends: linux-aws-5.8-tools-5.8.0-*
Depends: linux-aws-5.15-tools-5.15.0-*
Depends: xvfb
Depends: xnest
Depends: xdmx
Depends: trafficserver
Depends: tilix
Depends: tigervnc-standalone-server

[Touch-packages] [Bug 1972029] Re: dhclient overriding stub-resolv.conf file on Jammy

2022-08-06 Thread Heitor Alves de Siqueira
** Tags removed: sts sts-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/1972029

Title:
  dhclient overriding stub-resolv.conf file on Jammy

Status in isc-dhcp package in Ubuntu:
  Fix Released
Status in isc-dhcp source package in Jammy:
  In Progress
Status in isc-dhcp source package in Kinetic:
  Fix Released

Bug description:
  [Issue]
  On Jammy, the stub-resolv.conf file on /run/systemd/resolve gets overwritten 
if dhclient is executed.

  While debugging this, I found the reference on LP#1889068 [0] of the
  move of `resolved` hook from dhclient-enter-hooks.d/ to dhclient-exit-
  hooks.d/, and this new hook [2] has no reference of make_resolv_conf()
  being called.

  [Reproducer]
  -
  I used a cloud-image based Jammy installation (uvt-kvm).  Once in:

  $ cat /run/system/resolve/stub-resolv.conf

  And one will see:

  nameserver 127.0.0.53
  options edns0 trust-ad
  search .

  Then:

  $ sudo dhclient
  $ cat /run/system/resolve/stub-resolv.conf

  You'll see the definition of the nameserver(s) in, and the stub IP
  address no longer there.  To revert this, a `systemctl restart
  systemd-resolved` is needed.

  [Impact]

  This is an improper way to keep nameserver(s) in *resolv* files; the
  override of the file should never happen in these circumstances.

  [Extra]
  -
  As a minor test, I copied over the dhclient-enter-hooks.d/resolved file from 
a Focal installation to a Jammy one, and the problem _does not happen_ when 
such hook is in place.

  [ . . . ]

  Let me know if further clarification is needed to proceed.  Thank you.

  BR,
  pprincipeza

  [0] https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1889068
  [1] https://paste.ubuntu.com/p/bvqPZXZZ8w/
  [2] https://paste.ubuntu.com/p/YQdG6z4WS7/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1972029/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1983100] Re: dotnet build intermittently crashes with segfault on Ubuntu 18.04

2022-08-06 Thread Heitor Alves de Siqueira
Hi Nicolas,

Thank you for the patches! I've taken a quick look at the contents, in
hopes of giving you some more feedback for the v2 (in addition to
Mauricio's already suggested changes).

Going through the list, I noticed that there are quite a few patches for a 
single bug fix, and that some of them have a substantial diffstat. There's an 
impression that these patches are more targeted towards including new features 
rather than fixing specific bugs, given their complexity and level of
changes. From the description, I understand most of these changes are probably 
required in order to fix faulty behavior, so we should try to get more 
information about each patch and what they intend to fix.

Without further context, it's not straightforward to understand why some of the 
patches are necessary. As an example, patch 6/7 seems to introduce a new option 
related to memory pinning, and patch 7/7 seems to be a Windows-specific change. 
It would be very helpful if you could describe your reasoning for each patch in 
more detail (e.g. with the "[Other Info]" section of the SRU Bug
Template), something like below:
- patch 0001 is a hard dependency of OPENSSL_INIT_NO_ATEXIT
- patch 0002 implements OPENSSL_INIT_NO_ATEXIT
- patch 0003-0004 add OPENSSL_INIT_NO_ATEXIT to the openssl test suite
...
This would make it easier to understand why each patch included, and help 
deciding on whether they would be appropriate for the SRU scenario.

In addition to that, it would be great to have more concrete examples in the 
"[Where problems could occur]" section. You mentioned that the patches could 
lead to incorrect behavior, so having examples of that would be helpful in 
spotting them once the changes go through. For instance, are these problems 
expected to show up in openssl itself? Would an external library or program
using openssl start exhibiting different behavior or crashes due to these 
changes?

I don't want to come off as excessive, but given that openssl is a
somewhat 'hot' package with potentially big impact on systems, having
good justification and proper context on the patches would be very
beneficial when evaluating the changes.

Thanks again for the help on fixing this bug, and let us know if you
have any questions!


** Changed in: openssl (Ubuntu Bionic)
   Status: New => Incomplete

** Changed in: openssl (Ubuntu)
   Status: New => Fix Released

** Changed in: openssl (Ubuntu Bionic)
   Importance: Undecided => Medium

** Changed in: openssl (Ubuntu Bionic)
 Assignee: (unassigned) => Nicolas Bock (nicolasbock)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1983100

Title:
  dotnet build intermittently crashes with segfault on Ubuntu 18.04

Status in openssl package in Ubuntu:
  Fix Released
Status in openssl source package in Bionic:
  Incomplete

Bug description:
  [Impact]

  Bionic's OpenSSL 1.1.1 package
  (https://launchpad.net/ubuntu/bionic/+source/openssl) is the only
  version of openssl 1.1.1 on any distro that we've encountered that
  does not have support for the OPENSSL_NO_ATEXIT functionality from
  1.1.1b (openssl/openssl@c2b3db2).

  The threading model in .NET has the possibility that background
  threads are still running when exit() is called, which can cause
  SIGSEGV if a background thread interacts with OpenSSL after/while it
  has unloaded. For that reason, we always initialize OpenSSL 1.1.1 with
  the OPENSSL_NO_ATEXIT flag (which, of all the distros we run on only
  has no effect on Bionic).

  We feel that the stability of applications on Ubuntu 18.04 would be
  improved if the functionality of OPENSSL_NO_ATEXIT was merged into the
  bionic openssl 1.1.1 package, even if the constant isn't published
  into the header for the dev package.

  Context:
  https://github.com/dotnet/runtime/issues/48411#issuecomment-1178405101

  [Test Plan]

  The described behavior can be reproduced by passing the
  OPENSSL_NO_ATEXIT to the OPENSSL_init_ssl() call. The application will
  terminate with a SEGFAULT. More concretely, a minimal reproducer is:

  #include 
  #include 
  #include 

  #ifndef OPENSSL_INIT_NO_ATEXIT
  #define OPENSSL_INIT_NO_ATEXIT 0x0008L
  #endif

  static void print_error_string()
  {
  printf("print_error_string:\n");
  printf("ERR_reason_error_string(0) => %s\n", ERR_reason_error_string(0));
  }

  int main(int argc, char* argv[])
  {
  // register this handler first, so it runs last.
  atexit(print_error_string);

  OPENSSL_init_ssl(
  OPENSSL_INIT_ADD_ALL_CIPHERS |
  OPENSSL_INIT_ADD_ALL_DIGESTS |
  OPENSSL_INIT_LOAD_CONFIG |
  OPENSSL_INIT_NO_ATEXIT |
  OPENSSL_INIT_LOAD_CRYPTO_STRINGS |
  OPENSSL_INIT_LOAD_SSL_STRINGS,
  NULL);

  print_error_string();

  return 0;
  }

  Building

  $ sudo apt install libssl-dev
  $ 

[Touch-packages] [Bug 1983100] Re: dotnet build intermittently crashes with segfault on Ubuntu 18.04

2022-08-05 Thread Heitor Alves de Siqueira
** Tags added: se-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1983100

Title:
  dotnet build intermittently crashes with segfault on Ubuntu 18.04

Status in openssl package in Ubuntu:
  New
Status in openssl source package in Bionic:
  New

Bug description:
  [Impact]

  Bionic's OpenSSL 1.1.1 package
  (https://launchpad.net/ubuntu/bionic/+source/openssl) is the only
  version of openssl 1.1.1 on any distro that we've encountered that
  does not have support for the OPENSSL_NO_ATEXIT functionality from
  1.1.1b (openssl/openssl@c2b3db2).

  The threading model in .NET has the possibility that background
  threads are still running when exit() is called, which can cause
  SIGSEGV if a background thread interacts with OpenSSL after/while it
  has unloaded. For that reason, we always initialize OpenSSL 1.1.1 with
  the OPENSSL_NO_ATEXIT flag (which, of all the distros we run on only
  has no effect on Bionic).

  We feel that the stability of applications on Ubuntu 18.04 would be
  improved if the functionality of OPENSSL_NO_ATEXIT was merged into the
  bionic openssl 1.1.1 package, even if the constant isn't published
  into the header for the dev package.

  Context:
  https://github.com/dotnet/runtime/issues/48411#issuecomment-1178405101

  [Test Plan]

  The described behavior can be reproduced by passing the
  OPENSSL_NO_ATEXIT to the OPENSSL_init_ssl() call. The application will
  terminate with a SEGFAULT. More concretely, a minimal reproducer is:

  #include 
  #include 
  #include 

  #ifndef OPENSSL_INIT_NO_ATEXIT
  #define OPENSSL_INIT_NO_ATEXIT 0x0008L
  #endif

  static void print_error_string()
  {
  printf("print_error_string:\n");
  printf("ERR_reason_error_string(0) => %s\n", ERR_reason_error_string(0));
  }

  int main(int argc, char* argv[])
  {
  // register this handler first, so it runs last.
  atexit(print_error_string);

  OPENSSL_init_ssl(
  OPENSSL_INIT_ADD_ALL_CIPHERS |
  OPENSSL_INIT_ADD_ALL_DIGESTS |
  OPENSSL_INIT_LOAD_CONFIG |
  OPENSSL_INIT_NO_ATEXIT |
  OPENSSL_INIT_LOAD_CRYPTO_STRINGS |
  OPENSSL_INIT_LOAD_SSL_STRINGS,
  NULL);

  print_error_string();

  return 0;
  }

  Building

  $ sudo apt install libssl-dev
  $ gcc test.c -lssl -lcrypto
  $ ./a.out
  print_error_string:
  ERR_reason_error_string(0) => (null)
  print_error_string:
  Segmentation fault (core dumped)

  [Where problems could occur]

  The patches adds an option to the OPENSSL_init_crypto() function to
  disable the default behavior of calling of a cleanup function on
  application exit. The patch also includes a few bug fixes around
  various initializations that were supposed to happen once when running
  threaded but were not.

  These changes have the potential for regressions and it is conceivable
  that they lead to incorrect behavior. However, I have also backported
  and included all new testing functions in the hope that the changed
  behavior will get appropriate testing.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1983100/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1972029] Re: dhclient overriding stub-resolv.conf file on Jammy

2022-05-17 Thread Heitor Alves de Siqueira
** Tags added: sts sts-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/1972029

Title:
  dhclient overriding stub-resolv.conf file on Jammy

Status in isc-dhcp package in Ubuntu:
  New

Bug description:
  [Issue]
  On Jammy, the stub-resolv.conf file on /run/systemd/resolve gets overwritten 
if dhclient is executed.

  While debugging this, I found the reference on LP#1889068 [0] of the
  move of `resolved` hook from dhclient-enter-hooks.d/ to dhclient-exit-
  hooks.d/, and this new hook [2] has no reference of make_resolv_conf()
  being called.

  [Reproducer]
  -
  I used a cloud-image based Jammy installation (uvt-kvm).  Once in:

  $ cat /run/system/resolve/stub-resolv.conf

  And one will see:

  nameserver 127.0.0.53
  options edns0 trust-ad
  search .

  Then:

  $ sudo dhclient
  $ cat /run/system/resolve/stub-resolv.conf

  You'll see the definition of the nameserver(s) in, and the stub IP
  address no longer there.  To revert this, a `systemctl restart
  systemd-resolved` is needed.

  [Impact]

  This is an improper way to keep nameserver(s) in *resolv* files; the
  override of the file should never happen in these circumstances.

  [Extra]
  -
  As a minor test, I copied over the dhclient-enter-hooks.d/resolved file from 
a Focal installation to a Jammy one, and the problem _does not happen_ when 
such hook is in place.

  [ . . . ]

  Let me know if further clarification is needed to proceed.  Thank you.

  BR,
  pprincipeza

  [0] https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1889068
  [1] https://paste.ubuntu.com/p/bvqPZXZZ8w/
  [2] https://paste.ubuntu.com/p/YQdG6z4WS7/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1972029/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1863930] Re: SSH 1.99 clients fail to connect to openssh-server 1:7.6p1-4ubuntu0.3

2022-02-15 Thread Heitor Alves de Siqueira
Validated according to test case from description:

root@bionic-ssh:~# python3 test_bug_1863930.py localhost
Server is patched
root@bionic-ssh:~# dpkg -l | grep openssh
ii  openssh-client   1:7.6p1-4ubuntu0.6  amd64  
  secure shell (SSH) client, for secure access to remote machines
ii  openssh-server   1:7.6p1-4ubuntu0.6  amd64  
  secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server  1:7.6p1-4ubuntu0.6  amd64  
  secure shell (SSH) sftp server module, for SFTP access from remote 
machines

Given we have an ACK from both Server and Security and this is affecting
multiple users, I'll remove the blocked tag as well.

** Tags removed: block-proposed-bionic verification-needed 
verification-needed-bionic
** Tags added: verification-done verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1863930

Title:
  SSH 1.99 clients fail to connect to openssh-server 1:7.6p1-4ubuntu0.3

Status in openssh package in Ubuntu:
  Fix Released
Status in openssh source package in Bionic:
  Fix Committed

Bug description:
  [Impact]

   * The version check in ssh was broken no more following RFC 4253 and
     thereby denying some clients that it shouldn't. 

 https://datatracker.ietf.org/doc/html/rfc4253#section-5.1

   * It is intended for clients reporting SSH-1.99 to be treated as if 
 they were advertising SSH-2.0, but with some backwards compatibility.

   * Upstream fixed that, and this request is to back-port the changes into
 18.04 Bionic.

   * In practice this is affecting clients using the SolarWinds
  monitoring agent. Solarwinds SSH client advertises SSH-1.99 and Ubuntu
  18.04 openssh-server is refusing the connection.

   * This results in the following error in the auth.log, and a failed
  connection from the agent.

  Protocol major versions differ for  port :
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-WeOnlyDo.Net

   * More information from SolarWinds at the link below. They call out
  18.04 as affected and recommend upgrading OpenSSH-server to 7.7 or
  greater.

  https://support.solarwinds.com/SuccessCenter/s/article/SAM-s-Linux-
  Unix-Script-monitor-fails-to-connect-on-a-server-running-
  OpenSSH-7-6?language=en_US

  [Test Case]

   # Prep
   * configure the ssh server to generally work
   # Testcase
   $ wget 
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1863930/+attachment/5332797/+files/test_bug_1863930.py
   $ apt install python3-paramiko
   $ python3 test_bug_1863930.py localhost (or whatever your host is)

   Will report "Server is not patched." or "Server is patched.

   * for an extra regression check it might be worth to do some "normal" ssh
     connections as well

  [Regression Potential]

   * The change is very small and reviewable as well as being upstream and
     in all Ubuntu releases >=Cosmic for a while now so it seems safe.
     If anything the kind of regression to expect is that some former
     (wrong) connection denials will then succeed. I can only think of
     that being an issue in test suites but not in the real world.

  [Other Info]

   * n/a

  --

  SSHD closes the connection and logs the error message below when a
  client presents a protoversion of "1.99":

  Protocol major versions differ for X.X.X.X port X:
  SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-XXX

  RFC 4253 only states that clients should treat a server's protoversion
  of "1.99" as equivalent to "2.0"; however, some backward-compatible
  clients send a protoversion of "1.99" and expect the server to treat
  it as "2.0".

  This regression was introduced in openssh-portable 7.6p1 from commit
  97f4d3083; fixes were implemented in commits 9e9c4a7e5 and c9c1bba06.
  I've attached a patch with both of those fixes.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1863930/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1863930] Re: SSH 1.99 clients fail to connect to openssh-server 1:7.6p1-4ubuntu0.3

2022-02-02 Thread Heitor Alves de Siqueira
** Changed in: openssh (Ubuntu Bionic)
   Status: Incomplete => In Progress

** Tags added: sts sts-sponsor-halves

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1863930

Title:
  SSH 1.99 clients fail to connect to openssh-server 1:7.6p1-4ubuntu0.3

Status in openssh package in Ubuntu:
  Fix Released
Status in openssh source package in Bionic:
  In Progress

Bug description:
  [Impact]

   * The version check in ssh was broken no more following RFC 4253 and
     thereby denying some clients that it shouldn't. 

 https://datatracker.ietf.org/doc/html/rfc4253#section-5.1

   * It is intended for clients reporting SSH-1.99 to be treated as if 
 they were advertising SSH-2.0, but with some backwards compatibility.

   * Upstream fixed that, and this request is to back-port the changes into
 18.04 Bionic.

   * In practice this is affecting clients using the SolarWinds
  monitoring agent. Solarwinds SSH client advertises SSH-1.99 and Ubuntu
  18.04 openssh-server is refusing the connection.

   * This results in the following error in the auth.log, and a failed
  connection from the agent.

  Protocol major versions differ for  port :
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-WeOnlyDo.Net

   * More information from SolarWinds at the link below. They call out
  18.04 as affected and recommend upgrading OpenSSH-server to 7.7 or
  greater.

  https://support.solarwinds.com/SuccessCenter/s/article/SAM-s-Linux-
  Unix-Script-monitor-fails-to-connect-on-a-server-running-
  OpenSSH-7-6?language=en_US

  [Test Case]

   # Prep
   * configure the ssh server to generally work
   # Testcase
   $ wget 
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1863930/+attachment/5332797/+files/test_bug_1863930.py
   $ apt install python3-paramiko
   $ python3 test_bug_1863930.py localhost (or whatever your host is)

   Will report "Server is not patched." or "Server is patched.

   * for an extra regression check it might be worth to do some "normal" ssh
     connections as well

  [Regression Potential]

   * The change is very small and reviewable as well as being upstream and
     in all Ubuntu releases >=Cosmic for a while now so it seems safe.
     If anything the kind of regression to expect is that some former
     (wrong) connection denials will then succeed. I can only think of
     that being an issue in test suites but not in the real world.

  [Other Info]

   * n/a

  --

  SSHD closes the connection and logs the error message below when a
  client presents a protoversion of "1.99":

  Protocol major versions differ for X.X.X.X port X:
  SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-XXX

  RFC 4253 only states that clients should treat a server's protoversion
  of "1.99" as equivalent to "2.0"; however, some backward-compatible
  clients send a protoversion of "1.99" and expect the server to treat
  it as "2.0".

  This regression was introduced in openssh-portable 7.6p1 from commit
  97f4d3083; fixes were implemented in commits 9e9c4a7e5 and c9c1bba06.
  I've attached a patch with both of those fixes.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1863930/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1863930] Re: SSH 1.99 clients fail to connect to openssh-server 1:7.6p1-4ubuntu0.3

2022-01-27 Thread Heitor Alves de Siqueira
** Changed in: openssh (Ubuntu Bionic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: openssh (Ubuntu Bionic)
   Importance: Low => High

** Changed in: openssh (Ubuntu Bionic)
   Importance: High => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1863930

Title:
  SSH 1.99 clients fail to connect to openssh-server 1:7.6p1-4ubuntu0.3

Status in openssh package in Ubuntu:
  Fix Released
Status in openssh source package in Bionic:
  Incomplete

Bug description:
  [Impact]

   * The version check in ssh was broken no more following RFC 4253 and
     thereby denying some clients that it shouldn't. 

 https://datatracker.ietf.org/doc/html/rfc4253#section-5.1

   * It is intended for clients reporting SSH-1.99 to be treated as if 
 they were advertising SSH-2.0, but with some backwards compatibility.

   * Upstream fixed that, and this request is to back-port the changes into
 18.04 Bionic.

   * In practice this is affecting clients using the SolarWinds
  monitoring agent. Solarwinds SSH client advertises SSH-1.99 and Ubuntu
  18.04 openssh-server is refusing the connection.

   * This results in the following error in the auth.log, and a failed
  connection from the agent.

  Protocol major versions differ for  port :
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-WeOnlyDo.Net

   * More information from SolarWinds at the link below. They call out
  18.04 as affected and recommend upgrading OpenSSH-server to 7.7 or
  greater.

  https://support.solarwinds.com/SuccessCenter/s/article/SAM-s-Linux-
  Unix-Script-monitor-fails-to-connect-on-a-server-running-
  OpenSSH-7-6?language=en_US

  [Test Case]

   # Prep
   * configure the ssh server to generally work
   # Testcase
   $ wget 
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1863930/+attachment/5332797/+files/test_bug_1863930.py
   $ apt install python3-paramiko
   $ python3 test_bug_1863930.py localhost (or whatever your host is)

   Will report "Server is not patched." or "Server is patched.

   * for an extra regression check it might be worth to do some "normal" ssh
     connections as well

  [Regression Potential]

   * The change is very small and reviewable as well as being upstream and
     in all Ubuntu releases >=Cosmic for a while now so it seems safe.
     If anything the kind of regression to expect is that some former
     (wrong) connection denials will then succeed. I can only think of
     that being an issue in test suites but not in the real world.

  [Other Info]

   * n/a

  --

  SSHD closes the connection and logs the error message below when a
  client presents a protoversion of "1.99":

  Protocol major versions differ for X.X.X.X port X:
  SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-XXX

  RFC 4253 only states that clients should treat a server's protoversion
  of "1.99" as equivalent to "2.0"; however, some backward-compatible
  clients send a protoversion of "1.99" and expect the server to treat
  it as "2.0".

  This regression was introduced in openssh-portable 7.6p1 from commit
  97f4d3083; fixes were implemented in commits 9e9c4a7e5 and c9c1bba06.
  I've attached a patch with both of those fixes.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1863930/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1920047] Re: sanlock global lock creation fail

2021-07-07 Thread Heitor Alves de Siqueira
We've determined this to be due to using disks with mixed sector sizes
(i.e. different physical and logical sector sizes). The mentioned patch
[0] enables lvmlockd to create shared leases in mixed sector sized
disks, but additional support is needed in sanlock for these to work
correctly.

The required sanlock patches are:
* d5e4def0d087 - sanlock: add flags to specify sector size [1]
* 445e86700fa3 - configurable sector size and align size [2]

If we don't have these additional sanlock patches, sanlock isn't able to
find the written leases due to alignment issues and ultimately those are
handled as invalid. Unfortunately, both sanlock patches are extensive
and change a lot of low-level internal structures, so providing them as
SRU updates would be prone to backporting errors and regressions.

Since both lvm2 and sanlock are working as expected with non-mixed
sector sizes, and the current versions actively prevent leases to be
written to mixed sector disks, we can consider that things are working
correctly. Support for mixed sector sizes should be considered a
"feature" instead, which is available starting with the versions below:

- lvm2: 2.03.10
- sanlock: 3.8.0

These versions are available in Ubuntu releases starting with Hirsute,
and have been provided as backports in focal-backports and groovy-
backports. Please refer to bug #1929432 and bug #1928708 for further
details on the -backports versions.

[0] https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=2d1fe38d84d4
[1] https://pagure.io/sanlock/c/d5e4def0d087
[2] https://pagure.io/sanlock/c/445e86700fa3


** Changed in: lvm2 (Ubuntu Focal)
   Status: Confirmed => Won't Fix

** Changed in: lvm2 (Ubuntu Groovy)
   Status: Confirmed => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to lvm2 in Ubuntu.
https://bugs.launchpad.net/bugs/1920047

Title:
  sanlock global lock creation fail

Status in lvm2 package in Ubuntu:
  Fix Released
Status in lvm2 source package in Focal:
  Won't Fix
Status in lvm2 source package in Groovy:
  Won't Fix

Bug description:
  Hello,

  Running Ubuntu server 20.04, I cannot create a shared VG using sanlock
  :

  # vgcreate --shared foo /dev/mapper/vol
Enabling sanlock global lock
Skipping global lock: lockspace not found or started
Logical volume "lvmlock" created.
VG foo init failed: -28
Failed to initialize lock args for lock type sanlock
Volume group "foo" successfully removed

  Messages in /var/log/syslog

  lvmlockd[446807]: 1616089866 WARNING: mixed block sizes physical 4096 logical 
512 (using 4096) for /dev/mapper/foo-lvmlock
  lvmlockd[446807]: 1616089866 S lvm_foo init_vg_san write_resource gl error 
-28 /dev/mapper/foo-lvmlock

  # lsb_release -rd
  Description:Ubuntu 20.04.2 LTS
  Release:20.04

  # dpkg -l | grep lvm
  ii  liblvm2cmd2.03:amd64 2.03.07-1ubuntu1 
 amd64LVM2 command library
  ii  lvm2 2.03.07-1ubuntu1 
 amd64Linux Logical Volume Manager
  ii  lvm2-lockd   2.03.07-1ubuntu1 
 amd64LVM locking daemon

  A similar bug report from RHEL8 :
  https://bugzilla.redhat.com/show_bug.cgi?id=1833837

  Bug has been fixed upstream :
  
https://sourceware.org/git/?p=lvm2.git;a=commit;h=2d1fe38d84d499011d13ae1ea11535398528fc87

  It seems to be included in version 2.03.10 :
  https://sourceware.org/git/?p=lvm2.git;a=shortlog;h=refs/tags/v2_03_10

  How can we get this patch included in Ubuntu 20.04 ?

  King Regards,

  Charles

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lvm2/+bug/1920047/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1920047] Re: sanlock global lock creation fail

2021-05-24 Thread Heitor Alves de Siqueira
** Changed in: lvm2 (Ubuntu)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: lvm2 (Ubuntu)
   Importance: Undecided => High

** Changed in: lvm2 (Ubuntu)
   Status: New => Fix Released

** Also affects: lvm2 (Ubuntu Focal)
   Importance: Undecided
   Status: New

** Also affects: lvm2 (Ubuntu Groovy)
   Importance: Undecided
   Status: New

** Changed in: lvm2 (Ubuntu Focal)
   Status: New => Confirmed

** Changed in: lvm2 (Ubuntu Groovy)
   Status: New => Confirmed

** Changed in: lvm2 (Ubuntu Focal)
   Importance: Undecided => High

** Changed in: lvm2 (Ubuntu Focal)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: lvm2 (Ubuntu Groovy)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: lvm2 (Ubuntu Groovy)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to lvm2 in Ubuntu.
https://bugs.launchpad.net/bugs/1920047

Title:
  sanlock global lock creation fail

Status in lvm2 package in Ubuntu:
  Fix Released
Status in lvm2 source package in Focal:
  Confirmed
Status in lvm2 source package in Groovy:
  Confirmed

Bug description:
  Hello,

  Running Ubuntu server 20.04, I cannot create a shared VG using sanlock
  :

  # vgcreate --shared foo /dev/mapper/vol
Enabling sanlock global lock
Skipping global lock: lockspace not found or started
Logical volume "lvmlock" created.
VG foo init failed: -28
Failed to initialize lock args for lock type sanlock
Volume group "foo" successfully removed

  Messages in /var/log/syslog

  lvmlockd[446807]: 1616089866 WARNING: mixed block sizes physical 4096 logical 
512 (using 4096) for /dev/mapper/foo-lvmlock
  lvmlockd[446807]: 1616089866 S lvm_foo init_vg_san write_resource gl error 
-28 /dev/mapper/foo-lvmlock

  # lsb_release -rd
  Description:Ubuntu 20.04.2 LTS
  Release:20.04

  # dpkg -l | grep lvm
  ii  liblvm2cmd2.03:amd64 2.03.07-1ubuntu1 
 amd64LVM2 command library
  ii  lvm2 2.03.07-1ubuntu1 
 amd64Linux Logical Volume Manager
  ii  lvm2-lockd   2.03.07-1ubuntu1 
 amd64LVM locking daemon

  A similar bug report from RHEL8 :
  https://bugzilla.redhat.com/show_bug.cgi?id=1833837

  Bug has been fixed upstream :
  
https://sourceware.org/git/?p=lvm2.git;a=commit;h=2d1fe38d84d499011d13ae1ea11535398528fc87

  It seems to be included in version 2.03.10 :
  https://sourceware.org/git/?p=lvm2.git;a=shortlog;h=refs/tags/v2_03_10

  How can we get this patch included in Ubuntu 20.04 ?

  King Regards,

  Charles

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lvm2/+bug/1920047/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1920047] Re: sanlock global lock creation fail

2021-04-13 Thread Heitor Alves de Siqueira
** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to lvm2 in Ubuntu.
https://bugs.launchpad.net/bugs/1920047

Title:
  sanlock global lock creation fail

Status in lvm2 package in Ubuntu:
  New

Bug description:
  Hello,

  Running Ubuntu server 20.04, I cannot create a shared VG using sanlock
  :

  # vgcreate --shared foo /dev/mapper/vol
Enabling sanlock global lock
Skipping global lock: lockspace not found or started
Logical volume "lvmlock" created.
VG foo init failed: -28
Failed to initialize lock args for lock type sanlock
Volume group "foo" successfully removed

  Messages in /var/log/syslog

  lvmlockd[446807]: 1616089866 WARNING: mixed block sizes physical 4096 logical 
512 (using 4096) for /dev/mapper/foo-lvmlock
  lvmlockd[446807]: 1616089866 S lvm_foo init_vg_san write_resource gl error 
-28 /dev/mapper/foo-lvmlock

  # lsb_release -rd
  Description:Ubuntu 20.04.2 LTS
  Release:20.04

  # dpkg -l | grep lvm
  ii  liblvm2cmd2.03:amd64 2.03.07-1ubuntu1 
 amd64LVM2 command library
  ii  lvm2 2.03.07-1ubuntu1 
 amd64Linux Logical Volume Manager
  ii  lvm2-lockd   2.03.07-1ubuntu1 
 amd64LVM locking daemon

  A similar bug report from RHEL8 :
  https://bugzilla.redhat.com/show_bug.cgi?id=1833837

  Bug has been fixed upstream :
  
https://sourceware.org/git/?p=lvm2.git;a=commit;h=2d1fe38d84d499011d13ae1ea11535398528fc87

  It seems to be included in version 2.03.10 :
  https://sourceware.org/git/?p=lvm2.git;a=shortlog;h=refs/tags/v2_03_10

  How can we get this patch included in Ubuntu 20.04 ?

  King Regards,

  Charles

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lvm2/+bug/1920047/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1825186] Re: gpgv-win32 autopkgtest always fails

2021-02-22 Thread Heitor Alves de Siqueira
Autopkgtest failures for gnupg2 on armhf have been fixed with a re-run,
so it was likely due to a flaky testbed setup.

Failures for libgnupg-interface-perl are the result of the upstream test
suite and very unlikely to be related to this SRU. I've opened bug
1916499 to investigate those separately.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gnupg in Ubuntu.
https://bugs.launchpad.net/bugs/1825186

Title:
  gpgv-win32 autopkgtest always fails

Status in gnupg package in Ubuntu:
  Invalid
Status in gnupg2 package in Ubuntu:
  Fix Released
Status in gnupg source package in Xenial:
  Won't Fix
Status in gnupg2 source package in Bionic:
  Fix Committed
Status in gnupg2 source package in Cosmic:
  Won't Fix
Status in gnupg2 source package in Disco:
  Fix Released

Bug description:
  [impact]

  gpgv-win32 autopkgtest always fails

  [test case]

  check http://autopkgtest.ubuntu.com/packages/g/gnupg2

  or run autopkgtest manually

  note the gpgv-win32 test is skipped on ppc64el and s390x for b/c, and
  has been removed from d/t/control entirely in d

  [regression potential]

  little to none; this affects the test case only

  [other info]

  as mentioned, in disco, the gpgv-win32 test has been removed from the
  tests/control completely.  not sure if that is a better approach than
  fixing the test case.  For now, I marked this Fix Released for disco
  since it doesn't fail there (since the testcase was removed).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnupg/+bug/1825186/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1825186] Re: gpgv-win32 autopkgtest always fails

2021-02-19 Thread Heitor Alves de Siqueira
I can see autopkgtest completing successfully for most archs on
http://autopkgtest.ubuntu.com/packages/g/gnupg2 for the new Bionic
release, so I'll mark this as verified.

I'm still looking into the regressions for armhf and for libgnupg-
interface-perl, but the latter seems to have been broken since 2018.

** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gnupg in Ubuntu.
https://bugs.launchpad.net/bugs/1825186

Title:
  gpgv-win32 autopkgtest always fails

Status in gnupg package in Ubuntu:
  Invalid
Status in gnupg2 package in Ubuntu:
  Fix Released
Status in gnupg source package in Xenial:
  Won't Fix
Status in gnupg2 source package in Bionic:
  Fix Committed
Status in gnupg2 source package in Cosmic:
  Won't Fix
Status in gnupg2 source package in Disco:
  Fix Released

Bug description:
  [impact]

  gpgv-win32 autopkgtest always fails

  [test case]

  check http://autopkgtest.ubuntu.com/packages/g/gnupg2

  or run autopkgtest manually

  note the gpgv-win32 test is skipped on ppc64el and s390x for b/c, and
  has been removed from d/t/control entirely in d

  [regression potential]

  little to none; this affects the test case only

  [other info]

  as mentioned, in disco, the gpgv-win32 test has been removed from the
  tests/control completely.  not sure if that is a better approach than
  fixing the test case.  For now, I marked this Fix Released for disco
  since it doesn't fail there (since the testcase was removed).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnupg/+bug/1825186/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1895757] Re: Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

2020-10-23 Thread Heitor Alves de Siqueira
Verified according to test case from description:

halves@bionic-vm:~$ sudo grep use_pty /etc/sudoers
Defaultsuse_pty
halves@bionic-vm:~$ dpkg -l | grep sudo
ii  sudo 1.8.21p2-3ubuntu1.3
 amd64Provide limited super user privileges to specific users
halves@bionic-vm:~$ for i in {1..10}; do sudo -- cat /var/log/syslog; done

Oct  1 14:37:40 bionic-vm kernel: [0.00] Linux version 
4.15.0-118-generic (buildd@lgw01-amd64-039) (gcc version 7.5.0 (Ubuntu 
7.5.0-3ubuntu1~18.04)) #119-Ubuntu SMP Tue Sep 8 12:30:01 UTC 2020 (Ubuntu 
4.15.0-118.119-generic 4.15.18)
O

Oct 23 15:53:15 bionic-vm systemd[1]: Started User Manager for UID 1000.
Oct 23 15:53:15 bionic-vm systemd[1810]: Reached target Default.
Oct 23 15:53:15 bionic-vm systemd[1810]: Startup finished in 30ms.
halves@bionic-vm:~$


** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/1895757

Title:
  Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

Status in sudo package in Ubuntu:
  Fix Released
Status in sudo source package in Bionic:
  Fix Committed

Bug description:
  [Impact]
  sudo commands can hang when IO logging is enabled

  [Description]
  When doing cleanup in pty_close(), sudo can leave file descriptors and events
  behind that would later cause poll() to wait on a "dead" pty. This can cause
  sudo to hang when IO logging is enabled, due to the poll() timeouts.

  The issue has been fixed upstream by the commit below:
  - In pty_close() close the slave and remove any events associated 
(4df454310dae)

  $ git describe --contains 4df454310dae96d01d09a05be89dc8c57fd4cef7
  SUDO_1_8_23

  $ rmadison sudo
   sudo | 1.8.16-0ubuntu1 | xenial   | source, ...
   sudo | 1.8.16-0ubuntu1.9   | xenial-security  | source, ...
   sudo | 1.8.16-0ubuntu1.9   | xenial-updates   | source, ...
   sudo | 1.8.21p2-3ubuntu1   | bionic   | source, ...
   sudo | 1.8.21p2-3ubuntu1.2 | bionic-security  | source, ...
   => sudo | 1.8.21p2-3ubuntu1.2 | bionic-updates   | source, ... <
   sudo | 1.8.31-1ubuntu1 | focal| source, ...
   sudo | 1.8.31-1ubuntu1.1   | focal-updates| source, ...
   sudo | 1.9.1-1ubuntu1  | groovy   | source, ...

  Xenial doesn't exhibit this behaviour, so fixes are only needed for Bionic
  (Focal onwards already have the fix by default due to sudo version).

  [Test Case]

  1. Ensure /etc/sudoers contains 'Defaults use_pty'
  2. Execute the following test command:
  $ for i in {1..10}; do sudo -- cat /var/log/syslog; done

  The terminal will hang during syslog output.

  [Regression Potential]
  The fix introduces additional cleaning when closing/flushing pty devices, so 
the
  regression potential should be low. It has been present upstream since
  sudo-1.8.23, so it has seen thorough testing in most Linux distributions
  including Ubuntu.

  A regression could possibly cause issues when switching back out from sudo
  sessions, as the changes only touch the pty_close path, but seems unlikely
  considering the patch has been present in other Ubuntu releases as well.

  --
  An SSH terminal into an Ubuntu server (tested on 18.04.5) hangs running a 
command using 'sudo' when 'use_pty' is set in /etc/sudoers.

  Steps to reproduce ('sudo' version --> 1.8.21p2-3ubuntu1.2):

  1) Log in into an Ubuntu server (tested on 18.04.5 using SSH)
  2) Ensure that /etc/sudoers has the following line (add this line if not 
present)
  Defaults  use_pty
  3) Execute the following (test 'sudo' command):
  for i in {1..10}; do sudo -- cat /var/log/syslog; done

  The terminal hangs and the following backtrace is obtained:

  (gdb) bt
  #0  0x7f751d5c8cc4 in __GI___poll (fds=0x55d0159917b0, nfds=1, 
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  #1  0x7f751d8b146a in poll (__timeout=, __nfds=, __fds=) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
  #2  sudo_ev_scan_impl (base=base@entry=0x55d015990dc0, flags=flags@entry=0) 
at ../../../lib/util/event_poll.c:155
  #3  0x7f751d8aa74d in sudo_ev_loop_v1 (base=base@entry=0x55d015990dc0, 
flags=flags@entry=0) at ../../../lib/util/event.c:617
  #4  0x55d01570597a in del_io_events (nonblocking=nonblocking@entry=false) 
at ../../src/exec_pty.c:1537
  #5  0x55d015707b97 in pty_close (cstat=0x7ffd074d6110) at 
../../src/exec_pty.c:697
  #6  exec_pty (details=details@entry=0x55d01591e0e0 , 
cstat=cstat@entry=0x7ffd074d6110) at ../../src/exec_pty.c:1412
  #7  0x55d015701178 in sudo_execute (details=0x55d01591e0e0 
, cstat=0x7ffd074d6110) at ../../src/exec.c:391
  #8  0x55d01570e15b in run_command (details=0x55d01591e0e0 
) at ../../src/sudo.c:968
  #9  0x55d0156ff9a0 in main (argc=, argv=, 

[Touch-packages] [Bug 1895757] Re: Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

2020-09-23 Thread Heitor Alves de Siqueira
Builds for this patchset have been uploaded to:
https://launchpad.net/~halves/+archive/ubuntu/lp1895757

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/1895757

Title:
  Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

Status in sudo package in Ubuntu:
  Fix Released
Status in sudo source package in Bionic:
  In Progress

Bug description:
  [Impact]
  sudo commands can hang when IO logging is enabled

  [Description]
  When doing cleanup in pty_close(), sudo can leave file descriptors and events
  behind that would later cause poll() to wait on a "dead" pty. This can cause
  sudo to hang when IO logging is enabled, due to the poll() timeouts.

  The issue has been fixed upstream by the commit below:
  - In pty_close() close the slave and remove any events associated 
(4df454310dae)

  $ rmadison sudo
   sudo | 1.8.16-0ubuntu1 | xenial   | source, ...
   sudo | 1.8.16-0ubuntu1.9   | xenial-security  | source, ...
   sudo | 1.8.16-0ubuntu1.9   | xenial-updates   | source, ...
   sudo | 1.8.21p2-3ubuntu1   | bionic   | source, ...
   sudo | 1.8.21p2-3ubuntu1.2 | bionic-security  | source, ...
   sudo | 1.8.21p2-3ubuntu1.2 | bionic-updates   | source, ... <
   sudo | 1.8.31-1ubuntu1 | focal| source, ...
   sudo | 1.8.31-1ubuntu1.1   | focal-updates| source, ...
   sudo | 1.9.1-1ubuntu1  | groovy   | source, ...

  Xenial doesn't exhibit this behaviour, so fixes are only needed for Bionic
  (Focal onwards already have the fix by default due to sudo version).

  [Test Case]

  1. Ensure /etc/sudoers contains 'Defaults use_pty'
  2. Execute the following test command:
  $ for i in {1..10}; do sudo -- cat /var/log/syslog; done

  The terminal will hang during syslog output.

  [Regression Potential]
  The fix introduces additional cleaning when closing/flushing pty devices, so 
the
  regression potential should be low. It has been present upstream since
  sudo-1.8.23, so it has seen thorough testing in most Linux distributions
  including Ubuntu.

  A regression could possibly cause issues when switching back out from sudo
  sessions, as the changes only touch the pty_close path, but seems unlikely
  considering the patch has been present in other Ubuntu releases as well.

  --
  An SSH terminal into an Ubuntu server (tested on 18.04.5) hangs running a 
command using 'sudo' when 'use_pty' is set in /etc/sudoers.

  Steps to reproduce ('sudo' version --> 1.8.21p2-3ubuntu1.2):

  1) Log in into an Ubuntu server (tested on 18.04.5 using SSH)
  2) Ensure that /etc/sudoers has the following line (add this line if not 
present)
  Defaults  use_pty
  3) Execute the following (test 'sudo' command):
  for i in {1..10}; do sudo -- cat /var/log/syslog; done

  The terminal hangs and the following backtrace is obtained:

  (gdb) bt
  #0  0x7f751d5c8cc4 in __GI___poll (fds=0x55d0159917b0, nfds=1, 
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  #1  0x7f751d8b146a in poll (__timeout=, __nfds=, __fds=) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
  #2  sudo_ev_scan_impl (base=base@entry=0x55d015990dc0, flags=flags@entry=0) 
at ../../../lib/util/event_poll.c:155
  #3  0x7f751d8aa74d in sudo_ev_loop_v1 (base=base@entry=0x55d015990dc0, 
flags=flags@entry=0) at ../../../lib/util/event.c:617
  #4  0x55d01570597a in del_io_events (nonblocking=nonblocking@entry=false) 
at ../../src/exec_pty.c:1537
  #5  0x55d015707b97 in pty_close (cstat=0x7ffd074d6110) at 
../../src/exec_pty.c:697
  #6  exec_pty (details=details@entry=0x55d01591e0e0 , 
cstat=cstat@entry=0x7ffd074d6110) at ../../src/exec_pty.c:1412
  #7  0x55d015701178 in sudo_execute (details=0x55d01591e0e0 
, cstat=0x7ffd074d6110) at ../../src/exec.c:391
  #8  0x55d01570e15b in run_command (details=0x55d01591e0e0 
) at ../../src/sudo.c:968
  #9  0x55d0156ff9a0 in main (argc=, argv=, 
envp=) at ../../src/sudo.c:294

  A similar (most likely the same) bug has been reported here
  https://access.redhat.com/solutions/3404401.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/1895757/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1895757] Re: Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

2020-09-23 Thread Heitor Alves de Siqueira
** Tags added: sts-sponsor

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/1895757

Title:
  Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

Status in sudo package in Ubuntu:
  Fix Released
Status in sudo source package in Bionic:
  In Progress

Bug description:
  [Impact]
  sudo commands can hang when IO logging is enabled

  [Description]
  When doing cleanup in pty_close(), sudo can leave file descriptors and events
  behind that would later cause poll() to wait on a "dead" pty. This can cause
  sudo to hang when IO logging is enabled, due to the poll() timeouts.

  The issue has been fixed upstream by the commit below:
  - In pty_close() close the slave and remove any events associated 
(4df454310dae)

  $ rmadison sudo
   sudo | 1.8.16-0ubuntu1 | xenial   | source, ...
   sudo | 1.8.16-0ubuntu1.9   | xenial-security  | source, ...
   sudo | 1.8.16-0ubuntu1.9   | xenial-updates   | source, ...
   sudo | 1.8.21p2-3ubuntu1   | bionic   | source, ...
   sudo | 1.8.21p2-3ubuntu1.2 | bionic-security  | source, ...
   sudo | 1.8.21p2-3ubuntu1.2 | bionic-updates   | source, ... <
   sudo | 1.8.31-1ubuntu1 | focal| source, ...
   sudo | 1.8.31-1ubuntu1.1   | focal-updates| source, ...
   sudo | 1.9.1-1ubuntu1  | groovy   | source, ...

  Xenial doesn't exhibit this behaviour, so fixes are only needed for Bionic
  (Focal onwards already have the fix by default due to sudo version).

  [Test Case]

  1. Ensure /etc/sudoers contains 'Defaults use_pty'
  2. Execute the following test command:
  $ for i in {1..10}; do sudo -- cat /var/log/syslog; done

  The terminal will hang during syslog output.

  [Regression Potential]
  The fix introduces additional cleaning when closing/flushing pty devices, so 
the
  regression potential should be low. It has been present upstream since
  sudo-1.8.23, so it has seen thorough testing in most Linux distributions
  including Ubuntu.

  A regression could possibly cause issues when switching back out from sudo
  sessions, as the changes only touch the pty_close path, but seems unlikely
  considering the patch has been present in other Ubuntu releases as well.

  --
  An SSH terminal into an Ubuntu server (tested on 18.04.5) hangs running a 
command using 'sudo' when 'use_pty' is set in /etc/sudoers.

  Steps to reproduce ('sudo' version --> 1.8.21p2-3ubuntu1.2):

  1) Log in into an Ubuntu server (tested on 18.04.5 using SSH)
  2) Ensure that /etc/sudoers has the following line (add this line if not 
present)
  Defaults  use_pty
  3) Execute the following (test 'sudo' command):
  for i in {1..10}; do sudo -- cat /var/log/syslog; done

  The terminal hangs and the following backtrace is obtained:

  (gdb) bt
  #0  0x7f751d5c8cc4 in __GI___poll (fds=0x55d0159917b0, nfds=1, 
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  #1  0x7f751d8b146a in poll (__timeout=, __nfds=, __fds=) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
  #2  sudo_ev_scan_impl (base=base@entry=0x55d015990dc0, flags=flags@entry=0) 
at ../../../lib/util/event_poll.c:155
  #3  0x7f751d8aa74d in sudo_ev_loop_v1 (base=base@entry=0x55d015990dc0, 
flags=flags@entry=0) at ../../../lib/util/event.c:617
  #4  0x55d01570597a in del_io_events (nonblocking=nonblocking@entry=false) 
at ../../src/exec_pty.c:1537
  #5  0x55d015707b97 in pty_close (cstat=0x7ffd074d6110) at 
../../src/exec_pty.c:697
  #6  exec_pty (details=details@entry=0x55d01591e0e0 , 
cstat=cstat@entry=0x7ffd074d6110) at ../../src/exec_pty.c:1412
  #7  0x55d015701178 in sudo_execute (details=0x55d01591e0e0 
, cstat=0x7ffd074d6110) at ../../src/exec.c:391
  #8  0x55d01570e15b in run_command (details=0x55d01591e0e0 
) at ../../src/sudo.c:968
  #9  0x55d0156ff9a0 in main (argc=, argv=, 
envp=) at ../../src/sudo.c:294

  A similar (most likely the same) bug has been reported here
  https://access.redhat.com/solutions/3404401.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/1895757/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1895757] Re: Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

2020-09-23 Thread Heitor Alves de Siqueira
** Description changed:

- An SSH terminal into an Ubuntu server (tested on 18.04.5) hangs running
- a command using 'sudo' when 'use_pty' is set in /etc/sudoers.
+ [Impact]
+ sudo commands can hang when IO logging is enabled
+ 
+ [Description]
+ When doing cleanup in pty_close(), sudo can leave file descriptors and events
+ behind that would later cause poll() to wait on a "dead" pty. This can cause
+ sudo to hang when IO logging is enabled, due to the poll() timeouts.
+ 
+ The issue has been fixed upstream by the commit below:
+ - In pty_close() close the slave and remove any events associated 
(4df454310dae)
+ 
+ $ rmadison sudo
+  sudo | 1.8.16-0ubuntu1 | xenial   | source, ...
+  sudo | 1.8.16-0ubuntu1.9   | xenial-security  | source, ...
+  sudo | 1.8.16-0ubuntu1.9   | xenial-updates   | source, ...
+  sudo | 1.8.21p2-3ubuntu1   | bionic   | source, ...
+  sudo | 1.8.21p2-3ubuntu1.2 | bionic-security  | source, ...
+  sudo | 1.8.21p2-3ubuntu1.2 | bionic-updates   | source, ... <
+  sudo | 1.8.31-1ubuntu1 | focal| source, ...
+  sudo | 1.8.31-1ubuntu1.1   | focal-updates| source, ...
+  sudo | 1.9.1-1ubuntu1  | groovy   | source, ...
+ 
+ Xenial doesn't exhibit this behaviour, so fixes are only needed for Bionic
+ (Focal onwards already have the fix by default due to sudo version).
+ 
+ [Test Case]
+ 
+ 1. Ensure /etc/sudoers contains 'Defaults use_pty'
+ 2. Execute the following test command:
+ $ for i in {1..10}; do sudo -- cat /var/log/syslog; done
+ 
+ The terminal will hang during syslog output.
+ 
+ [Regression Potential]
+ The fix introduces additional cleaning when closing/flushing pty devices, so 
the
+ regression potential should be low. It has been present upstream since
+ sudo-1.8.23, so it has seen thorough testing in most Linux distributions
+ including Ubuntu.
+ 
+ A regression could possibly cause issues when switching back out from sudo
+ sessions, as the changes only touch the pty_close path, but seems unlikely
+ considering the patch has been present in other Ubuntu releases as well.
+ 
+ --
+ An SSH terminal into an Ubuntu server (tested on 18.04.5) hangs running a 
command using 'sudo' when 'use_pty' is set in /etc/sudoers.
  
  Steps to reproduce ('sudo' version --> 1.8.21p2-3ubuntu1.2):
  
  1) Log in into an Ubuntu server (tested on 18.04.5 using SSH)
  2) Ensure that /etc/sudoers has the following line (add this line if not 
present)
  Defaults  use_pty
  3) Execute the following (test 'sudo' command):
  for i in {1..10}; do sudo -- cat /var/log/syslog; done
  
  The terminal hangs and the following backtrace is obtained:
  
  (gdb) bt
  #0  0x7f751d5c8cc4 in __GI___poll (fds=0x55d0159917b0, nfds=1, 
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  #1  0x7f751d8b146a in poll (__timeout=, __nfds=, __fds=) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
  #2  sudo_ev_scan_impl (base=base@entry=0x55d015990dc0, flags=flags@entry=0) 
at ../../../lib/util/event_poll.c:155
  #3  0x7f751d8aa74d in sudo_ev_loop_v1 (base=base@entry=0x55d015990dc0, 
flags=flags@entry=0) at ../../../lib/util/event.c:617
  #4  0x55d01570597a in del_io_events (nonblocking=nonblocking@entry=false) 
at ../../src/exec_pty.c:1537
  #5  0x55d015707b97 in pty_close (cstat=0x7ffd074d6110) at 
../../src/exec_pty.c:697
  #6  exec_pty (details=details@entry=0x55d01591e0e0 , 
cstat=cstat@entry=0x7ffd074d6110) at ../../src/exec_pty.c:1412
  #7  0x55d015701178 in sudo_execute (details=0x55d01591e0e0 
, cstat=0x7ffd074d6110) at ../../src/exec.c:391
  #8  0x55d01570e15b in run_command (details=0x55d01591e0e0 
) at ../../src/sudo.c:968
  #9  0x55d0156ff9a0 in main (argc=, argv=, 
envp=) at ../../src/sudo.c:294
  
  A similar (most likely the same) bug has been reported here
  https://access.redhat.com/solutions/3404401.

** Changed in: sudo (Ubuntu)
   Status: New => Fix Released

** Changed in: sudo (Ubuntu Bionic)
   Status: New => In Progress

** Changed in: sudo (Ubuntu Bionic)
   Importance: Undecided => High

** Changed in: sudo (Ubuntu Bionic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/1895757

Title:
  Terminal hangs running sudo when "use_pty" is set in /etc/sudoers

Status in sudo package in Ubuntu:
  Fix Released
Status in sudo source package in Bionic:
  In Progress

Bug description:
  [Impact]
  sudo commands can hang when IO logging is enabled

  [Description]
  When doing cleanup in pty_close(), sudo can leave file descriptors and events
  behind that would later cause poll() to wait on a "dead" pty. This can cause
  sudo to hang when IO logging is enabled, due to the poll() timeouts.

  The issue has been fixed upstream by the commit below:
 

[Touch-packages] [Bug 1876600] Re: cookie overruns can cause org.freedesktop.systemd1 dbus to hang

2020-09-09 Thread Heitor Alves de Siqueira
Validated systemd/229-4ubuntu21.29 from xenial-proposed, according to
test case from description:

ubuntu@systemd-cookie-xenial:~$ dpkg -l systemd | grep systemd
ii  systemd229-4ubuntu21.29 amd64system and service manager
ubuntu@systemd-cookie-xenial:~$ gcc -Wall test.c -o cookie -lsystemd -g
ubuntu@systemd-cookie-xenial:~$ gdb --batch --command=test.gdb --args ./cookie
Breakpoint 1 at 0x400ddb: file test.c, line 38.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(65s) cookie: 0x0001reply-cookie: 0x0001

Breakpoint 1, print_unit_path (bus=0x603040) at test.c:38
38  r = sd_bus_message_new_method_call(bus, ,
$1 = 0x1
$2 = 0xff00
(65s) cookie: 0x8000reply-cookie: 0x8000
(129s) cookie: 0x8001   reply-cookie: 0x8001
(188s) cookie: 0x8002   reply-cookie: 0x8002


** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns can cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Fix Committed
Status in systemd source package in Bionic:
  Fix Released

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.

  This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)

  $ git describe --contains 1f82f5bb4237
  v242-rc1~228

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...

  Releases starting with Eoan already have this fix.

  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
  Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:

  1. Create a new system bus object through sd_bus_default_system()
  2. Allocate and append a new method_call message to the bus
  3. Send the message through sd_bus_call()
  4. Handle the response message and free up the message objects

  It's essentially the example code from the
  sd_bus_message_new_method_call() manpage, with minor modifications:
  this is done continuously, to keep incrementing the bus cookie value.
  We step in with GDB when it reaches 0x1, and set its value to
  0xff00 which then causes the test program to fail shortly
  afterwards. An example test run of an impacted system:

  ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
  ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
  Breakpoint 1 at 0xe61: file test.c, line 38.
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  (16s) cookie: 0x0001reply-cookie: 0x0001

  Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
  38  r = sd_bus_message_new_method_call(bus, ,
  $1 = 0x1
  $2 = 0xff00
  Call failed: Operation not supported
  Sleeping and retrying...
  Call failed: Invalid argument
  Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.

  Program received signal SIGABRT, Aborted.
  __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
  51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

  To compile and debug the test 

[Touch-packages] [Bug 1876600] Re: cookie overruns can cause org.freedesktop.systemd1 dbus to hang

2020-05-22 Thread Heitor Alves de Siqueira
Validated systemd 237-3ubuntu10.41 from bionic-proposed, according to
test case from bug description:

ubuntu@systemd-cookie-bionic:~$ dpkg -l systemd | grep systemd
ii  systemd237-3ubuntu10.41 amd64system and service manager
ubuntu@systemd-cookie-bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
ubuntu@systemd-cookie-bionic:~$ gdb --batch --command=test.gdb --args ./cookie
Breakpoint 1 at 0xe61: file test.c, line 38.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(15s) cookie: 0x0001reply-cookie: 0x0001

Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
38  r = sd_bus_message_new_method_call(bus, ,
$1 = 0x1
$2 = 0xff00
(15s) cookie: 0x8000reply-cookie: 0x8000
(29s) cookie: 0x8001reply-cookie: 0x8001
(43s) cookie: 0x8002reply-cookie: 0x8002


** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns can cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  In Progress
Status in systemd source package in Bionic:
  Fix Committed

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.

  This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)

  $ git describe --contains 1f82f5bb4237
  v242-rc1~228

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...

  Releases starting with Eoan already have this fix.

  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
  Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:

  1. Create a new system bus object through sd_bus_default_system()
  2. Allocate and append a new method_call message to the bus
  3. Send the message through sd_bus_call()
  4. Handle the response message and free up the message objects

  It's essentially the example code from the
  sd_bus_message_new_method_call() manpage, with minor modifications:
  this is done continuously, to keep incrementing the bus cookie value.
  We step in with GDB when it reaches 0x1, and set its value to
  0xff00 which then causes the test program to fail shortly
  afterwards. An example test run of an impacted system:

  ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
  ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
  Breakpoint 1 at 0xe61: file test.c, line 38.
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  (16s) cookie: 0x0001reply-cookie: 0x0001

  Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
  38  r = sd_bus_message_new_method_call(bus, ,
  $1 = 0x1
  $2 = 0xff00
  Call failed: Operation not supported
  Sleeping and retrying...
  Call failed: Invalid argument
  Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.

  Program received signal SIGABRT, Aborted.
  __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
  51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

  To compile and debug the 

[Touch-packages] [Bug 1876600] Re: cookie overruns can cause org.freedesktop.systemd1 dbus to hang

2020-05-05 Thread Heitor Alves de Siqueira
** Changed in: systemd (Ubuntu Xenial)
   Status: Confirmed => In Progress

** Changed in: systemd (Ubuntu Bionic)
   Status: Confirmed => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns can cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  In Progress
Status in systemd source package in Bionic:
  In Progress

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.

  This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)

  $ git describe --contains 1f82f5bb4237
  v242-rc1~228

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...

  Releases starting with Eoan already have this fix.

  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
  Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:

  1. Create a new system bus object through sd_bus_default_system()
  2. Allocate and append a new method_call message to the bus
  3. Send the message through sd_bus_call()
  4. Handle the response message and free up the message objects

  It's essentially the example code from the
  sd_bus_message_new_method_call() manpage, with minor modifications:
  this is done continuously, to keep incrementing the bus cookie value.
  We step in with GDB when it reaches 0x1, and set its value to
  0xff00 which then causes the test program to fail shortly
  afterwards. An example test run of an impacted system:

  ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
  ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
  Breakpoint 1 at 0xe61: file test.c, line 38.
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  (16s) cookie: 0x0001reply-cookie: 0x0001

  Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
  38  r = sd_bus_message_new_method_call(bus, ,
  $1 = 0x1
  $2 = 0xff00
  Call failed: Operation not supported
  Sleeping and retrying...
  Call failed: Invalid argument
  Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.

  Program received signal SIGABRT, Aborted.
  __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
  51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

  To compile and debug the test case above, libsystemd-dev and 
libsystemd0-dbgsym are required.
  Both test.c and test.gdb source code are attached to this LP bug.

  [Regression Potential]
  This fix introduces some changes in the way cookie incrementation is handled. 
We now have a reduced number of available values, since the patch makes use of 
a high order bit to indicate whether we have overflowed or not. Potential 
issues could arise from two distinct messages repeating the cookie value, or 
from us not handling the cookie reuse properly. In practice, this shouldn't 
cause serious problems as most dbus messages should not stall long enough for a 
possible overlap in the 2^31 space. The patch has been present in other stable 
Ubuntu Series and upstream, and has been validated and tested through the 
systemd test suite and autopkgtests.

To manage notifications about this bug go to:

[Touch-packages] [Bug 1876600] Re: cookie overruns can cause org.freedesktop.systemd1 dbus to hang

2020-05-05 Thread Heitor Alves de Siqueira
** Description changed:

  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.
  
  [Description]
  Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.
  
  This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)
  
  $ git describe --contains 1f82f5bb4237
  v242-rc1~228
  
  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...
  
  Releases starting with Eoan already have this fix.
  
  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
  Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:
  
  1. Create a new system bus object through sd_bus_default_system()
  2. Allocate and append a new method_call message to the bus
  3. Send the message through sd_bus_call()
  4. Handle the response message and free up the message objects
  
  It's essentially the example code from the
  sd_bus_message_new_method_call() manpage, with minor modifications: this
  is done continuously, to keep incrementing the bus cookie value. We step
  in with GDB when it reaches 0x1, and set its value to 0xff00
  which then causes the test program to fail shortly afterwards. An
  example test run of an impacted system:
  
  ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
  ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
  Breakpoint 1 at 0xe61: file test.c, line 38.
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  (16s) cookie: 0x0001reply-cookie: 0x0001
  
  Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
  38  r = sd_bus_message_new_method_call(bus, ,
  $1 = 0x1
  $2 = 0xff00
  Call failed: Operation not supported
  Sleeping and retrying...
  Call failed: Invalid argument
  Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.
  
  Program received signal SIGABRT, Aborted.
  __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
  51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
- u
  
  To compile and debug the test case above, libsystemd-dev and 
libsystemd0-dbgsym are required.
  Both test.c and test.gdb source code are attached to this LP bug.
  
  [Regression Potential]
  This fix introduces some changes in the way cookie incrementation is handled. 
We now have a reduced number of available values, since the patch makes use of 
a high order bit to indicate whether we have overflowed or not. Potential 
issues could arise from two distinct messages repeating the cookie value, or 
from us not handling the cookie reuse properly. In practice, this shouldn't 
cause serious problems as most dbus messages should not stall long enough for a 
possible overlap in the 2^31 space. The patch has been present in other stable 
Ubuntu Series and upstream, and has been validated and tested through the 
systemd test suite and autopkgtests.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns can cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  In Progress
Status in systemd source package in Bionic:
  In Progress

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages 

[Touch-packages] [Bug 1876600] Re: cookie overruns can cause org.freedesktop.systemd1 dbus to hang

2020-05-05 Thread Heitor Alves de Siqueira
Test builds for the proposed merge can be found at the lp1876600 PPA
[0].

[0] https://launchpad.net/~halves/+archive/ubuntu/lp1876600

** Tags added: sts-sponsor

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns can cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Confirmed
Status in systemd source package in Bionic:
  Confirmed

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.

  This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)

  $ git describe --contains 1f82f5bb4237
  v242-rc1~228

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...

  Releases starting with Eoan already have this fix.

  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
  Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:

  1. Create a new system bus object through sd_bus_default_system()
  2. Allocate and append a new method_call message to the bus
  3. Send the message through sd_bus_call()
  4. Handle the response message and free up the message objects

  It's essentially the example code from the
  sd_bus_message_new_method_call() manpage, with minor modifications:
  this is done continuously, to keep incrementing the bus cookie value.
  We step in with GDB when it reaches 0x1, and set its value to
  0xff00 which then causes the test program to fail shortly
  afterwards. An example test run of an impacted system:

  ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
  ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
  Breakpoint 1 at 0xe61: file test.c, line 38.
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  (16s) cookie: 0x0001reply-cookie: 0x0001

  Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
  38  r = sd_bus_message_new_method_call(bus, ,
  $1 = 0x1
  $2 = 0xff00
  Call failed: Operation not supported
  Sleeping and retrying...
  Call failed: Invalid argument
  Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.

  Program received signal SIGABRT, Aborted.
  __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
  51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
  u

  To compile and debug the test case above, libsystemd-dev and 
libsystemd0-dbgsym are required.
  Both test.c and test.gdb source code are attached to this LP bug.

  [Regression Potential]
  This fix introduces some changes in the way cookie incrementation is handled. 
We now have a reduced number of available values, since the patch makes use of 
a high order bit to indicate whether we have overflowed or not. Potential 
issues could arise from two distinct messages repeating the cookie value, or 
from us not handling the cookie reuse properly. In practice, this shouldn't 
cause serious problems as most dbus messages should not stall long enough for a 
possible overlap in the 2^31 space. The patch has been present in other stable 
Ubuntu Series and upstream, and has been validated and tested through the 
systemd test suite and autopkgtests.

To manage notifications about this bug go to:

[Touch-packages] [Bug 1876600] Re: cookie overruns can cause org.freedesktop.systemd1 dbus to hang

2020-05-05 Thread Heitor Alves de Siqueira
** Attachment added: "test.gdb"
   
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1876600/+attachment/5366780/+files/test.gdb

** Description changed:

  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.
  
  [Description]
  Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.
  
  This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)
  
  $ git describe --contains 1f82f5bb4237
  v242-rc1~228
  
  $ rmadison systemd
-  systemd | 229-4ubuntu4 | xenial  | source, ...
-  systemd | 229-4ubuntu21.27 | xenial-security | source, ...
-  systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
-  systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
-  systemd | 237-3ubuntu10| bionic  | source, ...
-  systemd | 237-3ubuntu10.38 | bionic-security | source, ...
-  systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
-  systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
-  systemd | 242-7ubuntu3 | eoan| source, ...
+  systemd | 229-4ubuntu4 | xenial  | source, ...
+  systemd | 229-4ubuntu21.27 | xenial-security | source, ...
+  systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
+  systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
+  systemd | 237-3ubuntu10| bionic  | source, ...
+  systemd | 237-3ubuntu10.38 | bionic-security | source, ...
+  systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
+  systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
+  systemd | 242-7ubuntu3 | eoan| source, ...
  
  Releases starting with Eoan already have this fix.
  
  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
  Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:
  
  1. Create a new system bus object through sd_bus_default_system()
  2. Allocate and append a new method_call message to the bus
  3. Send the message through sd_bus_call()
  4. Handle the response message and free up the message objects
  
- This is done continuously, to keep incrementing the bus cookie value. We step 
in with GDB when it reaches 0x1, and set its value to 0xff00 which then 
causes the test program to fail shortly afterwards. An example test run of an 
impacted system:
+ It's essentially the example code from the
+ sd_bus_message_new_method_call() manpage, with minor modifications: this
+ is done continuously, to keep incrementing the bus cookie value. We step
+ in with GDB when it reaches 0x1, and set its value to 0xff00
+ which then causes the test program to fail shortly afterwards. An
+ example test run of an impacted system:
+ 
  ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
  ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
  Breakpoint 1 at 0xe61: file test.c, line 38.
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  (16s) cookie: 0x0001reply-cookie: 0x0001
  
  Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
  38  r = sd_bus_message_new_method_call(bus, ,
  $1 = 0x1
  $2 = 0xff00
  Call failed: Operation not supported
  Sleeping and retrying...
  Call failed: Invalid argument
  Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.
  
  Program received signal SIGABRT, Aborted.
  __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
  51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
  u
  
  To compile and debug the test case above, libsystemd-dev and 
libsystemd0-dbgsym are required.
  Both test.c and test.gdb source code are attached to this LP bug.
  
  [Regression Potential]
  This fix introduces some changes in the way cookie incrementation is handled. 
We now have a reduced number of available values, since the patch makes use of 
a high order bit to indicate whether we have overflowed or not. Potential 
issues could arise from two distinct messages repeating the cookie value, or 
from us not 

[Touch-packages] [Bug 1876600] Re: cookie overruns cause org.freedesktop.systemd1 dbus to hang

2020-05-05 Thread Heitor Alves de Siqueira
** Description changed:

  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.
  
  [Description]
- Systemd dbus messages usually include a "cookie" value to uniquely identify 
them in their bus context. For services that run for longer periods of time and 
keep communicating through dbus, it's possible to overflow the cookie value, 
causing further messages to the org.freedesktop.systemd1 dbus to hang.
+ Systemd dbus messages include a "cookie" value to uniquely identify them in 
their bus context. This value is obtained from the bus header, and incremented 
for each exchanged message in the same bus object. For services that run for 
longer periods of time and keep communicating through dbus, it's possible to 
overflow the cookie value, causing further messages to the 
org.freedesktop.systemd1 dbus to fail. This can lead to these services becoming 
unresponsive, as they get stuck trying to communicate with invalid bus cookie 
values.
  
- This has been fixed upstream by the commit below:
+ This issue has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)
  
  $ git describe --contains 1f82f5bb4237
  v242-rc1~228
  
  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...
  
  Releases starting with Eoan already have this fix.
  
  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).
+ Using GDB, we can construct an artificial test case to test the cookie 
overflow. The test case below performs the following steps:
+ 
+ 1. Create a new system bus object through sd_bus_default_system()
+ 2. Allocate and append a new method_call message to the bus
+ 3. Send the message through sd_bus_call()
+ 4. Handle the response message and free up the message objects
+ 
+ This is done continuously, to keep incrementing the bus cookie value. We step 
in with GDB when it reaches 0x1, and set its value to 0xff00 which then 
causes the test program to fail shortly afterwards. An example test run of an 
impacted system:
+ ubuntu@bionic:~$ gcc -Wall test.c -o cookie -lsystemd -g
+ ubuntu@bionic:~$ gdb --batch --command=test.gdb --args ./cookie
+ Breakpoint 1 at 0xe61: file test.c, line 38.
+ [Thread debugging using libthread_db enabled]
+ Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
+ (16s) cookie: 0x0001reply-cookie: 0x0001
+ 
+ Breakpoint 1, print_unit_path (bus=0x55757290) at test.c:38
+ 38  r = sd_bus_message_new_method_call(bus, ,
+ $1 = 0x1
+ $2 = 0xff00
+ Call failed: Operation not supported
+ Sleeping and retrying...
+ Call failed: Invalid argument
+ Assertion 'm->n_ref > 0' failed at 
../src/libsystemd/sd-bus/bus-message.c:934, function sd_bus_message_unref(). 
Aborting.
+ 
+ Program received signal SIGABRT, Aborted.
+ __GI_raise (sig=sig@entry=0x6) at ../sysdeps/unix/sysv/linux/raise.c:51
+ 51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
+ u
+ 
+ To compile and debug the test case above, libsystemd-dev and 
libsystemd0-dbgsym are required.
+ Both test.c and test.gdb source code are attached to this LP bug.
+ 
+ [Regression Potential]
+ This fix introduces some changes in the way cookie incrementation is handled. 
We now have a reduced number of available values, since the patch makes use of 
a high order bit to indicate whether we have overflowed or not. Potential 
issues could arise from two distinct messages repeating the cookie value, or 
from us not handling the cookie reuse properly. In practice, this shouldn't 
cause serious problems as most dbus messages should not stall long enough for a 
possible overlap in the 2^31 space. The patch has been present in other stable 
Ubuntu Series and upstream, and has been validated and tested through the 
systemd test suite and autopkgtests.

** Summary changed:

- cookie overruns cause org.freedesktop.systemd1 dbus to hang
+ cookie overruns can cause org.freedesktop.systemd1 dbus to hang

** Attachment added: "test.c"
   
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1876600/+attachment/5366779/+files/test.c

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 

[Touch-packages] [Bug 1876600] Re: cookie overruns cause org.freedesktop.systemd1 dbus to hang

2020-05-04 Thread Heitor Alves de Siqueira
** Also affects: systemd (Ubuntu Xenial)
   Importance: Undecided
   Status: New

** Also affects: systemd (Ubuntu Bionic)
   Importance: Undecided
   Status: New

** Changed in: systemd (Ubuntu)
   Status: New => Fix Released

** Changed in: systemd (Ubuntu Xenial)
   Status: New => Confirmed

** Changed in: systemd (Ubuntu Bionic)
   Status: New => Confirmed

** Changed in: systemd (Ubuntu Xenial)
   Importance: Undecided => High

** Changed in: systemd (Ubuntu Bionic)
   Importance: Undecided => High

** Changed in: systemd (Ubuntu Bionic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: systemd (Ubuntu Xenial)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Confirmed
Status in systemd source package in Bionic:
  Confirmed

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages usually include a "cookie" value to uniquely identify 
them in their bus context. For services that run for longer periods of time and 
keep communicating through dbus, it's possible to overflow the cookie value, 
causing further messages to the org.freedesktop.systemd1 dbus to hang.

  This has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)

  $ git describe --contains 1f82f5bb4237
  v242-rc1~228

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...

  Releases starting with Eoan already have this fix.

  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1876600/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1876600] [NEW] cookie overruns cause org.freedesktop.systemd1 dbus to hang

2020-05-03 Thread Heitor Alves de Siqueira
Public bug reported:

[Impact]
Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

[Description]
Systemd dbus messages usually include a "cookie" value to uniquely identify 
them in their bus context. For services that run for longer periods of time and 
keep communicating through dbus, it's possible to overflow the cookie value, 
causing further messages to the org.freedesktop.systemd1 dbus to hang.

This has been fixed upstream by the commit below:
-  sd-bus: deal with cookie overruns (1f82f5bb4237)

$ git describe --contains 1f82f5bb4237
v242-rc1~228

$ rmadison systemd
 systemd | 229-4ubuntu4 | xenial  | source, ...
 systemd | 229-4ubuntu21.27 | xenial-security | source, ...
 systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
 systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
 systemd | 237-3ubuntu10| bionic  | source, ...
 systemd | 237-3ubuntu10.38 | bionic-security | source, ...
 systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
 systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
 systemd | 242-7ubuntu3 | eoan| source, ...

Releases starting with Eoan already have this fix.

[Test Case]
There doesn't seem to be an easy test case for this, as the cookie values start 
at zero and won't overflow until (1<<32). There have been reports from users 
hitting this on Kubernetes clusters continuously running for longer periods (~5 
months).

** Affects: systemd (Ubuntu)
 Importance: Undecided
 Status: New


** Tags: sts

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1876600

Title:
  cookie overruns cause org.freedesktop.systemd1 dbus to hang

Status in systemd package in Ubuntu:
  New

Bug description:
  [Impact]
  Long-running services overflow the sd_bus->cookie counter, causing further 
communication with org.freedesktop.systemd1 to stall.

  [Description]
  Systemd dbus messages usually include a "cookie" value to uniquely identify 
them in their bus context. For services that run for longer periods of time and 
keep communicating through dbus, it's possible to overflow the cookie value, 
causing further messages to the org.freedesktop.systemd1 dbus to hang.

  This has been fixed upstream by the commit below:
  -  sd-bus: deal with cookie overruns (1f82f5bb4237)

  $ git describe --contains 1f82f5bb4237
  v242-rc1~228

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.27 | xenial-security | source, ...
   systemd | 229-4ubuntu21.27 | xenial-updates  | source, ...
   systemd | 229-4ubuntu21.28 | xenial-proposed | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.38 | bionic-security | source, ...
   systemd | 237-3ubuntu10.39 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.40 | bionic-proposed | source, ... <
   systemd | 242-7ubuntu3 | eoan| source, ...

  Releases starting with Eoan already have this fix.

  [Test Case]
  There doesn't seem to be an easy test case for this, as the cookie values 
start at zero and won't overflow until (1<<32). There have been reports from 
users hitting this on Kubernetes clusters continuously running for longer 
periods (~5 months).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1876600/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1410558] Re: ps doesn't support "thcount" format specifier on Xenial

2020-03-17 Thread Heitor Alves de Siqueira
Given this is an extremely simple fix to the procps output flags, none of the 
autopkgtest regressions seem to be a result of this patch.
More details on each reported regression:

* apport/2.20.1-0ubuntu2.21 (amd64/i386)
- has failed since 2.20.1-0ubuntu2.18 according to [0]
- test_sandbox_cache_options: fails due to "ERROR: Package download error, try 
again later: Untrusted packages:"
- test_get_logind_session: fails due to a systemd-logind error
- test_core_dump_packaged, test_core_dump_unpackaged: fail with "leaves 
unexpected core file behind"
- test_crash_setuid_drop, test_crash_setuid_keep, 
test_crash_setuid_nonwritable_cwd, test_lock_symlink: fail to generate reports
- test_run_crash_kernel: fails due to an URL mismatch 
(http://linux-signed.bugs.example.com/5 vs http://linux.bugs.example.com/5)

* cmake/3.5.1-1ubuntu3 (armhf)
- retest could fix the proxy error
- CTestTestUpload: fails due to resolve error ("squid.internal" proxy)

* livecd-rootfs/2.408.57 (amd64/i386)
- tests timed out, a re-test should clear this regression

* openssh/1:7.2p2-4ubuntu2.8 (amd64/arm64/i386)
- failed due to host key certification, re-test should also clear this one

[0] http://autopkgtest.ubuntu.com/packages/a/apport/xenial/amd64

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/1410558

Title:
  ps doesn't support "thcount" format specifier on Xenial

Status in procps package in Ubuntu:
  Fix Released
Status in procps source package in Xenial:
  Fix Committed

Bug description:
  [Impact]
  ps -o thcount prints out an error (error: unknown user-defined format 
specifier "thcount")

  [Description]
  The Xenial version of procps has a bug in the thcount format specifier. ps 
doesn't recognize it, and complains about an unknown user-defined format.
  This is due to the format specifier table in ps/output.c, which is queried 
with a binary search. Since the "thcount" entry appears out of order in Xenial, 
it can't be looked up and the program fails with the "unknown user-defined 
format specifier" error.

  This has been fixed upstream by the commit below:
  - Fix for Bug:1174313 (3a52dfa34027)

  $ git describe --contains 3a52dfa34027
  v3.3.12~58^2

  $ rmadison procps
   procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
   procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
   procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
   procps | 2:3.3.12-3ubuntu1.2 | bionic-updates  | source, ...

  Releases starting with Bionic already have this fix, so it's only
  needed for Xenial.

  [Test case]
  1. Boot up a Xenial environment with e.g. an lxd container:
  # lxc launch images:ubuntu/xenial xenial

  2. Execute ps with the '-o thcount' options:
  # lxc exec xenial -- ps -o thcount
  error: unknown user-defined format specifier "thcount"

  Usage:
   ps [options]

   Try 'ps --help '
    or 'ps --help '
   for additional help text.

  For more details see ps(1).

  [Regression Potential]
  The fix just fixes the order of two entries in the format specifier array, so 
the regression potential is very low. Furthermore, the patch has been present 
and tested in up-to-date versions of procps since Bionic. Any new regressions 
introduced in Xenial will be checked with autopkgtest.

  [Original Description]
  In Ubuntu 12.04.5 LTS (procps 1:3.2.8-11ubuntu6.3), the following worked fine:

  $ export PS_FORMAT=thcount
  $ ps
  THCNT
  1
  1

  In Ubuntu 14.04.1 LTS (procps 1:3.3.9-1ubuntu2), it does not work
  anymore:

  $ export PS_FORMAT=thcount
  $ ps
  warning: $PS_FORMAT ignored. (unknown user-defined format specifier "thcount")
    PID TTY  TIME CMD
   6593 pts/100:00:00 ps
  16633 pts/100:00:00 bash

  Other PS_FORMAT specifiers still work fine (I have tried many, but not
  all).

  In real-life usage, a more complex PS_FORMAT would of course be used,
  such as
  
PS_FORMAT=pid,s,thcount,nice,euser,egroup,etime,cputime,%mem,rssize:6,size:7,vsize:7,command

  Workaround: use nlwp instead of thcount (they are alias to the same
  data, and nlwp works fine in both versions).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1410558/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1410558] Re: ps doesn't support "thcount" format specifier on Xenial

2020-03-05 Thread Heitor Alves de Siqueira
Verified according to test case from description:

ubuntu@xenial:~$ dpkg -l | grep procps
ii  procps   2:3.3.10-4ubuntu2.5
amd64/proc file system utilities

ubuntu@xenial:~$ ps -o thcount
THCNT
1
1

** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/1410558

Title:
  ps doesn't support "thcount" format specifier on Xenial

Status in procps package in Ubuntu:
  Fix Released
Status in procps source package in Xenial:
  Fix Committed

Bug description:
  [Impact]
  ps -o thcount prints out an error (error: unknown user-defined format 
specifier "thcount")

  [Description]
  The Xenial version of procps has a bug in the thcount format specifier. ps 
doesn't recognize it, and complains about an unknown user-defined format.
  This is due to the format specifier table in ps/output.c, which is queried 
with a binary search. Since the "thcount" entry appears out of order in Xenial, 
it can't be looked up and the program fails with the "unknown user-defined 
format specifier" error.

  This has been fixed upstream by the commit below:
  - Fix for Bug:1174313 (3a52dfa34027)

  $ git describe --contains 3a52dfa34027
  v3.3.12~58^2

  $ rmadison procps
   procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
   procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
   procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
   procps | 2:3.3.12-3ubuntu1.2 | bionic-updates  | source, ...

  Releases starting with Bionic already have this fix, so it's only
  needed for Xenial.

  [Test case]
  1. Boot up a Xenial environment with e.g. an lxd container:
  # lxc launch images:ubuntu/xenial xenial

  2. Execute ps with the '-o thcount' options:
  # lxc exec xenial -- ps -o thcount
  error: unknown user-defined format specifier "thcount"

  Usage:
   ps [options]

   Try 'ps --help '
    or 'ps --help '
   for additional help text.

  For more details see ps(1).

  [Regression Potential]
  The fix just fixes the order of two entries in the format specifier array, so 
the regression potential is very low. Furthermore, the patch has been present 
and tested in up-to-date versions of procps since Bionic. Any new regressions 
introduced in Xenial will be checked with autopkgtest.

  [Original Description]
  In Ubuntu 12.04.5 LTS (procps 1:3.2.8-11ubuntu6.3), the following worked fine:

  $ export PS_FORMAT=thcount
  $ ps
  THCNT
  1
  1

  In Ubuntu 14.04.1 LTS (procps 1:3.3.9-1ubuntu2), it does not work
  anymore:

  $ export PS_FORMAT=thcount
  $ ps
  warning: $PS_FORMAT ignored. (unknown user-defined format specifier "thcount")
    PID TTY  TIME CMD
   6593 pts/100:00:00 ps
  16633 pts/100:00:00 bash

  Other PS_FORMAT specifiers still work fine (I have tried many, but not
  all).

  In real-life usage, a more complex PS_FORMAT would of course be used,
  such as
  
PS_FORMAT=pid,s,thcount,nice,euser,egroup,etime,cputime,%mem,rssize:6,size:7,vsize:7,command

  Workaround: use nlwp instead of thcount (they are alias to the same
  data, and nlwp works fine in both versions).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1410558/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1410558] Re: ps doesn't support "thcount" format specifier on Xenial

2020-02-15 Thread Heitor Alves de Siqueira
** Description changed:

  [Impact]
- ps -o thcount doesn't print out an error (error: unknown user-defined format 
specifier "thcount")
+ ps -o thcount prints out an error (error: unknown user-defined format 
specifier "thcount")
  
  [Description]
  The Xenial version of procps has a bug in the thcount format specifier. ps 
doesn't recognize it, and complains about an unknown user-defined format.
  This is due to the format specifier table in ps/output.c, which is queried 
with a binary search. Since the "thcount" entry appears out of order in Xenial, 
it can't be looked up and the program fails with the "unknown user-defined 
format specifier" error.
  
  This has been fixed upstream by the commit below:
  - Fix for Bug:1174313 (3a52dfa34027)
  
  $ git describe --contains 3a52dfa34027
  v3.3.12~58^2
  
  $ rmadison procps
-  procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
-  procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
-  procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
-  procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
-  procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
-  procps | 2:3.3.12-3ubuntu1.2 | bionic-updates  | source, ...
+  procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
+  procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
+  procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
+  procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
+  procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
+  procps | 2:3.3.12-3ubuntu1.2 | bionic-updates  | source, ...
  
  Releases starting with Bionic already have this fix, so it's only needed
  for Xenial.
  
  [Test case]
  1. Boot up a Xenial environment with e.g. an lxd container:
  # lxc launch images:ubuntu/xenial xenial
  
  2. Execute ps with the '-o thcount' options:
  # lxc exec xenial -- ps -o thcount
  error: unknown user-defined format specifier "thcount"
  
  Usage:
-  ps [options]
+  ps [options]
  
-  Try 'ps --help '
-   or 'ps --help '
-  for additional help text.
+  Try 'ps --help '
+   or 'ps --help '
+  for additional help text.
  
  For more details see ps(1).
  
  [Regression Potential]
  The fix just fixes the order of two entries in the format specifier array, so 
the regression potential is very low. Furthermore, the patch has been present 
and tested in up-to-date versions of procps since Bionic. Any new regressions 
introduced in Xenial will be checked with autopkgtest.
  
  [Original Description]
  In Ubuntu 12.04.5 LTS (procps 1:3.2.8-11ubuntu6.3), the following worked fine:
  
  $ export PS_FORMAT=thcount
  $ ps
  THCNT
  1
  1
  
  In Ubuntu 14.04.1 LTS (procps 1:3.3.9-1ubuntu2), it does not work
  anymore:
  
  $ export PS_FORMAT=thcount
  $ ps
  warning: $PS_FORMAT ignored. (unknown user-defined format specifier "thcount")
    PID TTY  TIME CMD
   6593 pts/100:00:00 ps
  16633 pts/100:00:00 bash
  
  Other PS_FORMAT specifiers still work fine (I have tried many, but not
  all).
  
  In real-life usage, a more complex PS_FORMAT would of course be used,
  such as
  
PS_FORMAT=pid,s,thcount,nice,euser,egroup,etime,cputime,%mem,rssize:6,size:7,vsize:7,command
  
  Workaround: use nlwp instead of thcount (they are alias to the same
  data, and nlwp works fine in both versions).

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/1410558

Title:
  ps doesn't support "thcount" format specifier on Xenial

Status in procps package in Ubuntu:
  Fix Released
Status in procps source package in Xenial:
  In Progress

Bug description:
  [Impact]
  ps -o thcount prints out an error (error: unknown user-defined format 
specifier "thcount")

  [Description]
  The Xenial version of procps has a bug in the thcount format specifier. ps 
doesn't recognize it, and complains about an unknown user-defined format.
  This is due to the format specifier table in ps/output.c, which is queried 
with a binary search. Since the "thcount" entry appears out of order in Xenial, 
it can't be looked up and the program fails with the "unknown user-defined 
format specifier" error.

  This has been fixed upstream by the commit below:
  - Fix for Bug:1174313 (3a52dfa34027)

  $ git describe --contains 3a52dfa34027
  v3.3.12~58^2

  $ rmadison procps
   procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
   procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
   procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
   procps | 2:3.3.12-3ubuntu1.2 | bionic-updates  | source, ...

  Releases starting with Bionic already have this fix, so it's only
  needed for Xenial.

  [Test case]
  1. Boot up a Xenial environment with e.g. an lxd 

[Touch-packages] [Bug 1410558] Re: PS_FORMAT=thcount does not work anymore

2020-02-05 Thread Heitor Alves de Siqueira
** Tags added: sts

** Description changed:

- In Ubuntu 12.04.5 LTS (procps 1:3.2.8-11ubuntu6.3), the following worked
- fine:
+ [Impact]
+ ps -o thcount doesn't print out an error (error: unknown user-defined format 
specifier "thcount")
+ 
+ [Description]
+ The Xenial version of procps has a bug in the thcount format specifier. ps 
doesn't recognize it, and complains about an unknown user-defined format.
+ This is due to the format specifier table in ps/output.c, which is queried 
with a binary search. Since the "thcount" entry appears out of order in Xenial, 
it can't be looked up and the program fails with the "unknown user-defined 
format specifier" error.
+ 
+ This has been fixed upstream by the commit below:
+ - Fix for Bug:1174313 (3a52dfa34027)
+ 
+ $ git describe --contains 3a52dfa34027
+ v3.3.12~58^2
+ 
+ $ rmadison procps
+  procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
+  procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
+  procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
+  procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
+  procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
+  procps | 2:3.3.12-3ubuntu1.2 | bionic-updates  | source, ...
+ 
+ Releases starting with Bionic already have this fix, so it's only needed
+ for Xenial.
+ 
+ [Test case]
+ 1. Boot up a Xenial environment with e.g. an lxd container:
+ # lxc launch images:ubuntu/xenial xenial
+ 
+ 2. Execute ps with the '-o thcount' options:
+ # lxc exec xenial -- ps -o thcount
+ error: unknown user-defined format specifier "thcount"
+ 
+ Usage:
+  ps [options]
+ 
+  Try 'ps --help '
+   or 'ps --help '
+  for additional help text.
+ 
+ For more details see ps(1).
+ 
+ [Regression Potential]
+ The fix just fixes the order of two entries in the format specifier array, so 
the regression potential is very low. Furthermore, the patch has been present 
and tested in up-to-date versions of procps since Bionic. Any new regressions 
introduced in Xenial will be checked with autopkgtest.
+ 
+ [Original Description]
+ In Ubuntu 12.04.5 LTS (procps 1:3.2.8-11ubuntu6.3), the following worked fine:
  
  $ export PS_FORMAT=thcount
  $ ps
  THCNT
- 1
- 1
+ 1
+ 1
  
  In Ubuntu 14.04.1 LTS (procps 1:3.3.9-1ubuntu2), it does not work
  anymore:
  
  $ export PS_FORMAT=thcount
  $ ps
  warning: $PS_FORMAT ignored. (unknown user-defined format specifier "thcount")
-   PID TTY  TIME CMD
-  6593 pts/100:00:00 ps
+   PID TTY  TIME CMD
+  6593 pts/100:00:00 ps
  16633 pts/100:00:00 bash
  
  Other PS_FORMAT specifiers still work fine (I have tried many, but not
  all).
  
  In real-life usage, a more complex PS_FORMAT would of course be used,
  such as
  
PS_FORMAT=pid,s,thcount,nice,euser,egroup,etime,cputime,%mem,rssize:6,size:7,vsize:7,command
  
  Workaround: use nlwp instead of thcount (they are alias to the same
  data, and nlwp works fine in both versions).

** Also affects: procps (Ubuntu Xenial)
   Importance: Undecided
   Status: New

** Changed in: procps (Ubuntu)
   Status: Confirmed => Fix Released

** Changed in: procps (Ubuntu Xenial)
   Status: New => In Progress

** Changed in: procps (Ubuntu Xenial)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Summary changed:

- PS_FORMAT=thcount does not work anymore
+ ps doesn't support "thcount" format specifier on Xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/1410558

Title:
  ps doesn't support "thcount" format specifier on Xenial

Status in procps package in Ubuntu:
  Fix Released
Status in procps source package in Xenial:
  In Progress

Bug description:
  [Impact]
  ps -o thcount doesn't print out an error (error: unknown user-defined format 
specifier "thcount")

  [Description]
  The Xenial version of procps has a bug in the thcount format specifier. ps 
doesn't recognize it, and complains about an unknown user-defined format.
  This is due to the format specifier table in ps/output.c, which is queried 
with a binary search. Since the "thcount" entry appears out of order in Xenial, 
it can't be looked up and the program fails with the "unknown user-defined 
format specifier" error.

  This has been fixed upstream by the commit below:
  - Fix for Bug:1174313 (3a52dfa34027)

  $ git describe --contains 3a52dfa34027
  v3.3.12~58^2

  $ rmadison procps
   procps | 2:3.3.10-4ubuntu2   | xenial  | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-security | source, ...
   procps | 2:3.3.10-4ubuntu2.4 | xenial-updates  | source, ... <
   procps | 2:3.3.12-3ubuntu1   | bionic  | source, ...
   procps | 2:3.3.12-3ubuntu1.1 | bionic-security | source, ...
   procps | 2:3.3.12-3ubun

[Touch-packages] [Bug 1846787] Re: systemd-logind leaves leftover sessions and scope files

2019-10-07 Thread Heitor Alves de Siqueira
** Description changed:

  [Impact]
  Scope file leakage can cause SSH delays and reduce performance in systemd
  
  [Description]
  The current systemd-logind version present in Xenial can leave abandoned SSH
  sessions and scope files in cases where the host sees a lot of concurrent SSH
  connections. These leftover sessions can slow down systemd performance
  greatly, and can have an impact on sshd handling a great number of concurrent
  connections.
  
  To fix this issue, patches are needed in both dbus and systemd. These improve 
the
  performance of the communication between dbus and systemd, so that they can
  handle a better volume of events (e.g. SSH logins). All of those patches are
  already present from Bionic onwards, so we only need those fixes for Xenial.
  
  == Systemd ==
  Upstream patches:
  - core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification 
(d8fdc62037b5)
  
  $ git describe --contains d8fdc62037b5
  v230~71^2~2
  
  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.21 | xenial-security | source, ...
   systemd | 229-4ubuntu21.22 | xenial-updates  | source, ... <
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.29 | bionic-security | source, ...
   systemd | 237-3ubuntu10.29 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.31 | bionic-proposed | source, ...
  
  == DBus ==
  Upstream patches:
  - Only read one message at a time if there are fds pending (892f084eeda0)
  - bus: Fix timeout restarts  (529600397bca)
  - DBusMainLoop: ensure all required timeouts are restarted (446b0d9ac75a)
  
  $ git describe --contains 892f084eeda0 529600397bca 446b0d9ac75a
  dbus-1.11.10~44
  dbus-1.11.10~45
  dbus-1.11.16~2
  
  $ rmadison dbus
   dbus | 1.10.6-1ubuntu3| xenial   | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-security  | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-updates   | source, ... <
   dbus | 1.12.2-1ubuntu1| bionic   | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-security  | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-updates   | source, ...
  
  [Test Case]
  1) Simulate a lot of concurrent SSH connections with e.g. a for loop:
  multipass@xenial-logind:~$ for i in {1..1000}; do sleep 0.1; ssh localhost 
sleep 1 & done
  
  2) Check for leaked sessions in /run/systemd/system/:
  multipass@xenial-logind:~$ ls -ld /run/systemd/system/session-*.scope*
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-103.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-104.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-105.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-106.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-110.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-111.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-112.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-113.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-114.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-115.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-116.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-117.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-118.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-119.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-120.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-121.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-122.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-123.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-126.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-131.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-134.scope.d
  ...
  
  [Regression Potential]
- The regression potential is low, as these patches have seen extensive testing
- both upstream and in more recent releases of Ubuntu. Nonetheless, these new
- packages will be rigorously tested through autopkgtest to avoid any possible
- Xenial-specific regressions.
+ As the patches change the communication socket between dbus and systemd, 
possible regressions could cause systemd to not be notified of dbus events and 
vice-versa. We could see units not getting started properly, and communication 
between different services break down (e.g. between systemd-logind and other 
processes).
+ 
+ In this case, the regression potential should be low as these patches
+ have seen extensive testing both upstream and in more recent releases of
+ Ubuntu. 

[Touch-packages] [Bug 1846787] Re: systemd-logind leaves leftover sessions and scope files

2019-10-07 Thread Heitor Alves de Siqueira
** Description changed:

  [Impact]
  Scope file leakage can cause SSH delays and reduce performance in systemd
  
  [Description]
  The current systemd-logind version present in Xenial can leave abandoned SSH
  sessions and scope files in cases where the host sees a lot of concurrent SSH
  connections. These leftover sessions can slow down systemd performance
  greatly, and can have an impact on sshd handling a great number of concurrent
  connections.
  
  To fix this issue, patches are needed in both dbus and systemd. These improve 
the
  performance of the communication between dbus and systemd, so that they can
  handle a better volume of events (e.g. SSH logins). All of those patches are
  already present from Bionic onwards, so we only need those fixes for Xenial.
  
  == Systemd ==
  Upstream patches:
  - core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification 
(d8fdc62037b5)
- - tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 
(fc2fffe7706e)
- - journald: stack allocation cannot fail (23be5709e10b)
  
- $ git describe --contains d8fdc62037b5 fc2fffe7706e 23be5709e10b
+ $ git describe --contains d8fdc62037b5
  v230~71^2~2
- v230~71^2~1
- v230~71^2
  
  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.21 | xenial-security | source, ...
   systemd | 229-4ubuntu21.22 | xenial-updates  | source, ... <
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.29 | bionic-security | source, ...
   systemd | 237-3ubuntu10.29 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.31 | bionic-proposed | source, ...
  
  == DBus ==
  Upstream patches:
  - Only read one message at a time if there are fds pending (892f084eeda0)
  - bus: Fix timeout restarts  (529600397bca)
  - DBusMainLoop: ensure all required timeouts are restarted (446b0d9ac75a)
  
  $ git describe --contains 892f084eeda0 529600397bca 446b0d9ac75a
  dbus-1.11.10~44
  dbus-1.11.10~45
  dbus-1.11.16~2
  
  $ rmadison dbus
   dbus | 1.10.6-1ubuntu3| xenial   | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-security  | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-updates   | source, ... <
   dbus | 1.12.2-1ubuntu1| bionic   | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-security  | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-updates   | source, ...
  
  [Test Case]
  1) Simulate a lot of concurrent SSH connections with e.g. a for loop:
  multipass@xenial-logind:~$ for i in {1..1000}; do sleep 0.1; ssh localhost 
sleep 1 & done
  
  2) Check for leaked sessions in /run/systemd/system/:
  multipass@xenial-logind:~$ ls -ld /run/systemd/system/session-*.scope*
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-103.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-104.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-105.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-106.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-110.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-111.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-112.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-113.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-114.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-115.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-116.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-117.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-118.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-119.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-120.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-121.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-122.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-123.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-126.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-131.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-134.scope.d
  ...
  
  [Regression Potential]
  The regression potential is low, as these patches have seen extensive testing
  both upstream and in more recent releases of Ubuntu. Nonetheless, these new
  packages will be rigorously tested through autopkgtest to avoid any possible
  Xenial-specific regressions.

** Tags added: sts-sponsor

** Patch added: "lp1846787-dbus-xenial.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1846787/+attachment/5295136/+files/lp1846787-dbus-xenial.debdiff

-- 
You received this bug notification 

[Touch-packages] [Bug 1846787] Re: systemd-logind leaves leftover sessions and scope files

2019-10-07 Thread Heitor Alves de Siqueira
** Patch added: "lp1846787-systemd-xenial.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1846787/+attachment/5295137/+files/lp1846787-systemd-xenial.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1846787

Title:
  systemd-logind leaves leftover sessions and scope files

Status in dbus package in Ubuntu:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in dbus source package in Xenial:
  In Progress
Status in systemd source package in Xenial:
  In Progress

Bug description:
  [Impact]
  Scope file leakage can cause SSH delays and reduce performance in systemd

  [Description]
  The current systemd-logind version present in Xenial can leave abandoned SSH
  sessions and scope files in cases where the host sees a lot of concurrent SSH
  connections. These leftover sessions can slow down systemd performance
  greatly, and can have an impact on sshd handling a great number of concurrent
  connections.

  To fix this issue, patches are needed in both dbus and systemd. These improve 
the
  performance of the communication between dbus and systemd, so that they can
  handle a better volume of events (e.g. SSH logins). All of those patches are
  already present from Bionic onwards, so we only need those fixes for Xenial.

  == Systemd ==
  Upstream patches:
  - core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification 
(d8fdc62037b5)

  $ git describe --contains d8fdc62037b5
  v230~71^2~2

  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.21 | xenial-security | source, ...
   systemd | 229-4ubuntu21.22 | xenial-updates  | source, ... <
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.29 | bionic-security | source, ...
   systemd | 237-3ubuntu10.29 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.31 | bionic-proposed | source, ...

  == DBus ==
  Upstream patches:
  - Only read one message at a time if there are fds pending (892f084eeda0)
  - bus: Fix timeout restarts  (529600397bca)
  - DBusMainLoop: ensure all required timeouts are restarted (446b0d9ac75a)

  $ git describe --contains 892f084eeda0 529600397bca 446b0d9ac75a
  dbus-1.11.10~44
  dbus-1.11.10~45
  dbus-1.11.16~2

  $ rmadison dbus
   dbus | 1.10.6-1ubuntu3| xenial   | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-security  | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-updates   | source, ... <
   dbus | 1.12.2-1ubuntu1| bionic   | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-security  | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-updates   | source, ...

  [Test Case]
  1) Simulate a lot of concurrent SSH connections with e.g. a for loop:
  multipass@xenial-logind:~$ for i in {1..1000}; do sleep 0.1; ssh localhost 
sleep 1 & done

  2) Check for leaked sessions in /run/systemd/system/:
  multipass@xenial-logind:~$ ls -ld /run/systemd/system/session-*.scope*
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-103.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-104.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-105.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-106.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-110.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-111.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-112.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-113.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-114.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-115.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-116.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-117.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-118.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-119.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-120.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-121.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-122.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-123.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-126.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-131.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-134.scope.d
  ...

  [Regression Potential]
  The regression potential is low, as these patches have seen extensive testing
  both upstream and in more recent releases of Ubuntu. 

[Touch-packages] [Bug 1846787] Re: systemd-logind leaves leftover sessions and scope files

2019-10-07 Thread Heitor Alves de Siqueira
** Changed in: dbus (Ubuntu Xenial)
   Status: New => In Progress

** Changed in: systemd (Ubuntu Xenial)
   Status: New => In Progress

** Description changed:

  [Impact]
  Scope file leakage can cause SSH delays and reduce performance in systemd
  
  [Description]
  The current systemd-logind version present in Xenial can leave abandoned SSH
  sessions and scope files in cases where the host sees a lot of concurrent SSH
  connections. These leftover sessions can slow down systemd performance
  greatly, and can have an impact on sshd handling a great number of concurrent
  connections.
  
  To fix this issue, patches are needed in both dbus and systemd. These improve 
the
  performance of the communication between dbus and systemd, so that they can
  handle a better volume of events (e.g. SSH logins). All of those patches are
  already present from Bionic onwards, so we only need those fixes for Xenial.
  
  == Systemd ==
  Upstream patches:
  - core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification 
(d8fdc62037b5)
  - tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 
(fc2fffe7706e)
  - journald: stack allocation cannot fail (23be5709e10b)
  
  $ git describe --contains d8fdc62037b5 fc2fffe7706e 23be5709e10b
  v230~71^2~2
  v230~71^2~1
  v230~71^2
  
  $ rmadison systemd
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.21 | xenial-security | source, ...
   systemd | 229-4ubuntu21.22 | xenial-updates  | source, ... <
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.29 | bionic-security | source, ...
   systemd | 237-3ubuntu10.29 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.31 | bionic-proposed | source, ...
  
  == DBus ==
  Upstream patches:
  - Only read one message at a time if there are fds pending (892f084eeda0)
  - bus: Fix timeout restarts  (529600397bca)
  - DBusMainLoop: ensure all required timeouts are restarted (446b0d9ac75a)
  
  $ git describe --contains 892f084eeda0 529600397bca 446b0d9ac75a
  dbus-1.11.10~44
  dbus-1.11.10~45
  dbus-1.11.16~2
  
  $ rmadison dbus
   dbus | 1.10.6-1ubuntu3| xenial   | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-security  | source, ...
   dbus | 1.10.6-1ubuntu3.4  | xenial-updates   | source, ... <
   dbus | 1.12.2-1ubuntu1| bionic   | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-security  | source, ...
   dbus | 1.12.2-1ubuntu1.1  | bionic-updates   | source, ...
  
  [Test Case]
  1) Simulate a lot of concurrent SSH connections with e.g. a for loop:
- multipass@xenial-logind:~$ for i in {1..1000}; do sleep 0.1; ssh localhost 
sleep 1 > /dev/null & done
+ multipass@xenial-logind:~$ for i in {1..1000}; do sleep 0.1; ssh localhost 
sleep 1 & done
  
  2) Check for leaked sessions in /run/systemd/system/:
  multipass@xenial-logind:~$ ls -ld /run/systemd/system/session-*.scope*
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-103.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-104.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-105.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-106.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-110.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-111.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-112.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-113.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-114.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-115.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-116.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-117.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-118.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-119.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-120.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-121.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-122.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-123.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-126.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-131.scope.d
  drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-134.scope.d
  ...
  
  [Regression Potential]
  The regression potential is low, as these patches have seen extensive testing
  both upstream and in more recent releases of Ubuntu. Nonetheless, these new
  packages will be rigorously tested through autopkgtest to avoid any possible
  Xenial-specific regressions.

-- 
You received this bug 

[Touch-packages] [Bug 1846787] [NEW] systemd-logind leaves leftover sessions and scope files

2019-10-04 Thread Heitor Alves de Siqueira
Public bug reported:

[Impact]
Scope file leakage can cause SSH delays and reduce performance in systemd

[Description]
The current systemd-logind version present in Xenial can leave abandoned SSH
sessions and scope files in cases where the host sees a lot of concurrent SSH
connections. These leftover sessions can slow down systemd performance
greatly, and can have an impact on sshd handling a great number of concurrent
connections.

To fix this issue, patches are needed in both dbus and systemd. These improve 
the
performance of the communication between dbus and systemd, so that they can
handle a better volume of events (e.g. SSH logins). All of those patches are
already present from Bionic onwards, so we only need those fixes for Xenial.

== Systemd ==
Upstream patches:
- core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification 
(d8fdc62037b5)
- tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 
(fc2fffe7706e)
- journald: stack allocation cannot fail (23be5709e10b)

$ git describe --contains d8fdc62037b5 fc2fffe7706e 23be5709e10b
v230~71^2~2
v230~71^2~1
v230~71^2

$ rmadison systemd
 systemd | 229-4ubuntu4 | xenial  | source, ...
 systemd | 229-4ubuntu21.21 | xenial-security | source, ...
 systemd | 229-4ubuntu21.22 | xenial-updates  | source, ... <
 systemd | 237-3ubuntu10| bionic  | source, ...
 systemd | 237-3ubuntu10.29 | bionic-security | source, ...
 systemd | 237-3ubuntu10.29 | bionic-updates  | source, ...
 systemd | 237-3ubuntu10.31 | bionic-proposed | source, ...

== DBus ==
Upstream patches:
- Only read one message at a time if there are fds pending (892f084eeda0)
- bus: Fix timeout restarts  (529600397bca)
- DBusMainLoop: ensure all required timeouts are restarted (446b0d9ac75a)

$ git describe --contains 892f084eeda0 529600397bca 446b0d9ac75a
dbus-1.11.10~44
dbus-1.11.10~45
dbus-1.11.16~2

$ rmadison dbus
 dbus | 1.10.6-1ubuntu3| xenial   | source, ...
 dbus | 1.10.6-1ubuntu3.4  | xenial-security  | source, ...
 dbus | 1.10.6-1ubuntu3.4  | xenial-updates   | source, ... <
 dbus | 1.12.2-1ubuntu1| bionic   | source, ...
 dbus | 1.12.2-1ubuntu1.1  | bionic-security  | source, ...
 dbus | 1.12.2-1ubuntu1.1  | bionic-updates   | source, ...

[Test Case]
1) Simulate a lot of concurrent SSH connections with e.g. a for loop:
multipass@xenial-logind:~$ for i in {1..1000}; do sleep 0.1; ssh localhost 
sleep 1 > /dev/null & done

2) Check for leaked sessions in /run/systemd/system/:
multipass@xenial-logind:~$ ls -ld /run/systemd/system/session-*.scope*
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-103.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-104.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-105.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-106.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-110.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-111.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-112.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-113.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-114.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-115.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-116.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-117.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-118.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-119.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-120.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-121.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-122.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-123.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-126.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-131.scope.d
drwxr-xr-x 2 root root 160 Oct 4 15:34 /run/systemd/system/session-134.scope.d
...

[Regression Potential]
The regression potential is low, as these patches have seen extensive testing
both upstream and in more recent releases of Ubuntu. Nonetheless, these new
packages will be rigorously tested through autopkgtest to avoid any possible
Xenial-specific regressions.

** Affects: dbus (Ubuntu)
 Importance: Undecided
 Status: Fix Released

** Affects: systemd (Ubuntu)
 Importance: Undecided
 Status: Fix Released

** Affects: dbus (Ubuntu Xenial)
 Importance: Undecided
     Assignee: Heitor Alves de Siqueira (halves)
 Status: New

** Affects: systemd (Ubuntu Xenial)
 Importance: Undecided
     Assignee: Heitor Alves de Siqueira (halves)
 Status: New


[Touch-packages] [Bug 1818527] Re: Stub resolver cache is corrupted

2019-06-18 Thread Heitor Alves de Siqueira
Some comments on the Autopkgtest regressions:

- lxc (armhf) fails due to the ftpmaster.internal mirror failing

- libvirt (armhf) fails for the same reason ("Unable to connect to
ftpmaster.internal:http")

- systemd (ppc64el) has been failing since before this patch was
introduced, and looking at the test logs it doesn't seem to be related
to the stub resolver

- network-manager (arm64) has been failing since previous systemd
versions (since systemd/237-3ubuntu10.21)

- gvfs (arm64) fails due to a permission error that should be unrelated
to the stub resolver ("GLib.Error('Not authorized to perform ope[83
chars]', 0) != True")

- gvfs (i386) has been failing since before this patch was introduced

After going through the autopkgtest logs for the above, it seems that
the failures are either due to autopkgtest infra, or have been
introduced by something other than the systemd upload.

** Tags removed: verification-needed
** Tags added: verification-done

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1818527

Title:
  Stub resolver cache is corrupted

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Invalid
Status in systemd source package in Bionic:
  Fix Committed

Bug description:
  [Impact]
  systemd-resolved fails to resolve A records

  [Description]
  When systemd-resolve caches a non-existent CNAME record for a specific 
domain, further attempts at resolving A records for that same domain  fail. 
This has been fixed upstream in v240.

  Upstream commit:
  https://github.com/systemd/systemd/commit/3740146a4cbd

  $ git describe --contains 3740146a4cbd
  v240~839

  $ rmadison systemd --arch amd64
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.21 | xenial-security | source, ...
   systemd | 229-4ubuntu21.21 | xenial-updates  | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.19 | bionic-security | source, ...
   systemd | 237-3ubuntu10.21 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.22 | bionic-proposed | source, ...
   systemd | 239-7ubuntu10| cosmic  | source, ...
   systemd | 239-7ubuntu10.12 | cosmic-security | source, ...
   systemd | 239-7ubuntu10.13 | cosmic-updates  | source, ...
   systemd | 239-7ubuntu10.14 | cosmic-proposed | source, ...
   systemd | 240-6ubuntu5 | disco   | source, ...
   systemd | 240-6ubuntu5.1   | disco-proposed  | source, ...
   systemd | 240-6ubuntu9 | eoan| source, ...

  Despite the package versions above, only Bionic is affected. Cosmic
  already includes a backported fix, and Xenial doesn't seem affected
  due  to resolvconf handling DNS resolution.

  [Test Case]
  Flush resolved's caches and try resolving a non-existent CNAME record. 
Further resolution attempts for the corresponding A record will fail:

  #1
  On a Bionic host:
  $ systemd-resolve --flush-caches
  $ dig github.com CNAME
  
  ;; QUESTION SECTION:
  ;github.com.  IN  CNAME

  ;; Query time: 47 msec
  .

  $ dig github.com A
  
  ;; QUESTION SECTION:
  ;github.com.  IN  A

  ;; Query time: 0 msec
  

  While in reality, if no non-existent CNAME result query has been made
  first:

  $ systemd-resolve --flush-caches
  $ dig github.com
  
  ; QUESTION SECTION:
  ;github.com.  IN  A

  ;; ANSWER SECTION:
  github.com.   59  IN  A   192.30.253.112

  ;; Query time: 51 msec
  

  #2
  On a Bionic host:
  $ systemd-resolve --flush-caches
  $ dig github.com CNAME
  $ dig github.com A

  Build a lxd container with Cosmic/Disco/Eoan (systemd-240):
  $ lxc launch ubuntu:cosmic cosmiclxd
  $ lxd exec cosmiclxd bash
  $ dig github.com A
  
  ;; QUESTION SECTION:
  ;github.com.  IN  A

  ;; Query time: 0 msec
  

  Despite the fact that Cosmic and late has the proper systemd fix,
  Cosmic/Disco/Eoan container can suffer from the bug too if the host is
  Bionic (container uses the host as a DNS resolver).

  So you may face the problem inside Cosmic/Disco/Eoan container, but
  it's still the same Bionic systemd bug.

  [Regression Potential]
  The regression potential for this fix should be very low, as it's a direct 
cherry-pick from upstream systemd. It has seen extensive testing  in both 
upstream and other Ubuntu releases, and was verified for Bionic through 
autopkgtests.

  

  [Original Description]

  It seems that when systemd-resolve cache an non-existent CNAME record
  for a domain, any attempt to resolve A record for the same domain
  fail.

  systemd version the issue has been seen with
  Installed: 237-3ubuntu10.13
  Used distribution

  Distributor ID: Ubuntu
  Description: Ubuntu 18.04.2 LTS
  Release: 18.04
  

[Touch-packages] [Bug 1818527] Re: Stub resolver cache is corrupted

2019-06-14 Thread Heitor Alves de Siqueira
Verified for Bionic:

ubuntu@bionic:~$ dpkg -l | grep systemd
ii  systemd   237-3ubuntu10.23  
amd64system and service manager

ubuntu@bionic:~$ systemd-resolve --flush-caches

ubuntu@bionic:~$ dig +noall +answer github.com CNAME

ubuntu@bionic:~$ dig +noall +answer github.com A
github.com. 18  IN  A   140.82.118.4


** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1818527

Title:
  Stub resolver cache is corrupted

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Invalid
Status in systemd source package in Bionic:
  Fix Committed

Bug description:
  [Impact]
  systemd-resolved fails to resolve A records

  [Description]
  When systemd-resolve caches a non-existent CNAME record for a specific 
domain, further attempts at resolving A records for that same domain  fail. 
This has been fixed upstream in v240.

  Upstream commit:
  https://github.com/systemd/systemd/commit/3740146a4cbd

  $ git describe --contains 3740146a4cbd
  v240~839

  $ rmadison systemd --arch amd64
   systemd | 229-4ubuntu4 | xenial  | source, ...
   systemd | 229-4ubuntu21.21 | xenial-security | source, ...
   systemd | 229-4ubuntu21.21 | xenial-updates  | source, ...
   systemd | 237-3ubuntu10| bionic  | source, ...
   systemd | 237-3ubuntu10.19 | bionic-security | source, ...
   systemd | 237-3ubuntu10.21 | bionic-updates  | source, ...
   systemd | 237-3ubuntu10.22 | bionic-proposed | source, ...
   systemd | 239-7ubuntu10| cosmic  | source, ...
   systemd | 239-7ubuntu10.12 | cosmic-security | source, ...
   systemd | 239-7ubuntu10.13 | cosmic-updates  | source, ...
   systemd | 239-7ubuntu10.14 | cosmic-proposed | source, ...
   systemd | 240-6ubuntu5 | disco   | source, ...
   systemd | 240-6ubuntu5.1   | disco-proposed  | source, ...
   systemd | 240-6ubuntu9 | eoan| source, ...

  Despite the package versions above, only Bionic is affected. Cosmic
  already includes a backported fix, and Xenial doesn't seem affected
  due  to resolvconf handling DNS resolution.

  [Test Case]
  Flush resolved's caches and try resolving a non-existent CNAME record. 
Further resolution attempts for the corresponding A record will fail:

  #1
  On a Bionic host:
  $ systemd-resolve --flush-caches
  $ dig github.com CNAME
  
  ;; QUESTION SECTION:
  ;github.com.  IN  CNAME

  ;; Query time: 47 msec
  .

  $ dig github.com A
  
  ;; QUESTION SECTION:
  ;github.com.  IN  A

  ;; Query time: 0 msec
  

  While in reality, if no non-existent CNAME result query has been made
  first:

  $ systemd-resolve --flush-caches
  $ dig github.com
  
  ; QUESTION SECTION:
  ;github.com.  IN  A

  ;; ANSWER SECTION:
  github.com.   59  IN  A   192.30.253.112

  ;; Query time: 51 msec
  

  #2
  On a Bionic host:
  $ systemd-resolve --flush-caches
  $ dig github.com CNAME
  $ dig github.com A

  Build a lxd container with Cosmic/Disco/Eoan (systemd-240):
  $ lxc launch ubuntu:cosmic cosmiclxd
  $ lxd exec cosmiclxd bash
  $ dig github.com A
  
  ;; QUESTION SECTION:
  ;github.com.  IN  A

  ;; Query time: 0 msec
  

  Despite the fact that Cosmic and late has the proper systemd fix,
  Cosmic/Disco/Eoan container can suffer from the bug too if the host is
  Bionic (container uses the host as a DNS resolver).

  So you may face the problem inside Cosmic/Disco/Eoan container, but
  it's still the same Bionic systemd bug.

  [Regression Potential]
  The regression potential for this fix should be very low, as it's a direct 
cherry-pick from upstream systemd. It has seen extensive testing  in both 
upstream and other Ubuntu releases, and was verified for Bionic through 
autopkgtests.

  

  [Original Description]

  It seems that when systemd-resolve cache an non-existent CNAME record
  for a domain, any attempt to resolve A record for the same domain
  fail.

  systemd version the issue has been seen with
  Installed: 237-3ubuntu10.13
  Used distribution

  Distributor ID: Ubuntu
  Description: Ubuntu 18.04.2 LTS
  Release: 18.04
  Codename: bionic

  Expected behaviour you didn't see

  Return A record for a domain when it exists.

  Unexpected behaviour you saw

  Resolution failed.

  Steps to reproduce the problem

  Whait for 1 minutes (github.com TTL for A record)

  Try to resolv github.com CNAME record dig CNAME github.com

  This will return an empty result.

  Then try to resolve github.com A record dig A github.com.

  This will now return empty result unless you restart systemd-resolved
  or wait for cache 

[Touch-packages] [Bug 1803203] Re: Support preferred_lft for IPv6 addresses

2019-06-07 Thread Heitor Alves de Siqueira
@rlaager
I've started a PR discussion on Netplan.io's Github with your proposed changes 
as they seemed the best way forward for now.

I don't expect this to get merged right away, as the maintainers might
want to discuss the changes to the schema in further detail. In any
case, this should at least start a discussion on getting this fixed in
upstream netplan.

https://github.com/CanonicalLtd/netplan/pull/89

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1803203

Title:
  Support preferred_lft for IPv6 addresses

Status in netplan:
  New
Status in netplan.io package in Ubuntu:
  In Progress
Status in systemd package in Ubuntu:
  Fix Released

Bug description:
  There doesn't currently seem to be any way to set the preferred_lft of
  an IPv6 address.

  With the "ip" command it might be, for example:

  # ip address add 2001:db8::2/32 dev eth0 preferred_lft 0

  In a systemd unit file it might be:

  [Match]
  Name=eth0

  [Network]
  Address=2001:db8::2/32
  Gateway=2001:db8::1/32
  PreferredLifetime=0

  but I can't find any way to express this with netplan.

  This is commonly used for per-service IP addresses that should never
  be used as source addresses for outgoing traffic.

To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/1803203/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1818527] Re: Stub resolver cache is corrupted

2019-06-05 Thread Heitor Alves de Siqueira
** Description changed:

+ [Impact]
+ systemd-resolved fails to resolve A records
+ 
+ [Description]
+ When systemd-resolve caches a non-existent CNAME record for a specific 
domain, further attempts at resolving A records for that same domain  fail. 
This has been fixed upstream in v240.
+ 
+ Upstream commit: https://github.com/systemd/systemd/commit/3740146a4cbd
+ 
+ $ git describe --contains 3740146a4cbd
+ v240~839
+ 
+ $ rmadison systemd --arch amd64
+  systemd | 229-4ubuntu4 | xenial  | source, ...
+  systemd | 229-4ubuntu21.21 | xenial-security | source, ...
+  systemd | 229-4ubuntu21.21 | xenial-updates  | source, ...
+  systemd | 237-3ubuntu10| bionic  | source, ...
+  systemd | 237-3ubuntu10.19 | bionic-security | source, ...
+  systemd | 237-3ubuntu10.21 | bionic-updates  | source, ...
+  systemd | 237-3ubuntu10.22 | bionic-proposed | source, ...
+  systemd | 239-7ubuntu10| cosmic  | source, ...
+  systemd | 239-7ubuntu10.12 | cosmic-security | source, ...
+  systemd | 239-7ubuntu10.13 | cosmic-updates  | source, ...
+  systemd | 239-7ubuntu10.14 | cosmic-proposed | source, ...
+  systemd | 240-6ubuntu5 | disco   | source, ...
+  systemd | 240-6ubuntu5.1   | disco-proposed  | source, ...
+  systemd | 240-6ubuntu9 | eoan| source, ...
+ 
+ Despite the package versions above, only Bionic is affected. Cosmic
+ already includes a backported fix, and Xenial doesn't seem affected due
+ to resolvconf handling DNS resolution.
+ 
+ [Test Case]
+ Flush resolved's caches and try resolving a non-existent CNAME record. 
Further resolution attempts for the corresponding A record will fail:
+ 
+ $ systemd-resolve --flush-caches
+ $ dig github.com CNAME
+ $ dig github.com A
+ 
+ [Regression Potential]
+ The regression potential for this fix should be very low, as it's a direct 
cherry-pick from upstream systemd. It has seen extensive testing  in both 
upstream and other Ubuntu releases, and was verified for Bionic through 
autopkgtests.
+ 
+ 
+ 
+ [Original Description]
+ 
  It seems that when systemd-resolve cache an non-existent CNAME record
  for a domain, any attempt to resolve A record for the same domain fail.
  
  systemd version the issue has been seen with
  Installed: 237-3ubuntu10.13
  Used distribution
  
  Distributor ID: Ubuntu
  Description: Ubuntu 18.04.2 LTS
  Release: 18.04
  Codename: bionic
  
  Expected behaviour you didn't see
  
  Return A record for a domain when it exists.
  
  Unexpected behaviour you saw
  
  Resolution failed.
  
  Steps to reproduce the problem
  
  Whait for 1 minutes (github.com TTL for A record)
  
  Try to resolv github.com CNAME record dig CNAME github.com
  
  This will return an empty result.
  
  Then try to resolve github.com A record dig A github.com.
  
  This will now return empty result unless you restart systemd-resolved or
  wait for cache expiration.
  
  At the same time using another DNS will resolve correctly dig A
  github.com @8.8.8.8.
  
  Exemple :
  
  Wait for 1 minutes to let cache expire, then run
  
  dig CNAME github.com
  dig A github.com
  # no result
  dig A github.com @8.8.8.8
  # ;; ANSWER SECTION:
  # github.com. 59  IN  A   192.30.253.113
  # github.com. 59  IN  A   192.30.253.112
  
  PS: Don't forget to restart systemd-resolve, before trying to post an
  answer.
  
  This bug was first reported in github
  https://github.com/systemd/systemd/issues/11789 but systemd version in
  ubuntu is too  old.

** Changed in: systemd (Ubuntu Xenial)
   Status: New => Invalid

** Changed in: systemd (Ubuntu Xenial)
   Importance: Medium => Undecided

** Changed in: systemd (Ubuntu Xenial)
 Assignee: Heitor Alves de Siqueira (halves) => (unassigned)

** Changed in: systemd (Ubuntu Bionic)
   Status: Confirmed => In Progress

** Patch added: "lp1818527-bionic.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1818527/+attachment/5268921/+files/lp1818527-bionic.debdiff

** Tags added: sts sts-sponsor

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1818527

Title:
  Stub resolver cache is corrupted

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Invalid
Status in systemd source package in Bionic:
  In Progress

Bug description:
  [Impact]
  systemd-resolved fails to resolve A records

  [Description]
  When systemd-resolve caches a non-existent CNAME record for a specific 
domain, further attempts at resolving A records for that same domain  fail. 
This has been fixed upstream in v240.

  Upstream commit:
  https://github.com/systemd/systemd/commit/3740146a4cbd

  $ git describe --contains 3740146a4cbd
  v240~839

  $ rmadison systemd --arch amd64
   systemd | 229-4ubuntu4 | xe

[Touch-packages] [Bug 1818527] Re: Stub resolver cache is corrupted

2019-06-05 Thread Heitor Alves de Siqueira
** Also affects: systemd (Ubuntu Xenial)
   Importance: Undecided
   Status: New

** Also affects: systemd (Ubuntu Bionic)
   Importance: Undecided
   Status: New

** Changed in: systemd (Ubuntu Bionic)
   Status: New => Confirmed

** Changed in: systemd (Ubuntu)
   Status: Confirmed => Fix Released

** Changed in: systemd (Ubuntu Bionic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: systemd (Ubuntu Xenial)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: systemd (Ubuntu Bionic)
   Importance: Undecided => Medium

** Changed in: systemd (Ubuntu Xenial)
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1818527

Title:
  Stub resolver cache is corrupted

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  New
Status in systemd source package in Bionic:
  Confirmed

Bug description:
  It seems that when systemd-resolve cache an non-existent CNAME record
  for a domain, any attempt to resolve A record for the same domain
  fail.

  systemd version the issue has been seen with
  Installed: 237-3ubuntu10.13
  Used distribution

  Distributor ID: Ubuntu
  Description: Ubuntu 18.04.2 LTS
  Release: 18.04
  Codename: bionic

  Expected behaviour you didn't see

  Return A record for a domain when it exists.

  Unexpected behaviour you saw

  Resolution failed.

  Steps to reproduce the problem

  Whait for 1 minutes (github.com TTL for A record)

  Try to resolv github.com CNAME record dig CNAME github.com

  This will return an empty result.

  Then try to resolve github.com A record dig A github.com.

  This will now return empty result unless you restart systemd-resolved
  or wait for cache expiration.

  At the same time using another DNS will resolve correctly dig A
  github.com @8.8.8.8.

  Exemple :

  Wait for 1 minutes to let cache expire, then run

  dig CNAME github.com
  dig A github.com
  # no result
  dig A github.com @8.8.8.8
  # ;; ANSWER SECTION:
  # github.com. 59  IN  A   192.30.253.113
  # github.com. 59  IN  A   192.30.253.112

  PS: Don't forget to restart systemd-resolve, before trying to post an
  answer.

  This bug was first reported in github
  https://github.com/systemd/systemd/issues/11789 but systemd version in
  ubuntu is too  old.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1818527/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1803203] Re: Support preferred_lft for IPv6 addresses

2019-05-27 Thread Heitor Alves de Siqueira
Some notes for reference:

We might actually have some trouble in expressing the Lifetime of an
Address in the Netplan schema. From the Netplan Reference [0] we can see
that the 'addresses:' field accepts a list of mixed IPv4 and IPv6
addresses. We can't just add a 'lifetime:' field to the schema, because
then we wouldn't have a way to link that value to one of the addresses
in the mixed list. I can see a few different ways to change the
configuration to accommodate the lifetime change:

1) Implement a list of lifetimes, which would "follow" the list of addresses
  (i.e. lifetime[0] corresponds to addresses[0] and so on)

2) Modify the address syntax inside the list to allow an optional lifetime, 
e.g.:
  addresses: [127.0.0.1 (forever), "2001:1::1/64 (0)"]

3) Allow the definition of an address+lifetime mapping and use that in the
'addresses' field, e.g.:
  myaddr:
value: 127.0.0.1
lifetime: 0
  ...
  addresses: [ myaddr, 2001:1::1/64 ]

Option 1 has the obvious problem of matching one lifetime to a list of
multiple addresses. Say we want to specify a lifetime to address number
K in the list, would we need to specify a lifetime for all of them? How
would we "skip" default lifetimes with this approach?

Option 2 has the benefit of being somewhat compatible with the current
schema in the sense that if no lifetime is specified, we can keep the
current behavior. I feel like it would introduce a lot of complexity in
the schema parsing code to sort the addresses from the lifetime though,
and this might not be something that we want in a sensitive code
section.

Option 3 looks very flexible, but I'm not familiar enough with the
schema and its parsing code to estimate the impact that would have. I
think we would need quite a few significant changes, and I'm not really
sure where we would place the 'myaddr' definition in the schema either.

None of the above options feel like a good way to solve the lifetime
problem, but I'm not sure we have an easy way to integrate that into the
current netplan schema. Perhaps someone more experienced with the
Netplan schema/codebase might offer better insight on how to tackle this
issue.

[0] https://netplan.io/reference

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1803203

Title:
  Support preferred_lft for IPv6 addresses

Status in netplan:
  New
Status in netplan.io package in Ubuntu:
  In Progress
Status in systemd package in Ubuntu:
  Fix Released

Bug description:
  There doesn't currently seem to be any way to set the preferred_lft of
  an IPv6 address.

  With the "ip" command it might be, for example:

  # ip address add 2001:db8::2/32 dev eth0 preferred_lft 0

  In a systemd unit file it might be:

  [Match]
  Name=eth0

  [Network]
  Address=2001:db8::2/32
  Gateway=2001:db8::1/32
  PreferredLifetime=0

  but I can't find any way to express this with netplan.

  This is commonly used for per-service IP addresses that should never
  be used as source addresses for outgoing traffic.

To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/1803203/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-10 Thread Heitor Alves de Siqueira
Some comments on the autopkgtest regressions:

# Disco
- prometheus-blackbox-exporter and open-isns fail due to package dependency 
problems, unrelated to debconf

- makedumpfile fails with "sudo: /tmp/autopkgtest-run-wrapper: command
not found", which has happened in other previous autopkgtests
(perl/5.28.1-6, file/1:5.35-4, elfutils/0.176-1). This does not seem to
be related to the debconf update

# Cosmic
- murano seems to fail due to a syntax error in python3-murano, preventing dpkg 
from successfully configuring it. It has been failing since before the debconf 
change was introduced

- cacti fails due to "ERROR PHP WARNING: A non-numeric value encountered
in file: /usr/share/cacti/site/poller.php  on line: 652", which is not
related to the debconf changes

- pbuilder is failing due to a missing Eoan script, might be related to
LP: #1825994

- glibc fails due to a timeout on the test suite, and doesn't look
related to our debconf changes

# Bionic
- pbuilder is still failing due to a missing Eoan script, might be related to 
LP: #1825994

- redmine is failing due to not being able to pull some packages for the
test setup

- makedumpfile has been failing since before the debconf changes with
"makedumpfile: ERROR: crash test: kdump is not ready"

- cacti fails due to "Unexpected output in /var/log/cacti/cacti.log:
05/08/2019 19:45:00 - AUTOM8 WARNING: The Network ID: 1 is disabled.  You must 
use the 'force' option to force it's execution."

- open-iscsi is failing since debconf/1.5.66, so it doesn't look to be
caused by our changes

** Tags removed: verification-needed
** Tags added: verification-done

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Fix Committed
Status in debconf source package in Bionic:
  Fix Committed
Status in debconf source package in Cosmic:
  Fix Committed
Status in debconf source package in Disco:
  Fix Committed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file 

[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-10 Thread Heitor Alves de Siqueira
Validated debconf from bionic-proposed according to test case from
description:

root@bionic:~# dpkg -l | grep debconf
ii  debconf 1.5.66ubuntu1   
all  Debian configuration management system

root@bionic:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
...
/etc/kernel/postinst.d/x-grub-legacy-ec2:
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
debconf: falling back to frontend: Readline
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
A new version of /boot/grub/menu.lst is available, but the version installed 
currently has been locally modified.

  1. install the package maintainer's version3. show the differences 
between the versions5. show a 3-way difference between available 
versions  7. start a new shell to examine the situation
  2. keep the local version currently installed  4. show a side-by-side 
difference between the versions  6. do a 3-way merge between available versions 
(experimental)

What would you like to do about menu.lst?

** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Fix Committed
Status in debconf source package in Bionic:
  Fix Committed
Status in debconf source package in Cosmic:
  Fix Committed
Status in debconf source package in Disco:
  Fix Committed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline 

[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-10 Thread Heitor Alves de Siqueira
Validated debconf from xenial-proposed according to test case from
description:

root@xenial:~# dpkg -l | grep debconf
ii  debconf  1.5.58ubuntu2  
all  Debian configuration management system

root@xenial:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
...
/etc/kernel/postinst.d/x-grub-legacy-ec2:
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
debconf: falling back to frontend: Readline
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
A new version of /boot/grub/menu.lst is available, but the version installed 
currently has been locally modified.

  1. install the package maintainer's version3. show the differences 
between the versions5. show a 3-way difference between available 
versions  7. start a new shell to examine the situation
  2. keep the local version currently installed  4. show a side-by-side 
difference between the versions  6. do a 3-way merge between available versions 
(experimental)

What would you like to do about menu.lst?

** Tags removed: verification-needed-xenial
** Tags added: verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Fix Committed
Status in debconf source package in Bionic:
  Fix Committed
Status in debconf source package in Cosmic:
  Fix Committed
Status in debconf source package in Disco:
  Fix Committed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline 

[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-08 Thread Heitor Alves de Siqueira
Validated debconf from cosmic-proposed according to test case from
description:

root@cosmic:~# dpkg -l | grep debconf
ii  debconf 1.5.69ubuntu1   all 
 Debian configuration management system

root@cosmic:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
...
/etc/kernel/postinst.d/x-grub-legacy-ec2:
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
debconf: falling back to frontend: Readline
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
A new version of /boot/grub/menu.lst is available, but the version installed 
currently has been locally modified.

  1. install the package maintainer's version3. show the differences 
between the versions5. show a 3-way difference between available 
versions  7. start a new shell to examine the situation
  2. keep the local version currently installed  4. show a side-by-side 
difference between the versions  6. do a 3-way merge between available versions 
(experimental)

What would you like to do about menu.lst?

** Tags removed: verification-needed-cosmic
** Tags added: verification-done-cosmic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Fix Committed
Status in debconf source package in Bionic:
  Fix Committed
Status in debconf source package in Cosmic:
  Fix Committed
Status in debconf source package in Disco:
  Fix Committed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-08 Thread Heitor Alves de Siqueira
Validated debconf from disco-proposed according to test case from
description:

root@disco:~# dpkg -l | grep debconf
ii  debconf 1.5.71ubuntu1   all 
 Debian configuration management system

root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
...
/etc/kernel/postinst.d/x-grub-legacy-ec2:
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
debconf: falling back to frontend: Readline
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
A new version of /boot/grub/menu.lst is available, but the version installed 
currently has been locally modified.

  1. install the package maintainer's version3. show the differences 
between the versions5. show a 3-way difference between available 
versions  7. start a new shell to examine the situation
  2. keep the local version currently installed  4. show a side-by-side 
difference between the versions  6. do a 3-way merge between available versions 
(experimental)

What would you like to do about menu.lst?

** Tags removed: verification-needed-disco
** Tags added: verification-done-disco

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Fix Committed
Status in debconf source package in Bionic:
  Fix Committed
Status in debconf source package in Cosmic:
  Fix Committed
Status in debconf source package in Disco:
  Fix Committed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  

[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-07 Thread Heitor Alves de Siqueira
** Patch added: "lp1822270-cosmic.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+attachment/5262099/+files/lp1822270-cosmic.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-07 Thread Heitor Alves de Siqueira
** Patch added: "lp1822270-bionic.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+attachment/5262100/+files/lp1822270-bionic.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-07 Thread Heitor Alves de Siqueira
** Patch added: "lp1822270-xenial.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+attachment/5262101/+files/lp1822270-xenial.debdiff

** Tags added: sts-sponsor

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-07 Thread Heitor Alves de Siqueira
** Patch added: "lp1822270-disco.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+attachment/5262098/+files/lp1822270-disco.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Fix Released
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Fix Released
Status in debconf package in Debian:
  Fix Released

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst?

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-05-06 Thread Heitor Alves de Siqueira
** Description changed:

  [Impact]
  debconf prompts the user for input before displaying options
  
  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.
  
  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any of
  the available options for it, and printing will block until the user
  inputs a valid option.
+ 
+ Upstream commit: https://salsa.debian.org/pkg-
+ debconf/debconf/commit/48c5ce38cfd5
  
  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco
  
  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y
  
  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst
  
  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
- What would you like to do about menu.lst? 
+ What would you like to do about menu.lst?
  
  The "What would you like to do about menu.lst?" prompt will block until
  the user enter a valid option, even though it's being displayed before
  the available options.
  
  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.
  
  # # # #
  
  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.
  
  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.
  
  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.
  
  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/
  
  STEPS TO REPRODUCE:
  
  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img
  
  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Confirmed
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Confirmed
Status in debconf package in Debian:
  Fix Committed

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  Upstream commit: https://salsa.debian.org/pkg-
  debconf/debconf/commit/48c5ce38cfd5

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create 

[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-04-29 Thread Heitor Alves de Siqueira
** Bug watch added: Debian Bug tracker #928182
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928182

** Also affects: debconf (Debian) via
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928182
   Importance: Unknown
   Status: Unknown

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Confirmed
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Confirmed
Status in debconf package in Debian:
  Unknown

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst? 

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-04-24 Thread Heitor Alves de Siqueira
** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Confirmed
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Confirmed

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to force the readline frontend in debconf
  root@disco:~# apt remove --purge whiptail -y

  3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
  root@disco:~# apt update && apt install -y grub-legacy-ec2
  root@disco:~# rm -f /boot/grub/menu.lst*
  root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst

  4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
  root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
  ...
  /etc/kernel/postinst.d/x-grub-legacy-ec2:
  debconf: unable to initialize frontend: Dialog
  debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
  debconf: falling back to frontend: Readline
  Searching for GRUB installation directory ... found: /boot/grub
  Searching for default file ... found: /boot/grub/default
  Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
  Searching for splash image ... none found, skipping ...
  What would you like to do about menu.lst? 

  The "What would you like to do about menu.lst?" prompt will block
  until the user enter a valid option, even though it's being displayed
  before the available options.

  [Regression Potential]
  We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.

  # # # #

  [Original Description]
  When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-04-23 Thread Heitor Alves de Siqueira
** Description changed:

- AFFECTED RELEASE:
+ [Impact]
+ debconf prompts the user for input before displaying options
  
- Bionic
+ [Description]
+ When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.
  
- PACKAGE VERSION:
+ If debconf makes use of the readline frontend, any prompts will bypass
+ the run-parts buffers and be displayed directly to /dev/tty. This
+ generally causes the prompt to be displayed before the user gets any of
+ the available options for it, and printing will block until the user
+ inputs a valid option.
  
- debconf - 1.5.66
+ [Test Case]
+ 1) Deploy a VM through e.g. uvt-kvm
+ $ uvt-kvm create disco release=disco
  
- DESCRIPTION:
+ 2) Remove the whiptail package to force the readline frontend in debconf
+ root@disco:~# apt remove --purge whiptail -y
  
- When upgrading the kernel on a recent Bionic minimal image, the user is
- prompted to resolve a conflict in the file /boot/grub/menu.lst.
+ 3) Install grub-legacy-ec2 and prepare /boot/grub/menu.lst for an upgrade 
through run-parts
+ root@disco:~# apt update && apt install -y grub-legacy-ec2
+ root@disco:~# rm -f /boot/grub/menu.lst*
+ root@disco:~# touch -d "4 years ago" /boot/grub/menu.lst
+ 
+ 4) Invoke run-parts as in a kernel upgrade (kernel version doesn't matter, we 
just need it to think menu.lst needs an upgrade)
+ root@disco:~# run-parts --exit-on-error --arg=5.0.0 /etc/kernel/postinst.d 
--report
+ ...
+ /etc/kernel/postinst.d/x-grub-legacy-ec2:
+ debconf: unable to initialize frontend: Dialog
+ debconf: (No usable dialog-like program is installed, so the dialog based 
frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 
76.)
+ debconf: falling back to frontend: Readline
+ Searching for GRUB installation directory ... found: /boot/grub
+ Searching for default file ... found: /boot/grub/default
+ Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
+ Searching for splash image ... none found, skipping ...
+ What would you like to do about menu.lst? 
+ 
+ The "What would you like to do about menu.lst?" prompt will block until
+ the user enter a valid option, even though it's being displayed before
+ the available options.
+ 
+ [Regression Potential]
+ We could hit regressions if changing debconf's printing to /dev/tty is 
expected by other programs. The changes are needed only in the readline 
frontend, so that would minimize impact of any possible regressions. The fixes 
will be thoroughly tested with autopkgtest and use-case scenarios.
+ 
+ # # # #
+ 
+ [Original Description]
+ When upgrading the kernel on a recent Bionic minimal image, the user is 
prompted to resolve a conflict in the file /boot/grub/menu.lst.
  
  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.
  
  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.
  
  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/
  
  STEPS TO REPRODUCE:
  
  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img
  
  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Confirmed
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Confirmed

Bug description:
  [Impact]
  debconf prompts the user for input before displaying options

  [Description]
  When upgrading packages with apt or dpkg, debconf scripts are ran through 
'run-parts' with the '--report' flag. This causes script output to be handled 
through pipes set up by run-parts, and buffers output from maintainer scripts 
nicely for formatting.

  If debconf makes use of the readline frontend, any prompts will bypass
  the run-parts buffers and be displayed directly to /dev/tty. This
  generally causes the prompt to be displayed before the user gets any
  of the available options for it, and printing will block until the
  user inputs a valid option.

  [Test Case]
  1) Deploy a VM through e.g. uvt-kvm
  $ uvt-kvm create disco release=disco

  2) Remove the whiptail package to 

[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-04-23 Thread Heitor Alves de Siqueira
** Changed in: debconf (Ubuntu Xenial)
   Status: New => Confirmed

** Changed in: debconf (Ubuntu Disco)
   Importance: Undecided => Medium

** Changed in: debconf (Ubuntu Disco)
   Importance: Medium => High

** Changed in: debconf (Ubuntu Bionic)
   Importance: Undecided => High

** Changed in: debconf (Ubuntu Cosmic)
   Importance: Undecided => High

** Changed in: debconf (Ubuntu Xenial)
   Importance: Undecided => High

** Changed in: debconf (Ubuntu Eoan)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: debconf (Ubuntu Disco)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: debconf (Ubuntu Cosmic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: debconf (Ubuntu Bionic)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

** Changed in: debconf (Ubuntu Xenial)
 Assignee: (unassigned) => Heitor Alves de Siqueira (halves)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Confirmed
Status in debconf source package in Xenial:
  Confirmed
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Confirmed

Bug description:
  AFFECTED RELEASE:

  Bionic

  PACKAGE VERSION:

  debconf - 1.5.66

  DESCRIPTION:

  When upgrading the kernel on a recent Bionic minimal image, the user
  is prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1822270] Re: Debconf readline frontend does not show options

2019-04-23 Thread Heitor Alves de Siqueira
** Also affects: debconf (Ubuntu Eoan)
   Importance: High
   Status: Confirmed

** Also affects: debconf (Ubuntu Cosmic)
   Importance: Undecided
   Status: New

** Also affects: debconf (Ubuntu Bionic)
   Importance: Undecided
   Status: New

** Also affects: debconf (Ubuntu Xenial)
   Importance: Undecided
   Status: New

** Also affects: debconf (Ubuntu Disco)
   Importance: Undecided
   Status: New

** Changed in: debconf (Ubuntu Disco)
   Status: New => Confirmed

** Changed in: debconf (Ubuntu Cosmic)
   Status: New => Confirmed

** Changed in: debconf (Ubuntu Bionic)
   Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to debconf in Ubuntu.
https://bugs.launchpad.net/bugs/1822270

Title:
  Debconf readline frontend does not show options

Status in debconf package in Ubuntu:
  Confirmed
Status in debconf source package in Xenial:
  New
Status in debconf source package in Bionic:
  Confirmed
Status in debconf source package in Cosmic:
  Confirmed
Status in debconf source package in Disco:
  Confirmed
Status in debconf source package in Eoan:
  Confirmed

Bug description:
  AFFECTED RELEASE:

  Bionic

  PACKAGE VERSION:

  debconf - 1.5.66

  DESCRIPTION:

  When upgrading the kernel on a recent Bionic minimal image, the user
  is prompted to resolve a conflict in the file /boot/grub/menu.lst.

  The minimal images do not have dialog/whiptail installed, so debconf
  falls back to using the readline frontend.

  The user sees the prompt: "What would you like to do about menu.lst?"
  but is not presented with the list of options to choose from.

  If a valid option is typed in, debconf will continue processing
  correctly and the list of options  appears on the screen. See also
  https://pastebin.ubuntu.com/p/8xvSn88SKG/

  STEPS TO REPRODUCE:

  Launch the minimal Bionic image with serial 20190212 http://cloud-
  images.ubuntu.com/minimal/releases/bionic/release-20190212/ubuntu-18.04
  -minimal-cloudimg-amd64.img

  for example via multipass and run `apt-get update` and `apt-get dist-
  upgrade`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debconf/+bug/1822270/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-22 Thread Heitor Alves de Siqueira
There's a failing autopkgtest for gnupg2 that flagged this openldap
update for cosmic, but openldap looks fine.

Checking autopkgtest logs for gnupg2 [0], the tests were failing before
the openldap update, and it's not related to this fix. The culprit seems
to be a dependency problem with wine/libwine [1].

[0] http://autopkgtest.ubuntu.com/packages/g/gnupg2/cosmic/amd64
[1] 
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-cosmic/cosmic/amd64/g/gnupg2/20190416_135202_50915@/log.gz

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Fix Committed
Status in openldap source package in Bionic:
  Fix Committed
Status in openldap source package in Cosmic:
  Fix Committed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)

  6) Check if systemd has loaded both
  /run/systemd/generator.late/slapd.service &
  /usr/lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf

  $ systemctl cat slapd

  [Regression Potential]
  The regression potential for this fix should be very low, if we keep the new 
systemd unit file close to the one generated by systemd-sysv-generator(8). The 
only significant change would be the RemainAfterExit directive, and this should 
make the slapd service behave like a "normal" forking service. Nonetheless, 
we'll perform scripted test runs to make sure no regressions arise.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-22 Thread Heitor Alves de Siqueira
Verified according to test case in description for xenial:

root@xenial:~# dpkg -l | grep slapd
ii  slapd2.4.42+dfsg-2ubuntu3.5 
amd64OpenLDAP server (slapd)

root@xenial:~# systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
   Loaded: loaded (/etc/init.d/slapd; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/slapd.service.d
   └─slapd-remain-after-exit.conf
   Active: active (running) since Mon 2019-04-22 20:23:10 UTC; 14s ago
 Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/slapd.service
   └─5920 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap 
-F /etc/ldap/slapd.d

root@xenial:~# kill -9 5920

root@xenial:~# systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
   Loaded: loaded (/etc/init.d/slapd; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/slapd.service.d
   └─slapd-remain-after-exit.conf
   Active: inactive (dead) since Mon 2019-04-22 20:23:30 UTC; 1s ago
 Docs: man:systemd-sysv-generator(8)
  Process: 5989 ExecStop=/etc/init.d/slapd stop (code=exited, status=0/SUCCESS)

root@xenial:~# systemctl cat slapd
# /run/systemd/generator.late/slapd.service
# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/slapd
Description=LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
Before=shutdown.target
After=remote-fs.target
After=network-online.target
After=systemd-journald-dev-log.socket
Wants=network-online.target
Conflicts=shutdown.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/init.d/slapd start
ExecStop=/etc/init.d/slapd stop

# /lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf
[Service]
Type=forking
RemainAfterExit=no

** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Fix Committed
Status in openldap source package in Bionic:
  Fix Committed
Status in openldap source package in Cosmic:
  Fix Committed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access 

[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-22 Thread Heitor Alves de Siqueira
Verified according to test case in description for bionic:

root@bionic:~# dpkg -l | grep slapd
ii  slapd2.4.45+dfsg-1ubuntu1.2amd64
OpenLDAP server (slapd)

root@bionic:~# systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
   Loaded: loaded (/etc/init.d/slapd; generated)
  Drop-In: /lib/systemd/system/slapd.service.d
   └─slapd-remain-after-exit.conf
   Active: active (running) since Mon 2019-04-22 20:15:10 UTC; 4min 23s ago
 Docs: man:systemd-sysv-generator(8)
Tasks: 3 (limit: 4915)
   CGroup: /system.slice/slapd.service
   └─907 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap 
-F /etc/ldap/slapd.d

root@bionic:~# kill -9 907

root@bionic:~# systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
   Loaded: loaded (/etc/init.d/slapd; generated)
  Drop-In: /lib/systemd/system/slapd.service.d
   └─slapd-remain-after-exit.conf
   Active: inactive (dead) since Mon 2019-04-22 20:19:40 UTC; 1s ago
 Docs: man:systemd-sysv-generator(8)
  Process: 1011 ExecStop=/etc/init.d/slapd stop (code=exited, status=0/SUCCESS)

root@bionic:~# systemctl cat slapd
# /run/systemd/generator.late/slapd.service
# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/slapd
Description=LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
After=remote-fs.target
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
SuccessExitStatus=5 6
ExecStart=/etc/init.d/slapd start
ExecStop=/etc/init.d/slapd stop

# /lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf
[Service]
Type=forking
RemainAfterExit=no

** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Fix Committed
Status in openldap source package in Bionic:
  Fix Committed
Status in openldap source package in Cosmic:
  Fix Committed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 

[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-22 Thread Heitor Alves de Siqueira
Verified according to test case in description for cosmic:

root@cosmic:~# dpkg -l | grep slapd
ii  slapd  2.4.46+dfsg-5ubuntu1.2 amd64 
   OpenLDAP server (slapd)

root@cosmic:~# systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
   Loaded: loaded (/etc/init.d/slapd; generated)
  Drop-In: /lib/systemd/system/slapd.service.d
   └─slapd-remain-after-exit.conf
   Active: active (running) since Mon 2019-04-22 20:15:01 UTC; 19s ago
 Docs: man:systemd-sysv-generator(8)
Tasks: 3 (limit: 4915)
   Memory: 612.7M
   CGroup: /system.slice/slapd.service
   └─2061 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap 
-F /etc/ldap/slapd.d

root@cosmic:~# kill -9 2061

root@cosmic:~# systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
   Loaded: loaded (/etc/init.d/slapd; generated)
  Drop-In: /lib/systemd/system/slapd.service.d
   └─slapd-remain-after-exit.conf
   Active: inactive (dead) since Mon 2019-04-22 20:15:40 UTC; 4s ago
 Docs: man:systemd-sysv-generator(8)
  Process: 2145 ExecStop=/etc/init.d/slapd stop (code=exited, status=0/SUCCESS)

root@cosmic:~# systemctl cat slapd
# /run/systemd/generator.late/slapd.service
# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/slapd
Description=LSB: OpenLDAP standalone server (Lightweight Directory Access 
Protocol)
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
After=remote-fs.target
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
SuccessExitStatus=5 6
ExecStart=/etc/init.d/slapd start
ExecStop=/etc/init.d/slapd stop

# /lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf
[Service]
Type=forking
RemainAfterExit=no


** Tags removed: verification-needed-cosmic
** Tags added: verification-done-cosmic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Fix Committed
Status in openldap source package in Bionic:
  Fix Committed
Status in openldap source package in Cosmic:
  Fix Committed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 

[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-10 Thread Heitor Alves de Siqueira
** Patch added: "lp1821343-bionic.debdiff"
   
https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254687/+files/lp1821343-bionic.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Confirmed
Status in openldap source package in Bionic:
  Confirmed
Status in openldap source package in Cosmic:
  Confirmed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)

  6) Check if systemd has loaded both
  /run/systemd/generator.late/slapd.service &
  /usr/lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf

  $ systemctl cat slapd

  [Regression Potential]
  The regression potential for this fix should be very low, if we keep the new 
systemd unit file close to the one generated by systemd-sysv-generator(8). The 
only significant change would be the RemainAfterExit directive, and this should 
make the slapd service behave like a "normal" forking service. Nonetheless, 
we'll perform scripted test runs to make sure no regressions arise.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-10 Thread Heitor Alves de Siqueira
** Patch added: "lp1821343-cosmic.debdiff"
   
https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254686/+files/lp1821343-cosmic.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Confirmed
Status in openldap source package in Bionic:
  Confirmed
Status in openldap source package in Cosmic:
  Confirmed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)

  6) Check if systemd has loaded both
  /run/systemd/generator.late/slapd.service &
  /usr/lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf

  $ systemctl cat slapd

  [Regression Potential]
  The regression potential for this fix should be very low, if we keep the new 
systemd unit file close to the one generated by systemd-sysv-generator(8). The 
only significant change would be the RemainAfterExit directive, and this should 
make the slapd service behave like a "normal" forking service. Nonetheless, 
we'll perform scripted test runs to make sure no regressions arise.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-10 Thread Heitor Alves de Siqueira
** Patch added: "lp1821343-xenial.debdiff"
   
https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254688/+files/lp1821343-xenial.debdiff

** Patch removed: "lp1821343-disco.debdiff"
   
https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254240/+files/lp1821343-disco.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Fix Released
Status in openldap source package in Xenial:
  Confirmed
Status in openldap source package in Bionic:
  Confirmed
Status in openldap source package in Cosmic:
  Confirmed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)

  6) Check if systemd has loaded both
  /run/systemd/generator.late/slapd.service &
  /usr/lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf

  $ systemctl cat slapd

  [Regression Potential]
  The regression potential for this fix should be very low, if we keep the new 
systemd unit file close to the one generated by systemd-sysv-generator(8). The 
only significant change would be the RemainAfterExit directive, and this should 
make the slapd service behave like a "normal" forking service. Nonetheless, 
we'll perform scripted test runs to make sure no regressions arise.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1821343] Re: slapd process failure is not detected by systemd

2019-04-09 Thread Heitor Alves de Siqueira
debdiff v2 with fixed author information

** Patch added: "v2-lp1821343-disco.debdiff"
   
https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254440/+files/v2-lp1821343-disco.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/1821343

Title:
  slapd process failure is not detected by systemd

Status in openldap package in Ubuntu:
  Confirmed
Status in openldap source package in Xenial:
  Confirmed
Status in openldap source package in Bionic:
  Confirmed
Status in openldap source package in Cosmic:
  Confirmed
Status in openldap package in Debian:
  New

Bug description:
  [Impact]
  Systemd service reports slapd as active, even though it may have failed

  [Description]
  The slapd package for OpenLDAP is shipped with a SysV-style init script 
(/etc/init.d/slapd). Systemd automatically converts this to a systemd service 
by generating the unit file using the systemd-sysv-generator(8) utility. The 
generated unit file contains Type=forking and RemainAfterExit=yes directives.

  If the slapd daemon process exits due to some failure (e.g., it
  receives a SIGTERM or SIGKILL), the failure is not detected properly
  by systemd. The service is still reported as active even though the
  child (daemon) process has exited with a signal.

  We can easily fix this by including a proper systemd service file for
  slapd in the openldap package. Since the init.d script already does
  most of the necessary work (parsing configs, setting up PID files,
  etc.), we don't need anything complicated for the systemd unit file.
  Just making sure that RemainAfterExit is set to "no" makes the systemd
  service behave in the expected way.

  [Test Case]
  1) Deploy a disco container
  $ lxc launch images:ubuntu/disco disco

  2) Install slapd
  ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y

  3) Verify that slapd is running with the auto-generated service
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)
  Tasks: 3 (limit: 4915)
     Memory: 712.6M
     CGroup: /system.slice/slapd.service
     └─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u 
openldap -F /etc/ldap/slapd.d

  4) SIGKILL the slapd process (PID is displayed in systemctl status output)
  ubuntu@disco:~$ sudo kill -9 1109

  5) Check if systemd service lists slapd as still active, even though it was 
terminated
  ubuntu@disco:~$ systemctl status slapd
  ● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory 
Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
     Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
   Docs: man:systemd-sysv-generator(8)
    Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, 
status=0/SUCCESS)

  6) Check if systemd has loaded both
  /run/systemd/generator.late/slapd.service &
  /usr/lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf

  $ systemctl cat slapd

  [Regression Potential]
  The regression potential for this fix should be very low, if we keep the new 
systemd unit file close to the one generated by systemd-sysv-generator(8). The 
only significant change would be the RemainAfterExit directive, and this should 
make the slapd service behave like a "normal" forking service. Nonetheless, 
we'll perform scripted test runs to make sure no regressions arise.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp