Collabora Kit Process Killed on Large File Open (>1GB)

Hi all,

I’m running Collabora Online in Docker, integrated with Nextcloud. Everything works great for small to medium documents. But when I try to open large files (>1GB)*— like big .pptx or .docx files — the document fails to load, and the Collabora Kit process gets killed with status 9. Can I know how to fix this issue? Thank you.

frk-00024-00088 2025-05-20 10:22:38.907633 +0000 [ kit_spare_009 ] WRN  #-13: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
frk-00024-00089 2025-05-20 10:22:38.910980 +0000 [ kit_spare_00a ] WRN  #-13: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
wsd-00001-00083 2025-05-20 10:23:08.733853 +0000 [ docbroker_001 ] ERR  Failed to get settings json from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=jkfdkjhfdksjhdsfjkhfsd&fileId=-1] with status[]| wsd/DocumentBroker.cpp:1835
wsd-00001-00083 2025-05-20 10:23:08.739183 +0000 [ docbroker_001 ] ERR  Failed to load all settings from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=kljlklklkjlkjkljlj&fileId=-1]| wsd/DocumentBroker.cpp:1680
wsd-00001-00083 2025-05-20 10:23:10.740741 +0000 [ docbroker_001 ] WRN  #37: Unassociated Kit (87) disconnected unexpectedly| wsd/COOLWSD.cpp:2943
wsd-00001-00083 2025-05-20 10:23:10.740809 +0000 [ docbroker_001 ] WRN  #37: Unknown Kit process closed with pid -1| wsd/COOLWSD.cpp:2954
wsd-00001-00083 2025-05-20 10:23:10.740872 +0000 [ docbroker_001 ] WRN  #37: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
wsd-00001-00083 2025-05-20 10:23:10.741137 +0000 [ docbroker_001 ] WRN  #33: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
frk-00024-00084 2025-05-20 10:23:11.912372 +0000 [ subforkit_001 ] WRN  Child 87 was killed, with status 9| kit/ForKit.cpp:353
frk-00024-00084 2025-05-20 10:23:11.912535 +0000 [ subforkit_001 ] WRN  Successfully sent 'segfaultcount' message segfaultcount=0 killedcount=1 oomkilledcount=0

Nextcloud version - 31.0.5

Collabora docker compose:

version: '3'
services:
  collabora:
    image: collabora/code
    container_name: collabora
    hostname: collabora
    restart: unless-stopped
    networks:
      - saltbox
    cap_add:
      - MKNOD
    tty: true
    ports:
      - 9980:9980
    expose:
      - "9980"
    labels:
      com.github.saltbox.saltbox_managed: true
      traefik.enable: true
      traefik.http.routers.collabora-http.entrypoints: web
      traefik.http.routers.collabora-http.middlewares: globalHeaders@file,redirect-to-https@docker,robotHeaders@file,cloudflarewarp@docker
      traefik.http.routers.collabora-http.rule: Host(`collabora.xxxx.org`)
      traefik.http.routers.collabora-http.service: collabora
      traefik.http.routers.collabora.entrypoints: websecure
      traefik.http.routers.collabora.middlewares: globalHeaders@file,secureHeaders@file,robotHeaders@file,cloudflarewarp@docker
      traefik.http.routers.collabora.rule: Host(`collabora.xxxx.org`)
      traefik.http.routers.collabora.service: collabora
      traefik.http.routers.collabora.tls.certresolver: cfdns
      traefik.http.routers.collabora.tls.options: securetls@file
      traefik.http.services.collabora.loadbalancer.server.port: 9980
    environment:
      - PUID=1001
      - GUID=1001
      - domain=nextcloud.xxxx.org
      - 'dictionaries=en_US'
      - VIRTUAL_PROTO=http
      - VIRTUAL_PORT=9980
      - VIRTUAL_HOST=collabora.xxxx.org
      - "extra_params=--o:ssl.enable=false  --o:ssl.termination=true"

networks:
  saltbox:
    external: true

hii @vasista welcome to collabora online forum

I would suggest if you can checkout this thread Is there a limit on the size of documents loaded by Collaborator Online? - #2 by Tex

This will help with your case to increase the limit for large documents

Thanks
Darshan

Hi @darshan, Thanks for the reply. I have changed it to 0.

cool@collabora:/$ cat /etc/coolwsd/coolwsd.xml | grep limit_load_secs
        <limit_load_secs desc="Maximum number of seconds to wait for a document load to succeed. 0 for unlimited." type="uint" default="100">0</limit_load_secs>

