** Description changed:

+ [Impact]
+ 
+   - Users who have ulimit set high would see either slow
+     or failed pgrep and pkill commands
+   - Users who have ulimit set to unlimited would see
+     failed pgrep and pkill commands
+   - This bug occurs because the behavior of sysconf(_SC_ARG_MAX)
+     changed with a newer version of the kernel.
+ 
+ [Test Case]
+ 
+   - set the ulimit to unlimited by running `ulimit -S -s unlimited`
+   - run `pgrep bash` to see that the "cannot allocate" error is
+      printed and the command has failed.
+ 
+ [Where Problems Could Occur]
+ 
+   - We have set upper and lower limits on the size of the malloc, but
+     if further kernel versions break the call to sysconf in
+     unexpected ways we could still see problems.
+ 
+ [Original Description]
+ 
  If you have no stack limit (ulimit -S -s unlimited), any pgrep call will
  fail with an error:
  
  > pgrep vim
  pgrep: cannot allocate 4611686018427387903 bytes
  
  If you have a high stack limit (e.g. ulimit -S -s 500000), pgrep is very
  slow:
  
  > time pgrep vim
  2196
  real 8.48s user 8.40s syst 0.07s busy 99% rmem 253444
  
  The relevant upstream bug report could be: 
https://gitlab.com/procps-ng/procps/-/issues/152
  Archlinux bug report: https://bugs.archlinux.org/task/66093
  
  procps:
-   Installed: 2:3.3.16-1ubuntu2
-   500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
+   Installed: 2:3.3.16-1ubuntu2
+   500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

** Changed in: procps (Ubuntu Hirsute)
       Status: Triaged => In Progress

** Changed in: procps (Ubuntu Groovy)
       Status: Confirmed => In Progress

** Changed in: procps (Ubuntu Focal)
       Status: Confirmed => In Progress

** Changed in: procps (Ubuntu Hirsute)
       Status: In Progress => Fix Committed

-- 
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/1874824

Title:
  pgrep reports error "cannot allocate" when run without stack limit

Status in procps package in Ubuntu:
  Fix Committed
Status in procps source package in Focal:
  In Progress
Status in procps source package in Groovy:
  In Progress
Status in procps source package in Hirsute:
  Fix Committed
Status in procps package in Debian:
  New

Bug description:
  [Impact]

    - Users who have ulimit set high would see either slow
      or failed pgrep and pkill commands
    - Users who have ulimit set to unlimited would see
      failed pgrep and pkill commands
    - This bug occurs because the behavior of sysconf(_SC_ARG_MAX)
      changed with a newer version of the kernel.

  [Test Case]

    - set the ulimit to unlimited by running `ulimit -S -s unlimited`
    - run `pgrep bash` to see that the "cannot allocate" error is
       printed and the command has failed.

  [Where Problems Could Occur]

    - We have set upper and lower limits on the size of the malloc, but
      if further kernel versions break the call to sysconf in
      unexpected ways we could still see problems.

  [Original Description]

  If you have no stack limit (ulimit -S -s unlimited), any pgrep call
  will fail with an error:

  > pgrep vim
  pgrep: cannot allocate 4611686018427387903 bytes

  If you have a high stack limit (e.g. ulimit -S -s 500000), pgrep is
  very slow:

  > time pgrep vim
  2196
  real 8.48s user 8.40s syst 0.07s busy 99% rmem 253444

  The relevant upstream bug report could be: 
https://gitlab.com/procps-ng/procps/-/issues/152
  Archlinux bug report: https://bugs.archlinux.org/task/66093

  procps:
    Installed: 2:3.3.16-1ubuntu2
    500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1874824/+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

Reply via email to