Hi Joe,

I think adjusting the timeouts is already covered.
The test uses Process.waitFor(timeout) to wait for the process to exit, but only up to the timeout value. The "Utils.adjustTimeout(5)", performs the desired adjustment based on the jtreg timeoutFactor.
Utils is in the testlibrary.

Roger


On 9/9/2015 8:08 PM, Joseph D. Darcy wrote:
Hi Roger,

If timeouts need to be used, I suggest rather than fixed values they be adjusted according to the timeout factor being used in the test run.

Can some sort of repeated testing with exponential backout to a longer timeout be used ? If the system is actually ready is a fraction of a second, it is preferable for the test to be able to complete without waiting the full timeout value. (Perhaps that is already encapsulated in the existing code.)

Thanks,

-Joe

On 9/9/2015 2:49 PM, Roger Riggs wrote:
Hi,

Please review this update to extract the uid on from the owner of the /proc/<pid> file. It should be more reliable than using the owner of the /proc/<pid>/cmdline file.

Webrev:
    http://cr.openjdk.java.net/~rriggs/webrev-info-8133552/

Thanks, Roger


On 9/9/2015 12:56 PM, Roger Riggs wrote:
Hi Volker,

Thanks for the review and diagnosis.

Can opening /proc/pid be used as a fallback if the st_uid is zero or
is it worth the overhead of stat'ing /proc/pid always?

Thanks, Roger


On 9/9/2015 11:46 AM, Volker Simonis wrote:
Hi Roger,

I think your change looks good and it surely improves the test
stability but I don't think it solves the problem in all cases.

I think this problem is caused by a <defunct> (i.e. "zombie") process
(the spawned process lived too short and was already a zombie when the
info object was created). If you look at the proc-file system entry of
a <defunct> process you can see that its 'cmdline' file has zero size
and the file is owned by root. This is exactly what is reported by the
corresponding info object in the bug report (user=root and no cmd
field).

We may need to improve the way how we get the uid of a pid on Linux.
The current way of querying the owner of /proc/<pid>/cmdline seems to
be unreliable. We may instead take the owner of /proc/<pid> which
seems to be still the initial user of the process.

Regards,
Volker


On Tue, Sep 8, 2015 at 11:35 PM, Roger Riggs <roger.ri...@oracle.com> wrote:
With link to webrev corrected:

On 9/8/2015 5:08 PM, Roger Riggs wrote:
Please review an intermittent test bug fix.
The test setup time is very short and the user may be returned as 0 which
is reported as root.
The correction lengthens the time allowed for the process to start.

The test is removed from the ProblemList.

Webrev:
http://cr.openjdk.java.net/~rriggs//webrev-info-8133552

Bug:
   https://bugs.openjdk.java.net/browse/JDK-8133552

Thanks, Roger





Reply via email to