and I have restarted the container, and I still have the issue. Is there a special command I need to execute to take these changes or restart is sufficient?

Below is the error:

wsd-00001-00057 2025-05-20 15:17:48.608704 +0000 [ docbroker_002 ] WRN  #48: CheckTimeout: Timeout while requesting [GET nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/files/2760_occvljnywbf8/contents?access_token=jhgjghgjhg&access_token_ttl=0] after 30211ms| net/HttpRequest.hpp:1821
wsd-00001-00057 2025-05-20 15:18:02.226702 +0000 [ docbroker_002 ] ERR  Doc [https%3A%2F%2Fnextcloud.xxxx.org%3A443%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%ddfsfdsf] is taking too long to load. Will kill process [48]. per_document.limit_load_secs set to 5s secs.| wsd/DocumentBroker.cpp:423
wsd-00001-00057 2025-05-20 15:18:02.227115 +0000 [ docbroker_002 ] WRN  _newCallbacks is non-empty when stopping, clearing it.| net/Socket.hpp:837
wsd-00001-00057 2025-05-20 15:18:02.227248 +0000 [ docbroker_002 ] ERR  Failed to get settings json from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=fdsfdsfdsfsfdfs&fileId=-1] with status[]| wsd/DocumentBroker.cpp:1835
wsd-00001-00057 2025-05-20 15:18:02.227740 +0000 [ docbroker_002 ] ERR  Failed to load all settings from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=dffsdfs&fileId=-1]| wsd/DocumentBroker.cpp:1680
wsd-00001-00057 2025-05-20 15:18:02.228062 +0000 [ docbroker_002 ] WRN  #40: Unassociated Kit (48) disconnected unexpectedly| wsd/COOLWSD.cpp:2943
wsd-00001-00057 2025-05-20 15:18:02.228080 +0000 [ docbroker_002 ] WRN  #40: Unknown Kit process closed with pid -1| wsd/COOLWSD.cpp:2954
wsd-00001-00057 2025-05-20 15:18:02.228145 +0000 [ docbroker_002 ] WRN  #40: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
wsd-00001-00057 2025-05-20 15:18:02.228266 +0000 [ docbroker_002 ] WRN  #37: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
frk-00022-00045 2025-05-20 15:18:03.758580 +0000 [ subforkit_001 ] WRN  Child 48 was killed, with status 9| kit/ForKit.cpp:353
frk-00022-00045 2025-05-20 15:18:03.758938 +0000 [ subforkit_001 ] WRN  Successfully sent 'segfaultcount' message segfaultcount=0 killedcount=1 oomkilledcount=0

Thanks for the detailed follow-up. You’re doing the right thing modifying <limit_load_secs> to 0, but the log clearly says:

per_document.limit_load_secs set to 5s secs

This means your change to coolwsd.xml is not taking effect, likely because the Docker image isn’t using that file inside the container.

Can you please first check your docker config and confirm that the changes is taking place or not

Hi. Sorry, but I am not sure, on how to do that. Can I know how to check, if the container is actually using this coolwsd.xml?

I also see this in the logs which might say, I am setting it to 0, and it is taking that value and for some reason it is being overriden.

wsd-00001-00030 2025-05-20 15:28:56.393185 +0000 [ websrv_poll ] WRN  Config value for per_document.limit_load_secs [0] is below the required minimum [5] and will be overridden by the minimum| common/ConfigUtil.hpp:309

I would suggest to checkout our SDK documentation for configuration settings Configuration — SDK https://sdk.collaboraonline.com/ documentation

Hi @darshan, Thanks for the docs. I have changed my docker compose with extra parameters for limit_load_secs to zero.

- "extra_params=--o:ssl.enable=false  --o:ssl.termination=true --o:per_document.limit_load_secs=0"

and I checked the docker logs, if this value is taken and indeed it is

docker logs collabora |grep limit_load
	per_document.limit_load_secs: 0

and I still have the errors and the override which I was mentioning. I have attached the logs below.

