Sanity check for Docker container blocks indefinitely, with log showing messages labeled "prisoner_poll"

I am seeking a completely basic deployment of Colloabora (CODE) through Docker.

I have pulled the image collabora/code:latest, and created a container from the most basic possible options. I have assigned values to username, password, and server_name through the environment, and have mapped the TCP ports 9980 through a bridge interface between the container and host.

The recommended sanity check, curl -k http://localhost:9980, unfortunately blocks indefinitely.

Following is the log output produced after the client request is issued:

Preloading dictionaries: de-DE wsd-00001-00035 2023-08-09 22:35:04.652523 +0000 [ prisoner_poll ] TRC  Poll completed with 0 live polls max (5000000us)(timedout)| net/Socket.cpp:360
wsd-00001-00035 2023-08-09 22:35:04.676603 +0000 [ prisoner_poll ] TRC  #7: Handling events of wakeup pipe: 0x0| net/Socket.cpp:364
wsd-00001-00035 2023-08-09 22:35:04.677541 +0000 [ prisoner_poll ] TRC  #16: Handling poll events of prisoner_poll at index 0 (of 1): 0x0| net/Socket.cpp:457
wsd-00001-00035 2023-08-09 22:35:04.677808 +0000 [ prisoner_poll ] TRC  Executing SocketDisposition of #16: Type::CONTINUE| net/Socket.cpp:684
wsd-00001-00035 2023-08-09 22:35:04.681452 +0000 [ prisoner_poll ] TRC  #16: setupPollFds getPollEvents: 0x1| net/Socket.hpp:845
wsd-00001-00035 2023-08-09 22:35:04.681473 +0000 [ prisoner_poll ] TRC  ppoll start, timeoutMicroS: 5000000 size 1| net/Socket.cpp:341
wsd-00001-00035 2023-08-09 22:35:09.692522 +0000 [ prisoner_poll ] TRC  Poll completed with 0 live polls max (5000000us)(timedout)| net/Socket.cpp:360
wsd-00001-00035 2023-08-09 22:35:09.698446 +0000 [ prisoner_poll ] TRC  #7: Handling events of wakeup pipe: 0x0| net/Socket.cpp:364
wsd-00001-00035 2023-08-09 22:35:09.698553 +0000 [ prisoner_poll ] TRC  #16: Handling poll events of prisoner_poll at index 0 (of 1): 0x0| net/Socket.cpp:457
wsd-00001-00035 2023-08-09 22:35:09.698665 +0000 [ prisoner_poll ] TRC  Executing SocketDisposition of #16: Type::CONTINUE| net/Socket.cpp:684
wsd-00001-00035 2023-08-09 22:35:09.698767 +0000 [ prisoner_poll ] TRC  #16: setupPollFds getPollEvents: 0x1| net/Socket.hpp:845
wsd-00001-00035 2023-08-09 22:35:09.698852 +0000 [ prisoner_poll ] TRC  ppoll start, timeoutMicroS: 5000000 size 1| net/Socket.cpp:341
wsd-00001-00035 2023-08-09 22:35:14.825234 +0000 [ prisoner_poll ] TRC  Poll completed with 0 live polls max (5000000us)(timedout)| net/Socket.cpp:360
wsd-00001-00001 2023-08-09 22:35:19.976290 +0000 [ coolwsd ] INF  Waiting for a new child for a max of 20000ms| wsd/COOLWSD.cpp:5713
wsd-00001-00035 2023-08-09 22:35:26.926956 +0000 [ prisoner_poll ] TRC  #7: Handling events of wakeup pipe: 0x0| net/Socket.cpp:364
wsd-00001-00035 2023-08-09 22:35:30.976318 +0000 [ prisoner_poll ] TRC  #16: Handling poll events of prisoner_poll at index 0 (of 1): 0x0| net/Socket.cpp:457
wsd-00001-00035 2023-08-09 22:35:33.074713 +0000 [ prisoner_poll ] TRC  Executing SocketDisposition of #16: Type::CONTINUE| net/Socket.cpp:684
wsd-00001-00035 2023-08-09 22:35:34.488586 +0000 [ prisoner_poll ] TRC  #16: setupPollFds getPollEvents: 0x1| net/Socket.hpp:845
wsd-00001-00035 2023-08-09 22:35:36.075951 +0000 [ prisoner_poll ] TRC  ppoll start, timeoutMicroS: 5000000 size 1| net/Socket.cpp:341
wsd-00001-00035 2023-08-09 22:35:42.368916 +0000 [ prisoner_poll ] TRC  Poll completed with 0 live polls max (5000000us)(timedout)| net/Socket.cpp:360
wsd-00001-00035 2023-08-09 22:35:44.183755 +0000 [ prisoner_poll ] TRC  #7: Handling events of wakeup pipe: 0x0| net/Socket.cpp:364
wsd-00001-00035 2023-08-09 22:35:45.557163 +0000 [ prisoner_poll ] TRC  #16: Handling poll events of prisoner_poll at index 0 (of 1): 0x0| net/Socket.cpp:457
wsd-00001-00035 2023-08-09 22:35:46.853166 +0000 [ prisoner_poll ] TRC  Executing SocketDisposition of #16: Type::CONTINUE| net/Socket.cpp:684

Why is the server not starting normally in the container?

If you are running the container without parameter to disable SSL, you should be able to access it via HTTPS, have you tried that? The logs show nothing bad by themselves.

Welcome to the forum, @brainchild! :slight_smile:

Yes, and also try this command from the Troubleshooting page in the docs:

  • curl -k https://localhost:9980

(See the important ‘s’ after “http”!)

Hopefully that little typo will have fixed the issue. :slight_smile: