runc icon indicating copy to clipboard operation
runc copied to clipboard

runc init can't communicate with runc start

Open ningmingxiao opened this issue 1 year ago • 2 comments

Description

runc init can't send message to runc start if use exec.fifo.

Steps to reproduce the issue

runc init can't send message to runc start if use exec.fifo.

Describe the results you received and expected

runc init can send message to runc start by using exec.sock

What version of runc are you using?

1.12

Host OS information

any kernel

Host kernel information

any

ningmingxiao avatar Sep 13 '24 07:09 ningmingxiao

I don't know what you're trying to do, but the point of using a FIFO is that it allows us to send a signal to runc init in a way that can't be missed and in a way that many runc start invocations will be a no-op (effectively, ~~something like a pthread_barrier_t~~ EDIT: actually, pthread_barrier_t doesn't work this way).

Many years ago we used to do this by sending signals, but signals can get lost or coalesced for a variety of reasons and you don't want to send signals to the actual container process (even if they are ignored by default for pid1).

A message-based scheme with a socket would struggle with being able to handle many runc starts AFAICS.

cyphar avatar Sep 13 '24 09:09 cyphar

I try to resolve this issue . https://github.com/containers/crun/issues/1562

ningmingxiao avatar Sep 13 '24 09:09 ningmingxiao