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

Grist in Docker (rootless): Sudden "Server grist[25] got signal SIGTERM" #1213

Open
1 of 2 tasks
Sieboldianus opened this issue Sep 18, 2024 · 2 comments
Open
1 of 2 tasks
Labels
bug Something isn't working

Comments

@Sieboldianus
Copy link

Describe the current behavior

I am running Grist in Docker (rootless) for about 2 months. Since a few days, at 4 am, I the Docker container receives a SIGTERM. I do not know from where, but it means that the Grist server shuts down and then immediately boots up again (without the Docker container restarting). Afterwards, nginx give a "502 Bad Gateway" when trying to connect to Grist.

grist     | 2024-09-17 16:33:06.902 - warn: Telemetry exceeded the maximum number of pending forwardEvent calls (25). Skipping forwarding of event siteMembership.
grist     | 2024-09-17 16:33:06.902 - warn: Telemetry exceeded the maximum number of pending forwardEvent calls (25). Skipping forwarding of event siteMembership.
grist     | 2024-09-17 16:33:06.902 - info: logMetrics siteMembership progress itemsProcesssed=15, itemsTotal=15, timeMs=10
grist     | 2024-09-17 16:33:07.055 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 17:33:07.005 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 18:33:06.941 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 19:33:06.957 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 20:33:06.950 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 21:33:06.957 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 22:33:06.958 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-17 23:33:06.953 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-18 00:33:06.955 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-18 01:33:06.957 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-18 02:33:06.964 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-18 03:33:06.961 - info: activity docCount=6, orgCount=1, orgInGoodStandingCount=1, userCount=17, userWithLoginCount=13
grist     | 2024-09-18 04:01:33.384 - info: Server grist[25] got signal SIGTERM; cleaning up (2 handlers)
grist     | 2024-09-18 04:01:33.385 - info: UploadSet: cleaning up all 0 uploads in set
grist     | Running Grist as user 1001 with primary group 1001
grist     | 2024-09-18 04:01:56.911 - info: Loading config file from /persist/config.json
grist     | Welcome to Grist.
grist     | In quiet mode, see http://localhost:8080 to use.
grist     | For full logs, re-run with DEBUG=1
grist     | Setting up database...
grist     | Database setup complete.
grist     | 2024-09-18 04:01:58.805 - info: == Grist version is 1.1.18 (commit unknown)
grist     | 2024-09-18 04:01:58.810 - debug: skipping incomplete language ar (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | 2024-09-18 04:01:58.816 - debug: skipping incomplete language ca (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | 2024-09-18 04:01:58.817 - debug: skipping incomplete language cs (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | 2024-09-18 04:01:58.828 - debug: skipping incomplete language fa (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | 2024-09-18 04:01:58.838 - debug: skipping incomplete language nl (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | 2024-09-18 04:01:58.856 - debug: skipping incomplete language th (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | 2024-09-18 04:01:58.856 - debug: skipping incomplete language tr (set GRIST_OFFER_ALL_LANGUAGES if you want it)
grist     | OPError: expected 200 OK, got: 502 Bad Gateway
grist     |     at processResponse (/grist/node_modules/openid-client/lib/helpers/process_response.js:41:11)
grist     |     at Issuer.discover (/grist/node_modules/openid-client/lib/issuer.js:179:18)
grist     |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grist     |     at async OIDCConfig._initClient (/grist/_build/app/server/lib/OIDCConfig.js:245:24)
grist     |     at async OIDCConfig.initOIDC (/grist/_build/app/server/lib/OIDCConfig.js:155:9)
grist     |     at async OIDCConfig.build (/grist/_build/app/server/lib/OIDCConfig.js:104:9)
grist     |     at async Object.getMiddleware (/grist/_build/app/server/lib/OIDCConfig.js:329:28)
grist     |     at async FlexServer.addLoginMiddleware (/grist/_build/app/server/lib/FlexServer.js:1078:33)
grist     |     at async main (/grist/_build/app/server/mergedServerMain.js:86:5)
grist     |     at async main (/grist/_build/stubs/app/server/server.js:142:20) {
grist     |   error: 'expected 200 OK, got: 502 Bad Gateway'
grist     | }

Steps to reproduce

At the moment, I do not know why there is a SIGTERM.

Describe the expected behavior

Grist keeps running.

Where have you encountered this bug?

Instance information (when self-hosting only)

  • Grist instance:

    • Version: Version 1.1.18
    • Installation mode: docker rootless on Ubuntu 22.04.5 LTS
    • Architecture: single-worker
  • Browser name, version and platforms on which you could reproduce the bug: Firefox

  • Link to server log if relevant: in comments above

@corius498
Copy link

yeah got the same problem also selfhosted with the oss image (docker.io/gristlabs/grist-oss) version 1.3.0 on podman quadlets rootless fedora core os

podman logs grist Running Grist as user 1001 with primary group 1001 Welcome to Grist. In quiet mode, see http://localhost:8484 to use. For full logs, re-run with DEBUG=1 Setting up database... Database setup complete. 2024-12-19 10:26:56.192 - info: Loading config file from /persist/config.json 2024-12-19 10:26:56.194 - info: == Grist version is 1.3.0 (commit unknown) 2024-12-19 10:26:56.316 - debug: skipping incomplete language ar (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.332 - debug: skipping incomplete language ca (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.334 - debug: skipping incomplete language cs (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.381 - debug: skipping incomplete language fa (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.395 - debug: skipping incomplete language ig (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.415 - debug: skipping incomplete language nl (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.526 - debug: skipping incomplete language th (set GRIST_OFFER_ALL_LANGUAGES if you want it) 2024-12-19 10:26:56.527 - debug: skipping incomplete language tr (set GRIST_OFFER_ALL_LANGUAGES if you want it) OPError: expected 200 OK, got: 502 Bad Gateway at processResponse (/grist/node_modules/openid-client/lib/helpers/process_response.js:41:11) at Issuer.discover (/grist/node_modules/openid-client/lib/issuer.js:179:18) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async OIDCConfig._initClient (/grist/_build/app/server/lib/OIDCConfig.js:250:24) at async OIDCConfig.initOIDC (/grist/_build/app/server/lib/OIDCConfig.js:157:9) at async OIDCConfig.build (/grist/_build/app/server/lib/OIDCConfig.js:105:9) at async Object.getMiddleware (/grist/_build/app/server/lib/OIDCConfig.js:334:28) at async FlexServer.addLoginMiddleware (/grist/_build/app/server/lib/FlexServer.js:1110:33) at async MergedServer.create (/grist/_build/app/server/MergedServer.js:82:9) at async main (/grist/_build/stubs/app/server/server.js:137:26) { error: 'expected 200 OK, got: 502 Bad Gateway' }

@paulfitz
Copy link
Member

Thanks for confirmation @corius498. Looks like some unhandled OIDC-related error.

@paulfitz paulfitz added the bug Something isn't working label Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants