|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2728 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2728.
Report 2728 Actions
Problem Report Number 2728 Submitter's Classification Specification problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0296 Raised 2020-10-26 18:06 Updated 2020-10-26 12:09 Published 2020-10-26 12:09 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 5.3.19 Test Identification CAPI.os/procenv/setrlimit/T.setrlimit{1,2,3,4,5,8,10,11,18,19,20,21,28,29
}Specification System Interfaces and Libraries Issue 4 Version 2 Location in Spec page 269 of C435 Problem Summary VSU
/tset/CAPI.os/procenv/setrlimit/T.setrlimit{1,2,3,4,5,8,10,11,18,19,20,2
1,28,29} run with RLIM_INFINITYProblem Text 1. I got failures for vsu5.3.19 test
/tset/CAPI.os/procenv/setrlimit/T.setrlimit{1,2,3,4,5,8,10,11,12,13,14,1
8,19,20,21,28,29}in our test env. Just pasted the log of the first
variation is as below,
================================================
10|279 /tset/CAPI.os/procenv/setrlimit/T.setrlimit 08:19:24|TC Start,
scenario ref 281-0
15|279 3.8-lite 34|TCM Start
400|279 1 1 08:19:24|IC Start
200|279 1 08:19:24|TP Start
520|279 1 00033621066 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|279 1 00033621066 1 2|TEST: A call to setrlimit(RLIMIT_CORE, rlp)
allows
520|279 1 00033621066 1 3| soft limit to be set to a value less
than the hard limit
520|279 1 00033621066 1 4|TEST: A call to setrlimit(RLIMIT_CORE, rlp)
allows
520|279 1 00033621066 1 5| soft limit to be set to a value equal to
the hard limit
520|279 1 00033621066 1 6|PREP: Obtain the limits for RLIMIT_CPU
520|279 1 00033621066 1 7|ERROR: The test must be run with the soft
limit for RLIMIT_CPU not equal to RLIM_INFINITY
520|279 1 00033621066 1 8|PREP: Obtain the limits for RLIMIT_DATA
520|279 1 00033621066 1 9|ERROR: The test must be run with the soft
limit for RLIMIT_DATA not equal to RLIM_INFINITY
520|279 1 00033621066 1 10|PREP: Obtain the limits for RLIMIT_FSIZE
520|279 1 00033621066 1 11|ERROR: The test must be run with the soft
limit for RLIMIT_FSIZE not equal to RLIM_INFINITY
520|279 1 00033621066 1 12|PREP: Obtain the limits for RLIMIT_NOFILE
520|279 1 00033621066 1 13|TEST: A call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|279 1 00033621066 1 14| soft limit to be set to a value less
than the hard limit
520|279 1 00033621066 1 15|TEST: A call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|279 1 00033621066 1 16| soft limit to be set to a value equal
to the hard limit
520|279 1 00033621066 1 17|PREP: Obtain the limits for RLIMIT_STACK
520|279 1 00033621066 1 18|ERROR: The test must be run with the soft
limit for RLIMIT_STACK not equal to RLIM_INFINITY
520|279 1 00033621066 1 19|PREP: Obtain the limits for RLIMIT_AS
520|279 1 00033621066 1 20|TEST: A call to setrlimit(RLIMIT_AS, rlp)
allows
520|279 1 00033621066 1 21| soft limit to be set to a value less
than the hard limit
520|279 1 00033621066 1 22|TEST: A call to setrlimit(RLIMIT_AS, rlp)
allows
520|279 1 00033621066 1 23| soft limit to be set to a value equal
to the hard limit
220|279 1 2 08:19:24|UNRESOLVED
410|279 1 1 08:19:24|IC End
=======================================
2. The test suite expects a non-infinite initial limit. I wrote a test
case to try to use setrlimit to set a non-infinite initial limit, then
executes tcc by calling execvp(). See the test case below
==========================================
/*
** System include files.
*/
#define _XOPEN_SOURCE 500
#include <stdlib.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <signal.h>
#include <setjmp.h>
#include <sys/wait.h>
/*
** declarations.
*/
struct res {
char name[15];
int resource;
};
struct res vsu_res_list[] = {
{ "RLIMIT_CORE", RLIMIT_CORE },
{ "RLIMIT_CPU", RLIMIT_CPU },
{ "RLIMIT_DATA", RLIMIT_DATA },
{ "RLIMIT_FSIZE", RLIMIT_FSIZE },
{ "RLIMIT_NOFILE", RLIMIT_NOFILE },
{ "RLIMIT_STACK", RLIMIT_STACK },
{ "RLIMIT_AS", RLIMIT_AS },
{ "", 0 }
};
/*
** Function: int vsu_get_limit_name(int resource, struct res *rs)
**
** Description:
**
** This function searches the resource list for the
** resource type "resource". Once a match is found it
** copies the other data into "rs" and returns an integer
** to indicate success or failure.
**
** Inputs:
** int resource -> Resource type
** struct res *rs -> Resource being returned
**
** Returns:
** int -> 0 - Success
** 1 - Failure
**
*/
int
vsu_get_limit_name(int resource, struct res *rs)
{
struct res *ptr;
ptr = &vsu_res_list[0];
while (strlen(ptr->name) != (size_t)0)
{
if (ptr->resource == resource)
{
strcpy(rs->name, ptr->name);
rs->resource = resource;
return (0);
}
ptr++;
}
return (1);
}
static int
check_setrlimit(int resource)
{
struct rlimit setrlp;
struct rlimit save;
rlim_t soft;
struct res rs;
if (vsu_get_limit_name(resource, &rs))
return (-1);
printf("PREP: Obtain the limits for %s
", rs.name);
if (getrlimit(resource, &save) != 0)
{
printf("error to getrlimit
");
return (-1);
}
if (save.rlim_cur == RLIM_INFINITY)
{
printf("INFO: Limits for %s are not enforced on this
system
", rs.name);
}
printf("Now try to use setrlimit to make the test run with soft
limit not eaqual to RLIM_INFINITY
");
/* in our system, RLIM_INFINITY is 2147483647L */
/* save.rlim_cur = 2000000000; */
save.rlim_cur = 2000000000;
save.rlim_max = RLIM_INFINITY;
setrlp.rlim_cur = save.rlim_cur;
setrlp.rlim_max = setrlp.rlim_cur +1;
if (setrlimit(resource, &setrlp) == -1)
{
printf("setrlimit failed to a value less than
RLIM_INFINITY
");
return (-1);
}
else
printf("setrlimit success
");
if (getrlimit(resource, &save) != 0)
{
printf("getrlimit failed after setrlimit
");
return (-1);
}
else
printf("getrlimit success after setrlimit
");
if (setrlp.rlim_cur != save.rlim_cur)
{
printf("setrlimit() did not set the correct soft
limit
");
return (-1);
}
else
printf("setrlimit() set the correct soft limit
");
return (0);
}
int main()
{
char* command = "tcc";
char* argument_list[] = {"tcc", "-e", "-l",
"/tset/CAPI.os/procenv/setrlimit/T.setrlimit{1,2,3,4,5,8,10,11,12,13,14,
18,19,20,21,28,29}","vsu", NULL};
/* tcc -e -l /tset/CAPI.os/procenv/setrlimit/T.setrlimit{1} vsu
*/
if (check_setrlimit(RLIMIT_CPU))
printf("ERROR: check RLIMIT_CPU
");
else
printf("In main, check setrlimit RLIMIT_CPU
OK
");
if (check_setrlimit(RLIMIT_DATA))
printf("ERROR: check RLIMIT_DATA
");
else
printf("In main, check setrlimit RLIMIT_DATA
OK
");
if (check_setrlimit(RLIMIT_FSIZE))
printf("ERROR: check RLIMIT_FSIZE
");
else
printf("In main, check setrlimit RLIMIT_FSIZE
OK
");
if (check_setrlimit(RLIMIT_STACK))
printf("ERROR: check RLIMIT_STACK
");
else
printf("In main, check setrlimit RLIMIT_STACK
OK
");
printf("Before calling execvp()
");
/* Calling the execvp() system call */
int status_code = execvp(command, argument_list);
return (0);
}
==============================================
, then I got the result as below,
=============================================
PREP: Obtain the limits for RLIMIT_CPU
INFO: Limits for RLIMIT_CPU are not enforced on this system;
Now try to use setrlimit to make the test run with soft limit not eaqual
to RLIM_INFINITY
setrlimit success
getrlimit success after setrlimit
setrlimit() set the correct soft limit
In main, check setrlimit RLIMIT_CPU OK
PREP: Obtain the limits for RLIMIT_DATA
INFO: Limits for RLIMIT_DATA are not enforced on this system
Now try to use setrlimit to make the test run with soft limit not eaqual
to RLIM_INFINITY
setrlimit failed to a value less than RLIM_INFINITY
ERROR: check RLIMIT_DATA
PREP: Obtain the limits for RLIMIT_FSIZE
INFO: Limits for RLIMIT_FSIZE are not enforced on this system
Now try to use setrlimit to make the test run with soft limit not eaqual
to RLIM_INFINITY
setrlimit success
getrlimit success after setrlimit
setrlimit() set the correct soft limit
In main, check setrlimit RLIMIT_FSIZE OK
PREP: Obtain the limits for RLIMIT_STACK
INFO: Limits for RLIMIT_STACK are not enforced on this system
Now try to use setrlimit to make the test run with soft limit not eaqual
to RLIM_INFINITY
setrlimit failed to a value less than RLIM_INFINITY
ERROR: check RLIMIT_STACK
Before calling execvp()
tcc: journal file is /vsu5319/usr/TET/vsu/results/0029e/journal
============================
See the journal file in Test Output Field.
From the result, we can see that, in our system, we can change the soft
limit to a lower value using setrlimit() for RLIMIT_CORE, RLIMIT_CPU,
RLIMIT_FSIZE, RLIMIT_NOFILE, RLIMIT_AS. But failed for RLIMIT_DATA,
RLIMIT_STACK. And from the statement in page 269 of C435, "Soft limits
may be changed by a process to any value that is less than or equal to
the hard limit." It only indicates that Limits [may] be changed, seems
not a statement that "soft limit must be supported to be changed to a
lower value less than hard limit". May I apply a PIN to cover these
failures? Thanks so much for your help!
Test Output 10|0 /tset/CAPI.os/procenv/setrlimit/T.setrlimit 02:54:53|TC Start,
scenario ref 1-0, ICs: {1,2,3,4,5,8,10,11,12,13,14,18,19,20,21,28,29}
15|0 3.8-lite 17|TCM Start
400|0 1 1 02:54:53|IC Start
200|0 1 02:54:53|TP Start
520|0 1 00016843279 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|0 1 00016843279 1 2|TEST: A call to setrlimit(RLIMIT_CORE, rlp)
allows
520|0 1 00016843279 1 3| soft limit to be set to a value less than
the hard limit
520|0 1 00016843279 1 4|TEST: A call to setrlimit(RLIMIT_CORE, rlp)
allows
520|0 1 00016843279 1 5| soft limit to be set to a value equal to
the hard limit
520|0 1 00016843279 1 6|PREP: Obtain the limits for RLIMIT_CPU
520|0 1 00016843279 1 7|TEST: A call to setrlimit(RLIMIT_CPU, rlp)
allows
520|0 1 00016843279 1 8| soft limit to be set to a value less than
the hard limit
520|0 1 00016843279 1 9|TEST: A call to setrlimit(RLIMIT_CPU, rlp)
allows
520|0 1 00016843279 1 10| soft limit to be set to a value equal to
the hard limit
520|0 1 00016843279 1 11|PREP: Obtain the limits for RLIMIT_DATA
520|0 1 00016843279 1 12|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
520|0 1 00016843279 1 13|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 1 00016843279 1 14|TEST: A call to setrlimit(RLIMIT_FSIZE, rlp)
allows
520|0 1 00016843279 1 15| soft limit to be set to a value less than
the hard limit
520|0 1 00016843279 1 16|TEST: A call to setrlimit(RLIMIT_FSIZE, rlp)
allows
520|0 1 00016843279 1 17| soft limit to be set to a value equal to
the hard limit
520|0 1 00016843279 1 18|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 1 00016843279 1 19|TEST: A call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|0 1 00016843279 1 20| soft limit to be set to a value less than
the hard limit
520|0 1 00016843279 1 21|TEST: A call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|0 1 00016843279 1 22| soft limit to be set to a value equal to
the hard limit
520|0 1 00016843279 1 23|PREP: Obtain the limits for RLIMIT_STACK
520|0 1 00016843279 1 24|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
520|0 1 00016843279 1 25|PREP: Obtain the limits for RLIMIT_AS
520|0 1 00016843279 1 26|TEST: A call to setrlimit(RLIMIT_AS, rlp)
allows
520|0 1 00016843279 1 27| soft limit to be set to a value less than
the hard limit
520|0 1 00016843279 1 28|TEST: A call to setrlimit(RLIMIT_AS, rlp)
allows
520|0 1 00016843279 1 29| soft limit to be set to a value equal to
the hard limit
220|0 1 2 02:54:53|UNRESOLVED
410|0 1 1 02:54:53|IC End
400|0 2 1 02:54:53|IC Start
200|0 2 02:54:53|TP Start
520|0 2 00033620495 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|0 2 00033620495 1 2|TEST: A call to setrlimit(RLIMIT_CORE, rlp)
allows
520|0 2 00033620495 1 3| allows the hard limit to be set to a value
greater than the soft limit
520|0 2 00033620495 1 4|TEST: A call to setrlimit(RLIMIT_CORE, rlp)
allows
520|0 2 00033620495 1 5| allows the hard limit to be set to the
value of the soft limit
520|0 2 00033620495 1 6|PREP: Obtain the limits for RLIMIT_CPU
520|0 2 00033620495 1 7|TEST: A call to setrlimit(RLIMIT_CPU, rlp)
allows
520|0 2 00033620495 1 8| allows the hard limit to be set to a value
greater than the soft limit
520|0 2 00033620495 1 9|TEST: A call to setrlimit(RLIMIT_CPU, rlp)
allows
520|0 2 00033620495 1 10| allows the hard limit to be set to the
value of the soft limit
520|0 2 00033620495 1 11|PREP: Obtain the limits for RLIMIT_DATA
520|0 2 00033620495 1 12|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
520|0 2 00033620495 1 13|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 2 00033620495 1 14|TEST: A call to setrlimit(RLIMIT_FSIZE, rlp)
allows
520|0 2 00033620495 1 15| allows the hard limit to be set to a
value greater than the soft limit
520|0 2 00033620495 1 16|TEST: A call to setrlimit(RLIMIT_FSIZE, rlp)
allows
520|0 2 00033620495 1 17| allows the hard limit to be set to the
value of the soft limit
520|0 2 00033620495 1 18|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 2 00033620495 1 19|TEST: A call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|0 2 00033620495 1 20| allows the hard limit to be set to a
value greater than the soft limit
520|0 2 00033620495 1 21|TEST: A call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|0 2 00033620495 1 22| allows the hard limit to be set to the
value of the soft limit
520|0 2 00033620495 1 23|PREP: Obtain the limits for RLIMIT_STACK
520|0 2 00033620495 1 24|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
520|0 2 00033620495 1 25|PREP: Obtain the limits for RLIMIT_AS
520|0 2 00033620495 1 26|TEST: A call to setrlimit(RLIMIT_AS, rlp)
allows
520|0 2 00033620495 1 27| allows the hard limit to be set to a
value greater than the soft limit
520|0 2 00033620495 1 28|TEST: A call to setrlimit(RLIMIT_AS, rlp)
allows
520|0 2 00033620495 1 29| allows the hard limit to be set to the
value of the soft limit
220|0 2 2 02:54:53|UNRESOLVED
410|0 2 1 02:54:53|IC End
400|0 3 1 02:54:53|IC Start
200|0 3 02:54:53|TP Start
520|0 3 00065997 1 1|PREP: Read value for VSX_UID1 configuration
520|0 3 00065997 1 2| parameter
520|0 3 00065997 1 3|PREP: Obtain the limits for RLIMIT_CORE
520|0 3 00065997 1 4|TEST: A call to setrlimit(RLIMIT_CORE, rlp) allows
520|0 3 00065997 1 5| a process with superuser privileges to raise
520|0 3 00065997 1 6| its hard limit
520|0 3 00065997 2 1|PREP: Obtain the limits for RLIMIT_CPU
520|0 3 00065997 2 2|TEST: A call to setrlimit(RLIMIT_CPU, rlp) allows
520|0 3 00065997 2 3| a process with superuser privileges to raise
520|0 3 00065997 2 4| its hard limit
520|0 3 00065997 3 1|PREP: Obtain the limits for RLIMIT_DATA
520|0 3 00065997 3 2|ERROR: The test must be run with the soft limit for
RLIMIT_DATA not equal to RLIM_INFINITY
520|0 3 00065997 3 3|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 3 00065997 3 4|TEST: A call to setrlimit(RLIMIT_FSIZE, rlp) allows
520|0 3 00065997 3 5| a process with superuser privileges to raise
520|0 3 00065997 3 6| its hard limit
520|0 3 00065997 4 1|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 3 00065997 4 2|INFO: limit >= sysconf(_SC_OPEN_MAX) so cannot be
raised
520|0 3 00065997 4 3|PREP: Obtain the limits for RLIMIT_STACK
520|0 3 00065997 4 4|ERROR: The test must be run with the soft limit for
RLIMIT_STACK not equal to RLIM_INFINITY
220|0 3 2 02:54:53|UNRESOLVED
410|0 3 1 02:54:53|IC End
400|0 4 1 02:54:53|IC Start
200|0 4 02:54:53|TP Start
520|0 4 00016843213 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|0 4 00016843213 1 2|TEST: Call to setrlimit(RLIMIT_CORE, rlp) allows
520|0 4 00016843213 1 3| a process to change its soft and hard
limits
520|0 4 00016843213 1 4| in the same call
520|0 4 00016843213 1 5|PREP: Obtain the limits for RLIMIT_CPU
520|0 4 00016843213 1 6|TEST: Call to setrlimit(RLIMIT_CPU, rlp) allows
520|0 4 00016843213 1 7| a process to change its soft and hard
limits
520|0 4 00016843213 1 8| in the same call
520|0 4 00016843213 1 9|PREP: Obtain the limits for RLIMIT_DATA
520|0 4 00016843213 1 10|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
520|0 4 00016843213 1 11|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 4 00016843213 1 12|TEST: Call to setrlimit(RLIMIT_FSIZE, rlp)
allows
520|0 4 00016843213 1 13| a process to change its soft and hard
limits
520|0 4 00016843213 1 14| in the same call
520|0 4 00016843213 1 15|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 4 00016843213 1 16|TEST: Call to setrlimit(RLIMIT_NOFILE, rlp)
allows
520|0 4 00016843213 1 17| a process to change its soft and hard
limits
520|0 4 00016843213 1 18| in the same call
520|0 4 00016843213 1 19|PREP: Obtain the limits for RLIMIT_STACK
520|0 4 00016843213 1 20|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
520|0 4 00016843213 1 21|PREP: Obtain the limits for RLIMIT_AS
520|0 4 00016843213 1 22|TEST: Call to setrlimit(RLIMIT_AS, rlp) allows
520|0 4 00016843213 1 23| a process to change its soft and hard
limits
520|0 4 00016843213 1 24| in the same call
220|0 4 2 02:54:53|UNRESOLVED
410|0 4 1 02:54:53|IC End
400|0 5 1 02:54:53|IC Start
200|0 5 02:54:53|TP Start
520|0 5 00033620429 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|0 5 00033620429 1 2|TEST: Call to setrlimit(RLIMIT_CORE, rlp) when
520|0 5 00033620429 1 3| RLIM_INFINITY is specified as the limit
value
520|0 5 00033620429 1 4| shall inhibit enforcement of that resource
520|0 5 00033620429 1 5|PREP: Obtain the limits for RLIMIT_CPU
520|0 5 00033620429 1 6|TEST: Call to setrlimit(RLIMIT_CPU, rlp) when
520|0 5 00033620429 1 7| RLIM_INFINITY is specified as the limit
value
520|0 5 00033620429 1 8| shall inhibit enforcement of that resource
520|0 5 00033620429 1 9|PREP: Obtain the limits for RLIMIT_DATA
520|0 5 00033620429 1 10|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
520|0 5 00033620429 1 11|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 5 00033620429 1 12|TEST: Call to setrlimit(RLIMIT_FSIZE, rlp) when
520|0 5 00033620429 1 13| RLIM_INFINITY is specified as the limit
value
520|0 5 00033620429 1 14| shall inhibit enforcement of that
resource
520|0 5 00033620429 1 15|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 5 00033620429 1 16|TEST: Call to setrlimit(RLIMIT_NOFILE, rlp)
when
520|0 5 00033620429 1 17| RLIM_INFINITY is specified as the limit
value
520|0 5 00033620429 1 18| shall inhibit enforcement of that
resource
520|0 5 00033620429 1 19|PREP: Obtain the limits for RLIMIT_STACK
520|0 5 00033620429 1 20|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
520|0 5 00033620429 1 21|PREP: Obtain the limits for RLIMIT_AS
520|0 5 00033620429 1 22|TEST: Call to setrlimit(RLIMIT_AS, rlp) when
520|0 5 00033620429 1 23| RLIM_INFINITY is specified as the limit
value
520|0 5 00033620429 1 24| shall inhibit enforcement of that
resource
220|0 5 2 02:54:53|UNRESOLVED
410|0 5 1 02:54:53|IC End
400|0 8 1 02:54:53|IC Start
200|0 8 02:54:53|TP Start
520|0 8 00050397876 1 1|PREP: Get the current limits
520|0 8 00050397876 1 2|TEST: Call to setrlimit(RLIMIT_CPU, rlp) shall
set
520|0 8 00050397876 1 3| the soft and hard limits for the maximum
amount
520|0 8 00050397876 1 4| of CPU time used by the process
220|0 8 0 02:54:53|PASS
410|0 8 1 02:54:53|IC End
400|0 10 1 02:54:53|IC Start
200|0 10 02:54:53|TP Start
520|0 10 00067175092 1 1|PREP: get current limits
520|0 10 00067175092 1 2|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
220|0 10 2 02:54:53|UNRESOLVED
410|0 10 1 02:54:53|IC End
400|0 11 1 02:54:53|IC Start
200|0 11 02:54:53|TP Start
520|0 11 00083952308 1 1|PREP: Get current limits
520|0 11 00083952308 1 2|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
220|0 11 2 02:54:53|UNRESOLVED
410|0 11 1 02:54:53|IC End
400|0 18 1 02:54:53|IC Start
200|0 18 02:54:53|TP Start
520|0 18 00067174716 1 1|PREP: Save the current stack limits
520|0 18 00067174716 1 2|PREP: Get the current limits
520|0 18 00067174716 1 3|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
220|0 18 2 02:54:53|UNRESOLVED
410|0 18 1 02:54:53|IC End
400|0 19 1 02:54:53|IC Start
200|0 19 02:54:53|TP Start
520|0 19 00050397757 1 1|PREP: Save the current stack limits
520|0 19 00050397757 1 2|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
220|0 19 2 02:54:53|UNRESOLVED
410|0 19 1 02:54:53|IC End
400|0 20 1 02:54:53|IC Start
200|0 20 02:54:53|TP Start
520|0 20 00066731 1 1|PREP: Save the current stack limits
520|0 20 00066731 1 2|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
220|0 20 2 02:54:53|UNRESOLVED
410|0 20 1 02:54:53|IC End
400|0 21 1 02:54:53|IC Start
200|0 21 02:54:53|TP Start
520|0 21 00066254 1 1|PREP: Obtain the current stack limits
520|0 21 00066254 1 2|ERROR: The test must be run with the soft limit
for RLIMIT_STACK not equal to RLIM_INFINITY
220|0 21 2 02:54:53|UNRESOLVED
410|0 21 1 02:54:53|IC End
400|0 28 1 02:54:53|IC Start
200|0 28 02:54:53|TP Start
520|0 28 00016843470 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|0 28 00016843470 1 2|TEST: setrlimit() with RLIMIT_CORE returns -1
when
520|0 28 00016843470 1 3| soft limit exceeds the hard limit
520|0 28 00016843470 1 4|TEST: errno set to EINVAL
520|0 28 00016843470 1 5|PREP: Obtain the limits for RLIMIT_CPU
520|0 28 00016843470 1 6|TEST: setrlimit() with RLIMIT_CPU returns -1
when
520|0 28 00016843470 1 7| soft limit exceeds the hard limit
520|0 28 00016843470 1 8|TEST: errno set to EINVAL
520|0 28 00016843470 1 9|PREP: Obtain the limits for RLIMIT_DATA
520|0 28 00016843470 1 10|ERROR: The test must be run with the soft
limit for RLIMIT_DATA not equal to RLIM_INFINITY
520|0 28 00016843470 1 11|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 28 00016843470 1 12|TEST: setrlimit() with RLIMIT_FSIZE returns -1
when
520|0 28 00016843470 1 13| soft limit exceeds the hard limit
520|0 28 00016843470 1 14|TEST: errno set to EINVAL
520|0 28 00016843470 1 15|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 28 00016843470 1 16|TEST: setrlimit() with RLIMIT_NOFILE returns
-1 when
520|0 28 00016843470 1 17| soft limit exceeds the hard limit
520|0 28 00016843470 1 18|TEST: errno set to EINVAL
520|0 28 00016843470 1 19|PREP: Obtain the limits for RLIMIT_STACK
520|0 28 00016843470 1 20|ERROR: The test must be run with the soft
limit for RLIMIT_STACK not equal to RLIM_INFINITY
520|0 28 00016843470 1 21|PREP: Obtain the limits for RLIMIT_AS
520|0 28 00016843470 1 22|TEST: setrlimit() with RLIMIT_AS returns -1
when
520|0 28 00016843470 1 23| soft limit exceeds the hard limit
520|0 28 00016843470 1 24|TEST: errno set to EINVAL
220|0 28 2 02:54:53|UNRESOLVED
410|0 28 1 02:54:53|IC End
400|0 29 1 02:54:53|IC Start
200|0 29 02:54:53|TP Start
520|0 29 00033620686 1 1|PREP: Obtain the limits for RLIMIT_CORE
520|0 29 00033620686 1 2|TEST: setrlimit() with RLIMIT_CORE returns -1
with EPERM when attempting to raise the
520|0 29 00033620686 1 3| hard limit without appropriate privileges
520|0 29 00033620686 1 4|PREP: Obtain the limits for RLIMIT_CPU
520|0 29 00033620686 1 5|TEST: setrlimit() with RLIMIT_CPU returns -1
with EPERM when attempting to raise the
520|0 29 00033620686 1 6| hard limit without appropriate privileges
520|0 29 00033620686 1 7|PREP: Obtain the limits for RLIMIT_DATA
520|0 29 00033620686 1 8|ERROR: The test must be run with the soft limit
for RLIMIT_DATA not equal to RLIM_INFINITY
520|0 29 00033620686 1 9|PREP: Obtain the limits for RLIMIT_FSIZE
520|0 29 00033620686 1 10|TEST: setrlimit() with RLIMIT_FSIZE returns -1
with EPERM when attempting to raise the
520|0 29 00033620686 1 11| hard limit without appropriate
privileges
520|0 29 00033620686 1 12|PREP: Obtain the limits for RLIMIT_NOFILE
520|0 29 00033620686 1 13|TEST: setrlimit() with RLIMIT_NOFILE returns
-1 with EPERM when attempting to raise the
520|0 29 00033620686 1 14| hard limit without appropriate
privileges
520|0 29 00033620686 1 15|PREP: Obtain the limits for RLIMIT_STACK
520|0 29 00033620686 1 16|ERROR: The test must be run with the soft
limit for RLIMIT_STACK not equal to RLIM_INFINITY
520|0 29 00033620686 1 17|PREP: Obtain the limits for RLIMIT_AS
520|0 29 00033620686 1 18|TEST: setrlimit() with RLIMIT_AS returns -1
with EPERM when attempting to raise the
520|0 29 00033620686 1 19| hard limit without appropriate
privileges
220|0 29 2 02:54:53|UNRESOLVED
410|0 29 1 02:54:53|IC End
80|0 0 02:54:54|TC End, scenario ref 1-0Review Information
Review Type SA Review Start Date 2020-10-26 18:06 Last Updated 2020-10-26 12:09 Completed 2020-10-26 12:09 Status Complete Review Resolution Permanent Interpretation (PIN) Review Conclusion The use of "may" in the quoted C435 (XSH4.2) text makes the standard
unclear, since "may" is defined in 1.5 Terminology as indicating that a
feature or behavior is optional for implementations.
Later in the same paragraph, "can" is used instead, which matches the
intention that the text is describing what a process can do. However,
until the preceding use of "may" is changed to "can" in a future
revision, this is accepted as a grey area in the standard and a
PIN is granted.
Problem Reporting System Options:
- View Report 2728
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority