Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 353925 - app-admin/sudo-1.7.5 version bump request
Summary: app-admin/sudo-1.7.5 version bump request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-07 06:28 UTC by Tiziano Müller (RETIRED)
Modified: 2011-03-01 18:09 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tiziano Müller (RETIRED) gentoo-dev 2011-02-07 06:28:20 UTC
... even p.masked would be fine for me.
The problem is that only version 1.7.5 fixes a race condition in signal handling on busy systems: http://www.sudo.ws/bugs/show_bug.cgi?id=447
This occurs roughly every 1-2 weeks on my systems.
Comment 1 Tiziano Müller (RETIRED) gentoo-dev 2011-02-07 06:33:48 UTC
The other option to fix this bug is described in
http://blog.famzah.net/2010/11/01/sudo-hangs-and-leaves-the-executed-program-as-zombie/

In the second last code snippet, after "The proper way to fix this is to use a timeout in the select() call:"

--- sudo-orig/sudo-1.7.4p4/exec.c       Sat Sep  4 00:40:19 2010
+++ sudo-1.7.4p4/exec.c Mon Nov  1 21:50:26 2010
@@ -307,7 +307,11 @@

        if (recvsig[SIGCHLD])
            continue;
-       nready = select(maxfd + 1, fdsr, fdsw, NULL, NULL);
+       struct timeval timeout;
+       timeout.tv_sec = 1; // Linux resets this, so set it everytime
+       timeout.tv_usec = 0;
+       nready = select(maxfd + 1, fdsr, fdsw, NULL, &timeout);
        if (nready == -1) {
            if (errno == EINTR)
                continue;
Comment 2 Diego Elio Pettenò (RETIRED) gentoo-dev 2011-03-01 17:05:31 UTC
.5 was released today.