Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nginx does not run #1

Closed
nlacasse opened this Issue Apr 26, 2018 · 4 comments

Comments

Projects
None yet
4 participants
@nlacasse
Copy link
Collaborator

nlacasse commented Apr 26, 2018

Depending on the configuration, you may see nginx fail with the error:

ioctl(FIOASYNC) failed while spawning "worker process" (25: Inappropriate ioctl for device)

Support for FIOASYNC is in progress, but it’s not available yet. For now, add
the line below to /etc/nginx/nginx.conf:

master_process off;
@seeekr

This comment has been minimized.

Copy link

seeekr commented May 18, 2018

Am I correct in assuming that this will potentially make nginx behave in unexpected ways and thus it is not something one should attempt for any somewhat serious use of nginx + gvisor?

To quote the nginx docs at http://nginx.org/en/docs/ngx_core_module.html#master_process:

Syntax: | master_process on \| off;
-- | --
master_process on;
main

Determines whether worker processes are started. This directive is intended for nginx developers.
@nlacasse

This comment has been minimized.

Copy link
Collaborator Author

nlacasse commented Jun 5, 2018

I'm not totally sure what the "master_process" directive does, but the docs do state that it should not be used in production.

http://nginx.org/en/docs/faq/daemon_master_process_off.html

We are still working on the FIOASYNC support, at which point this workaround will not be necessary.

@tirumaraiselvan

This comment has been minimized.

Copy link

tirumaraiselvan commented Jun 22, 2018

Is there an example to repro this behaviour? I am not having an issue with nginx:latest.

@nlacasse

This comment has been minimized.

Copy link
Collaborator Author

nlacasse commented Jun 22, 2018

gVisor now supports FIOASYNC ioctl. I just verified that nginx runs without the "master_process: off" directive.

@nlacasse nlacasse closed this Jun 22, 2018

shentubot added a commit that referenced this issue Jun 22, 2018

Remove nginx failure note now that it works
Updates #1

PiperOrigin-RevId: 201760129

dvyukov pushed a commit to dvyukov/gvisor that referenced this issue Jun 23, 2018

Remove nginx failure note now that it works
Updates google#1

PiperOrigin-RevId: 201760129
Change-Id: Ifd8ce9e0f93c6771083dc9bf8d35a2800c13481a

shentubot added a commit that referenced this issue Jul 3, 2018

runsc/boot/filter: permit SYS_TIME for race
glibc's malloc also uses SYS_TIME. Permit it.

#0  0x0000000000de6267 in time ()
#1  0x0000000000db19d8 in get_nprocs ()
#2  0x0000000000d8a31a in arena_get2.part ()
#3  0x0000000000d8ab4a in malloc ()
#4  0x0000000000d3c6b5 in __sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long) ()
#5  0x0000000000d4cd70 in __tsan_go_start ()
#6  0x00000000004617a3 in racecall ()
#7  0x00000000010f4ea0 in runtime.findfunctab ()
#8  0x000000000043f193 in runtime.racegostart ()

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
[mpratt@google.com: updated comments and commit message]
Signed-off-by: Michael Pratt <mpratt@google.com>

Change-Id: Ibe2d0dc3035bf5052d5fb802cfaa37c5e0e7a09a
PiperOrigin-RevId: 203042627

dvyukov added a commit to dvyukov/gvisor that referenced this issue Jul 4, 2018

runsc/boot/filter: permit SYS_TIME for race
glibc's malloc also uses SYS_TIME. Permit it.

#0  0x0000000000de6267 in time ()
google#1  0x0000000000db19d8 in get_nprocs ()
google#2  0x0000000000d8a31a in arena_get2.part ()
google#3  0x0000000000d8ab4a in malloc ()
google#4  0x0000000000d3c6b5 in __sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long) ()
google#5  0x0000000000d4cd70 in __tsan_go_start ()
google#6  0x00000000004617a3 in racecall ()
google#7  0x00000000010f4ea0 in runtime.findfunctab ()
google#8  0x000000000043f193 in runtime.racegostart ()

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
[mpratt@google.com: updated comments and commit message]
Signed-off-by: Michael Pratt <mpratt@google.com>

Change-Id: Ibe2d0dc3035bf5052d5fb802cfaa37c5e0e7a09a
PiperOrigin-RevId: 203042627

tonistiigi referenced this issue in tonistiigi/gvisor Jan 30, 2019

Remove nginx failure note now that it works
Updates #1

PiperOrigin-RevId: 201760129
Change-Id: Ifd8ce9e0f93c6771083dc9bf8d35a2800c13481a
Upstream-commit: 9c0c4fd

tonistiigi referenced this issue in tonistiigi/gvisor Jan 30, 2019

runsc/boot/filter: permit SYS_TIME for race
glibc's malloc also uses SYS_TIME. Permit it.

#0  0x0000000000de6267 in time ()
#1  0x0000000000db19d8 in get_nprocs ()
#2  0x0000000000d8a31a in arena_get2.part ()
google#3  0x0000000000d8ab4a in malloc ()
google#4  0x0000000000d3c6b5 in __sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long) ()
google#5  0x0000000000d4cd70 in __tsan_go_start ()
google#6  0x00000000004617a3 in racecall ()
google#7  0x00000000010f4ea0 in runtime.findfunctab ()
google#8  0x000000000043f193 in runtime.racegostart ()

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
[mpratt@google.com: updated comments and commit message]
Signed-off-by: Michael Pratt <mpratt@google.com>

Change-Id: Ibe2d0dc3035bf5052d5fb802cfaa37c5e0e7a09a
PiperOrigin-RevId: 203042627
Upstream-commit: 6144751
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.