wsd-00001-00038 2025-05-21 06:57:06.928066 +0000 [ docbroker_001 ] WRN  Config value for per_document.limit_load_secs [0] is below the required minimum [5] and will be overridden by the minimum| common/ConfigUtil.hpp:309
wsd-00001-00038 2025-05-21 06:57:36.949959 +0000 [ docbroker_001 ] WRN  #47: CheckTimeout: Timeout while requesting [GET nextcloud.xxxxx.org/index.php/apps/richdocuments/wopi/files/2760_occvljnywbf8/contents?access_token=fdsdsfsdf&access_token_ttl=0] after 30001ms| net/HttpRequest.hpp:1821
wsd-00001-00038 2025-05-21 06:57:51.118970 +0000 [ docbroker_001 ] ERR  Doc [https%3A%2F%2Fnextcloud.xxxxx.org%3A443%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F2760_occvljnywbf8] is taking too long to load. Will kill process [42]. per_document.limit_load_secs set to 5s secs.| wsd/DocumentBroker.cpp:423
wsd-00001-00038 2025-05-21 06:57:51.119912 +0000 [ docbroker_001 ] WRN  _newCallbacks is non-empty when stopping, clearing it.| net/Socket.hpp:837
wsd-00001-00038 2025-05-21 06:57:51.120159 +0000 [ docbroker_001 ] ERR  Failed to get settings json from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=xxxxxxx&fileId=-1] with status[]| wsd/DocumentBroker.cpp:1835
wsd-00001-00038 2025-05-21 06:57:51.124277 +0000 [ docbroker_001 ] ERR  Failed to load all settings from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=xxxxxx&fileId=-1]| wsd/DocumentBroker.cpp:1680
wsd-00001-00038 2025-05-21 06:57:51.124547 +0000 [ docbroker_001 ] WRN  #37: Unassociated Kit (42) disconnected unexpectedly| wsd/COOLWSD.cpp:2943
wsd-00001-00038 2025-05-21 06:57:51.125701 +0000 [ docbroker_001 ] WRN  #37: Unknown Kit process closed with pid -1| wsd/COOLWSD.cpp:2954
wsd-00001-00038 2025-05-21 06:57:51.125755 +0000 [ docbroker_001 ] WRN  #37: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
wsd-00001-00038 2025-05-21 06:57:51.148161 +0000 [ docbroker_001 ] WRN  #32: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
frk-00024-00039 2025-05-21 06:57:52.747177 +0000 [ subforkit_001 ] WRN  Child 42 was killed, with status 9| kit/ForKit.cpp:353
frk-00024-00039 2025-05-21 06:57:52.747516 +0000 [ subforkit_001 ] WRN  Successfully sent 'segfaultcount' message segfaultcount=0 killedcount=1 oomkilledcount=0
| kit/ForKit.cpp:415

Also, I tried the other way around, and Increased the limit_load_secs value to 10000

and I still have the same errors.

wsd-00001-00038 2025-05-21 07:05:11.672211 +0000 [ docbroker_001 ] WRN  #44: CheckTimeout: Timeout while requesting [GET nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=xxxxx&fileId=-1] after 43456ms| net/HttpRequest.hpp:1821
wsd-00001-00038 2025-05-21 07:05:11.672233 +0000 [ docbroker_001 ] ERR  Failed to get settings json from [https://nextcloud.xxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=xxxx&fileId=-1] with status[]| wsd/DocumentBroker.cpp:1835
wsd-00001-00038 2025-05-21 07:05:11.673017 +0000 [ docbroker_001 ] ERR  Failed to load all settings from [https://nextcloud.xxxx.org/index.php/apps/richdocuments/wopi/settings?type=userconfig&access_token=xxxxx&fileId=-1]| wsd/DocumentBroker.cpp:1680
wsd-00001-00038 2025-05-21 07:05:11.677535 +0000 [ docbroker_001 ] WRN  #37: Unassociated Kit (43) disconnected unexpectedly| wsd/COOLWSD.cpp:2943
wsd-00001-00038 2025-05-21 07:05:11.677571 +0000 [ docbroker_001 ] WRN  #37: Unknown Kit process closed with pid -1| wsd/COOLWSD.cpp:2954
wsd-00001-00038 2025-05-21 07:05:11.677595 +0000 [ docbroker_001 ] WRN  #37: Socket still open post onDisconnect(), forced shutdown.| net/Socket.hpp:1263
frk-00024-00039 2025-05-21 07:05:14.033045 +0000 [ subforkit_001 ] WRN  Child 43 was killed, with status 9| kit/ForKit.cpp:353
frk-00024-00039 2025-05-21 07:05:14.033149 +0000 [ subforkit_001 ] WRN  Successfully sent 'segfaultcount' message segfaultcount=0 killedcount=1 oomkilledcount=0
| kit/ForKit.cpp:415

Sorry, if it is too much information dumping.