Skip to content

Tests: worker channel tests - #106

Open
pluknet wants to merge 1 commit into
nginx:masterfrom
pluknet:worker_channel
Open

Tests: worker channel tests#106
pluknet wants to merge 1 commit into
nginx:masterfrom
pluknet:worker_channel

Conversation

@pluknet

@pluknet pluknet commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread worker_channel.t
%%TEST_GLOBALS%%

daemon off;
worker_rlimit_nofile 15;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ngx_devpoll_module (Solaris) is configured to return up to 32 file descriptors per check (dpcf->events -> nevents -> devpoll.dp_nfds). As documented in poll(4d), ioctl(DP_POLL) returns EINVAL when dp_nfds is greater than {OPEN_MAX} (RLIMIT_NOFILE, apparently).

As a result, worker_rlimit_nofile value lesser than 32 makes worker processes just spin endlessly logging ioctl(DP_POLL) failed (22: Invalid argument).
Bonus: Solaris 11 defaults to unbounded tmpfs for /tmp, so it is possible to lock the system if you leave the test running until it produces a large enough log file.

worker_rlimit_nofile 32 with 24 open connections seems to work.

Comment thread worker_channel.t

$t->todo_alerts();

my $log = `grep -F "$pid" ${\($t->testdir())}/error.log`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grep: illegal option -- F/usr/bin/grep in Solaris 10-11.

Several more tests are affected, which I missed previously because my Solaris CI workflow has /usr/xpg4/bin/grep in path. IMO, it should be fine to leave these tests as is until someone else complains.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

3 participants