Gramps Web & Gramps 6.0: Beta Testers Wanted

The commit was part of pull request #2013 which fixed bug #13261 and a couple of others. It was released in v6.0.0-rc2.

1 Like

Thanks! :folded_hands:

Is there an easy way (preferably with environment variables) to force the gramps DB directory to continue to be ~/.gramps/grampsdb and plugins in ~/.gramps/gramps60/plugins? Due to docker & volumes, it would be quite disruptive for users having to change the location of the database directory.

Yes. Just use the GRAMPSHOME environment variable.

1 Like

But looking at const.py, if I set GRAMPSHOME to /root/ (home directory of the docker root user), it looks like USER_DATA will be set to /root/gramps/, not /root/.gramps, due to USER_DATA = os.path.join(USER_HOME, "gramps").

For the database path, actually I can use the database.path config option. For the plugins, I think it’s ok if we change the path as this is usually baked into the image and not a volume.

Aargh. My apologies. I cut’n’pasted the image ID, not the hash. Sorry about that.

I get this:

debian@gramps:~$ sudo docker pull ghcr.io/gramps-project/grampsweb:latest-devel
latest-devel: Pulling from gramps-project/grampsweb
Digest: sha256:d5f0bf3dab3f2c75120177b1867f848d35cd80a4e88842d2810643dee371096d
Status: Image is up to date for ghcr.io/gramps-project/grampsweb:latest-devel
ghcr.io/gramps-project/grampsweb:latest-devel

which appears to be correct.

I confirmed this with:

debian@gramps:~$ sudo docker images --digests
REPOSITORY                         TAG            DIGEST                                                                    IMAGE ID       CREATED         SIZE
ghcr.io/gramps-project/grampsweb   latest-devel   sha256:d5f0bf3dab3f2c75120177b1867f848d35cd80a4e88842d2810643dee371096d   b3416601d00b   2 days ago      4.84GB
nginxproxy/nginx-proxy             latest         sha256:62ee3b5f23f3f849815780c75e9efb66461f32969584c60072bdf5a4c5b9263d   ef2332c729c6   6 days ago      212MB
nginxproxy/acme-companion          latest         sha256:74357ed4c17d92da95fc54d13ea9f43ce76463878983dfe5ea9990d65f82a0e5   8d8f039faf49   3 weeks ago     47.7MB
redis                              7.2.4-alpine   sha256:c8bb255c3559b3e458766db810aa7b3c7af1235b204cfdb304e79ff388fe1a5a   a1811fcf7480   11 months ago   46.1MB

I still get the message module 'gramps.gen.lib' has no attribute '7'.

Note that this is Debian 12, so something in the environment running the containers may be older than expected – e.g., gramps is only 5.1.5 by default, and docker is 1.5 so compose is not a plugin yet (that’s in docker 2, I think).

I can update this cloud image to Debian testing and newer packages, if it would help. Or even Debian unstable – though getting this to work on Debian 12 (stable) would be good as it’s probably the most used Debian environment. Ubuntu will look more like unstable, though.

Can you please provide the full traceback in the log? Or is there none?

Shouldn’t matter.

Agreed – the underlying OS should not matter to the containers; just keeping mental track of possible variables.

Logs for the last 24 hours in the following replies.

Log from the grampsweb image:

 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 20:26:13.026: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 [2025-04-26 20:26:15 +0000] [10] [INFO] Starting gunicorn 23.0.0
 [2025-04-26 20:26:15 +0000] [10] [INFO] Listening at: http://0.0.0.0:5000 (10)
 [2025-04-26 20:26:15 +0000] [10] [INFO] Using worker: sync
 [2025-04-26 20:26:15 +0000] [11] [INFO] Booting worker with pid: 11
 [2025-04-26 20:26:15 +0000] [12] [INFO] Booting worker with pid: 12
 [2025-04-26 20:26:15 +0000] [13] [INFO] Booting worker with pid: 13
 Two Gramps application data directories exist.
 [2025-04-26 20:26:15 +0000] [14] [INFO] Booting worker with pid: 14
 [2025-04-26 20:26:15 +0000] [15] [INFO] Booting worker with pid: 15
 [2025-04-26 20:26:15 +0000] [16] [INFO] Booting worker with pid: 16
 Two Gramps application data directories exist.
 [2025-04-26 20:26:15 +0000] [17] [INFO] Booting worker with pid: 17
 [2025-04-26 20:26:15 +0000] [18] [INFO] Booting worker with pid: 18
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 
 (gunicorn:11): Gtk-CRITICAL **: 20:26:23.679: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:12): Gtk-CRITICAL **: 20:26:23.956: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:13): Gtk-CRITICAL **: 20:26:24.419: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:14): Gtk-CRITICAL **: 20:26:24.688: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:15): Gtk-CRITICAL **: 20:26:24.780: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:16): Gtk-CRITICAL **: 20:26:24.847: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:17): Gtk-CRITICAL **: 20:26:25.053: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:18): Gtk-CRITICAL **: 20:26:25.101: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 20:28:32.775: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 [2025-04-26 20:28:35 +0000] [10] [INFO] Starting gunicorn 23.0.0
 [2025-04-26 20:28:35 +0000] [10] [INFO] Listening at: http://0.0.0.0:5000 (10)
 [2025-04-26 20:28:35 +0000] [10] [INFO] Using worker: sync
 [2025-04-26 20:28:35 +0000] [11] [INFO] Booting worker with pid: 11
 [2025-04-26 20:28:35 +0000] [12] [INFO] Booting worker with pid: 12
 [2025-04-26 20:28:35 +0000] [13] [INFO] Booting worker with pid: 13
 [2025-04-26 20:28:35 +0000] [14] [INFO] Booting worker with pid: 14
 [2025-04-26 20:28:35 +0000] [15] [INFO] Booting worker with pid: 15
 [2025-04-26 20:28:35 +0000] [16] [INFO] Booting worker with pid: 16
 [2025-04-26 20:28:35 +0000] [17] [INFO] Booting worker with pid: 17
 [2025-04-26 20:28:35 +0000] [18] [INFO] Booting worker with pid: 18
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 
 (gunicorn:17): Gtk-CRITICAL **: 20:28:49.500: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:11): Gtk-CRITICAL **: 20:28:49.861: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:16): Gtk-CRITICAL **: 20:28:49.952: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:12): Gtk-CRITICAL **: 20:28:50.134: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:13): Gtk-CRITICAL **: 20:28:50.519: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:18): Gtk-CRITICAL **: 20:28:50.571: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:15): Gtk-CRITICAL **: 20:28:50.643: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:14): Gtk-CRITICAL **: 20:28:50.771: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 20:28:58.548: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 [2025-04-26 20:29:00 +0000] [10] [INFO] Starting gunicorn 23.0.0
 [2025-04-26 20:29:00 +0000] [10] [INFO] Listening at: http://0.0.0.0:5000 (10)
 [2025-04-26 20:29:00 +0000] [10] [INFO] Using worker: sync
 [2025-04-26 20:29:00 +0000] [11] [INFO] Booting worker with pid: 11
 [2025-04-26 20:29:00 +0000] [12] [INFO] Booting worker with pid: 12
 [2025-04-26 20:29:00 +0000] [13] [INFO] Booting worker with pid: 13
 [2025-04-26 20:29:00 +0000] [14] [INFO] Booting worker with pid: 14
 [2025-04-26 20:29:00 +0000] [15] [INFO] Booting worker with pid: 15
 [2025-04-26 20:29:00 +0000] [16] [INFO] Booting worker with pid: 16
 [2025-04-26 20:29:00 +0000] [17] [INFO] Booting worker with pid: 17
 [2025-04-26 20:29:00 +0000] [18] [INFO] Booting worker with pid: 18
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 
 (gunicorn:13): Gtk-CRITICAL **: 20:29:10.121: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:17): Gtk-CRITICAL **: 20:29:10.198: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:12): Gtk-CRITICAL **: 20:29:10.217: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:14): Gtk-CRITICAL **: 20:29:10.415: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:11): Gtk-CRITICAL **: 20:29:10.499: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:15): Gtk-CRITICAL **: 20:29:10.510: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:16): Gtk-CRITICAL **: 20:29:10.659: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:18): Gtk-CRITICAL **: 20:29:10.738: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 
 (__main__.py:9): Gtk-CRITICAL **: 18:40:57.904: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 [2025-04-27 18:41:00 +0000] [11] [INFO] Starting gunicorn 23.0.0
 [2025-04-27 18:41:00 +0000] [11] [INFO] Listening at: http://0.0.0.0:5000 (11)
 [2025-04-27 18:41:00 +0000] [11] [INFO] Using worker: sync
 [2025-04-27 18:41:00 +0000] [12] [INFO] Booting worker with pid: 12
 [2025-04-27 18:41:00 +0000] [13] [INFO] Booting worker with pid: 13
 [2025-04-27 18:41:00 +0000] [14] [INFO] Booting worker with pid: 14
 [2025-04-27 18:41:00 +0000] [15] [INFO] Booting worker with pid: 15
 [2025-04-27 18:41:00 +0000] [16] [INFO] Booting worker with pid: 16
 [2025-04-27 18:41:00 +0000] [17] [INFO] Booting worker with pid: 17
 [2025-04-27 18:41:00 +0000] [18] [INFO] Booting worker with pid: 18
 [2025-04-27 18:41:00 +0000] [19] [INFO] Booting worker with pid: 19
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 
 (gunicorn:14): Gtk-CRITICAL **: 18:41:09.468: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:15): Gtk-CRITICAL **: 18:41:09.600: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:16): Gtk-CRITICAL **: 18:41:09.666: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:12): Gtk-CRITICAL **: 18:41:09.677: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:13): Gtk-CRITICAL **: 18:41:09.701: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:18): Gtk-CRITICAL **: 18:41:09.814: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:17): Gtk-CRITICAL **: 18:41:10.322: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:19): Gtk-CRITICAL **: 18:41:10.433: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 
 (__main__.py:7): Gtk-CRITICAL **: 19:02:10.136: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 [2025-04-27 19:02:12 +0000] [9] [INFO] Starting gunicorn 23.0.0
 [2025-04-27 19:02:12 +0000] [9] [INFO] Listening at: http://0.0.0.0:5000 (9)
 [2025-04-27 19:02:12 +0000] [9] [INFO] Using worker: sync
 [2025-04-27 19:02:12 +0000] [10] [INFO] Booting worker with pid: 10
 [2025-04-27 19:02:12 +0000] [11] [INFO] Booting worker with pid: 11
 [2025-04-27 19:02:12 +0000] [12] [INFO] Booting worker with pid: 12
 [2025-04-27 19:02:12 +0000] [13] [INFO] Booting worker with pid: 13
 Two Gramps application data directories exist.
 [2025-04-27 19:02:12 +0000] [14] [INFO] Booting worker with pid: 14
 [2025-04-27 19:02:12 +0000] [15] [INFO] Booting worker with pid: 15
 [2025-04-27 19:02:12 +0000] [16] [INFO] Booting worker with pid: 16
 [2025-04-27 19:02:13 +0000] [17] [INFO] Booting worker with pid: 17
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 
 (gunicorn:10): Gtk-CRITICAL **: 19:02:24.041: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:12): Gtk-CRITICAL **: 19:02:24.305: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:11): Gtk-CRITICAL **: 19:02:24.358: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:13): Gtk-CRITICAL **: 19:02:24.607: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:15): Gtk-CRITICAL **: 19:02:24.692: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:17): Gtk-CRITICAL **: 19:02:24.898: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:14): Gtk-CRITICAL **: 19:02:24.935: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:16): Gtk-CRITICAL **: 19:02:25.031: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 19:07:21.794: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 [2025-04-27 19:07:23 +0000] [10] [INFO] Starting gunicorn 23.0.0
 [2025-04-27 19:07:23 +0000] [10] [INFO] Listening at: http://0.0.0.0:5000 (10)
 [2025-04-27 19:07:23 +0000] [10] [INFO] Using worker: sync
 [2025-04-27 19:07:23 +0000] [11] [INFO] Booting worker with pid: 11
 [2025-04-27 19:07:23 +0000] [12] [INFO] Booting worker with pid: 12
 [2025-04-27 19:07:24 +0000] [13] [INFO] Booting worker with pid: 13
 [2025-04-27 19:07:24 +0000] [14] [INFO] Booting worker with pid: 14
 [2025-04-27 19:07:24 +0000] [15] [INFO] Booting worker with pid: 15
 [2025-04-27 19:07:24 +0000] [16] [INFO] Booting worker with pid: 16
 [2025-04-27 19:07:24 +0000] [17] [INFO] Booting worker with pid: 17
 Two Gramps application data directories exist.
 [2025-04-27 19:07:24 +0000] [18] [INFO] Booting worker with pid: 18
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 Two Gramps application data directories exist.
 
 (gunicorn:11): Gtk-CRITICAL **: 19:07:33.530: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:12): Gtk-CRITICAL **: 19:07:33.637: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:15): Gtk-CRITICAL **: 19:07:33.799: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:14): Gtk-CRITICAL **: 19:07:34.068: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:13): Gtk-CRITICAL **: 19:07:34.205: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:17): Gtk-CRITICAL **: 19:07:34.292: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:16): Gtk-CRITICAL **: 19:07:34.544: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 
 (gunicorn:18): Gtk-CRITICAL **: 19:07:34.780: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

Log from grampsweb_celery image, followed by the logs from grampsweb_redis (NB: it has warnings about vm overcommits being mecessary for background replication):

 
 worker: Warm shutdown (MainProcess)
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 20:26:05.492: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 Two Gramps application data directories exist.
 
 (celery:1): Gtk-CRITICAL **: 20:26:09.869: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 /usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
 absolutely not recommended!
 
 Please specify a different user using the --uid option.
 
 User information: uid=0 euid=0 gid=0 egid=0
 
   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
  
  -------------- celery@73dcdbcb65f9 v5.5.1 (immunity)
 --- ***** ----- 
 -- ******* ---- Linux-6.1.0-32-cloud-amd64-x86_64-with-glibc2.36 2025-04-26 20:26:10
 - *** --- * --- 
 - ** ---------- [config]
 - ** ---------- .> app:         default:0x7f7861dba510 (.default.Loader)
 - ** ---------- .> transport:   redis://grampsweb_redis:6379/0
 - ** ---------- .> results:     redis://grampsweb_redis:6379/0
 - *** --- * --- .> concurrency: 2 (prefork)
 -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
 --- ***** ----- 
  -------------- [queues]
                 .> celery           exchange=celery(direct) key=celery
                 
 
 [tasks]
   . gramps_webapi.api.tasks.check_repair_database
   . gramps_webapi.api.tasks.delete_objects
   . gramps_webapi.api.tasks.export_db
   . gramps_webapi.api.tasks.export_media
   . gramps_webapi.api.tasks.generate_report
   . gramps_webapi.api.tasks.import_file
   . gramps_webapi.api.tasks.import_media_archive
   . gramps_webapi.api.tasks.media_ocr
   . gramps_webapi.api.tasks.process_transactions
   . gramps_webapi.api.tasks.search_reindex_full
   . gramps_webapi.api.tasks.search_reindex_incremental
   . gramps_webapi.api.tasks.send_email_confirm_email
   . gramps_webapi.api.tasks.send_email_new_user
   . gramps_webapi.api.tasks.send_email_reset_password
   . gramps_webapi.api.tasks.upgrade_database_schema
   . gramps_webapi.api.tasks.upgrade_undodb_schema
 
 [2025-04-26 20:26:10,763: INFO/MainProcess] Connected to redis://grampsweb_redis:6379/0
 [2025-04-26 20:26:10,768: INFO/MainProcess] mingle: searching for neighbors
 [2025-04-26 20:26:11,788: INFO/MainProcess] mingle: all alone
 [2025-04-26 20:26:11,807: INFO/MainProcess] celery@73dcdbcb65f9 ready.
 
 worker: Warm shutdown (MainProcess)
 Two Gramps application data directories exist.
 
 (__main__.py:9): Gtk-CRITICAL **: 20:28:33.397: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 Two Gramps application data directories exist.
 
 (celery:1): Gtk-CRITICAL **: 20:28:38.601: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 /usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
 absolutely not recommended!
 
 Please specify a different user using the --uid option.
 
 User information: uid=0 euid=0 gid=0 egid=0
 
   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
  
  -------------- celery@73dcdbcb65f9 v5.5.1 (immunity)
 --- ***** ----- 
 -- ******* ---- Linux-6.1.0-32-cloud-amd64-x86_64-with-glibc2.36 2025-04-26 20:28:38
 - *** --- * --- 
 - ** ---------- [config]
 - ** ---------- .> app:         default:0x7ff770a7fc50 (.default.Loader)
 - ** ---------- .> transport:   redis://grampsweb_redis:6379/0
 - ** ---------- .> results:     redis://grampsweb_redis:6379/0
 - *** --- * --- .> concurrency: 2 (prefork)
 -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
 --- ***** ----- 
  -------------- [queues]
                 .> celery           exchange=celery(direct) key=celery
                 
 
 [tasks]
   . gramps_webapi.api.tasks.check_repair_database
   . gramps_webapi.api.tasks.delete_objects
   . gramps_webapi.api.tasks.export_db
   . gramps_webapi.api.tasks.export_media
   . gramps_webapi.api.tasks.generate_report
   . gramps_webapi.api.tasks.import_file
   . gramps_webapi.api.tasks.import_media_archive
   . gramps_webapi.api.tasks.media_ocr
   . gramps_webapi.api.tasks.process_transactions
   . gramps_webapi.api.tasks.search_reindex_full
   . gramps_webapi.api.tasks.search_reindex_incremental
   . gramps_webapi.api.tasks.send_email_confirm_email
   . gramps_webapi.api.tasks.send_email_new_user
   . gramps_webapi.api.tasks.send_email_reset_password
   . gramps_webapi.api.tasks.upgrade_database_schema
   . gramps_webapi.api.tasks.upgrade_undodb_schema
 
 [2025-04-26 20:28:39,359: INFO/MainProcess] Connected to redis://grampsweb_redis:6379/0
 [2025-04-26 20:28:39,363: INFO/MainProcess] mingle: searching for neighbors
 [2025-04-26 20:28:40,375: INFO/MainProcess] mingle: all alone
 [2025-04-26 20:28:40,398: INFO/MainProcess] celery@73dcdbcb65f9 ready.
 
 worker: Warm shutdown (MainProcess)
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 20:28:51.935: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 Two Gramps application data directories exist.
 
 (celery:1): Gtk-CRITICAL **: 20:28:56.971: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 /usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
 absolutely not recommended!
 
 Please specify a different user using the --uid option.
 
 User information: uid=0 euid=0 gid=0 egid=0
 
   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
  
  -------------- celery@73dcdbcb65f9 v5.5.1 (immunity)
 --- ***** ----- 
 -- ******* ---- Linux-6.1.0-32-cloud-amd64-x86_64-with-glibc2.36 2025-04-26 20:28:57
 - *** --- * --- 
 - ** ---------- [config]
 - ** ---------- .> app:         default:0x7f92ea2bc990 (.default.Loader)
 - ** ---------- .> transport:   redis://grampsweb_redis:6379/0
 - ** ---------- .> results:     redis://grampsweb_redis:6379/0
 - *** --- * --- .> concurrency: 2 (prefork)
 -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
 --- ***** ----- 
  -------------- [queues]
                 .> celery           exchange=celery(direct) key=celery
                 
 
 [tasks]
   . gramps_webapi.api.tasks.check_repair_database
   . gramps_webapi.api.tasks.delete_objects
   . gramps_webapi.api.tasks.export_db
   . gramps_webapi.api.tasks.export_media
   . gramps_webapi.api.tasks.generate_report
   . gramps_webapi.api.tasks.import_file
   . gramps_webapi.api.tasks.import_media_archive
   . gramps_webapi.api.tasks.media_ocr
   . gramps_webapi.api.tasks.process_transactions
   . gramps_webapi.api.tasks.search_reindex_full
   . gramps_webapi.api.tasks.search_reindex_incremental
   . gramps_webapi.api.tasks.send_email_confirm_email
   . gramps_webapi.api.tasks.send_email_new_user
   . gramps_webapi.api.tasks.send_email_reset_password
   . gramps_webapi.api.tasks.upgrade_database_schema
   . gramps_webapi.api.tasks.upgrade_undodb_schema
 
 [2025-04-26 20:28:57,674: INFO/MainProcess] Connected to redis://grampsweb_redis:6379/0
 [2025-04-26 20:28:57,677: INFO/MainProcess] mingle: searching for neighbors
 [2025-04-26 20:28:58,689: INFO/MainProcess] mingle: all alone
 [2025-04-26 20:28:58,707: INFO/MainProcess] celery@73dcdbcb65f9 ready.
 
 worker: Warm shutdown (MainProcess)
 Two Gramps application data directories exist.
 
 (__main__.py:7): Gtk-CRITICAL **: 18:40:48.501: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 Two Gramps application data directories exist.
 
 (celery:1): Gtk-CRITICAL **: 18:40:52.992: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 /usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
 absolutely not recommended!
 
 Please specify a different user using the --uid option.
 
 User information: uid=0 euid=0 gid=0 egid=0
 
   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
  
  -------------- celery@73dcdbcb65f9 v5.5.1 (immunity)
 --- ***** ----- 
 -- ******* ---- Linux-6.1.0-32-cloud-amd64-x86_64-with-glibc2.36 2025-04-27 18:40:53
 - *** --- * --- 
 - ** ---------- [config]
 - ** ---------- .> app:         default:0x7f1e87d65e50 (.default.Loader)
 - ** ---------- .> transport:   redis://grampsweb_redis:6379/0
 - ** ---------- .> results:     redis://grampsweb_redis:6379/0
 - *** --- * --- .> concurrency: 2 (prefork)
 -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
 --- ***** ----- 
  -------------- [queues]
                 .> celery           exchange=celery(direct) key=celery
                 
 
 [tasks]
   . gramps_webapi.api.tasks.check_repair_database
   . gramps_webapi.api.tasks.delete_objects
   . gramps_webapi.api.tasks.export_db
   . gramps_webapi.api.tasks.export_media
   . gramps_webapi.api.tasks.generate_report
   . gramps_webapi.api.tasks.import_file
   . gramps_webapi.api.tasks.import_media_archive
   . gramps_webapi.api.tasks.media_ocr
   . gramps_webapi.api.tasks.process_transactions
   . gramps_webapi.api.tasks.search_reindex_full
   . gramps_webapi.api.tasks.search_reindex_incremental
   . gramps_webapi.api.tasks.send_email_confirm_email
   . gramps_webapi.api.tasks.send_email_new_user
   . gramps_webapi.api.tasks.send_email_reset_password
   . gramps_webapi.api.tasks.upgrade_database_schema
   . gramps_webapi.api.tasks.upgrade_undodb_schema
 
 [2025-04-27 18:40:53,782: INFO/MainProcess] Connected to redis://grampsweb_redis:6379/0
 [2025-04-27 18:40:53,792: INFO/MainProcess] mingle: searching for neighbors
 [2025-04-27 18:40:54,805: INFO/MainProcess] mingle: all alone
 [2025-04-27 18:40:54,821: INFO/MainProcess] celery@73dcdbcb65f9 ready.
 [2025-04-27 18:41:18,956: INFO/MainProcess] Task gramps_webapi.api.tasks.upgrade_database_schema[5ebcdc0e-da21-40c6-80bf-fcbb8a75a9de] received
 [2025-04-27 18:41:19,153: ERROR/ForkPoolWorker-1] Task gramps_webapi.api.tasks.upgrade_database_schema[5ebcdc0e-da21-40c6-80bf-fcbb8a75a9de] raised unexpected: AttributeError("module 'gramps.gen.lib' has no attribute '7'")
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
     R = retval = fun(*args, **kwargs)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/util/celery.py", line 20, in __call__
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/api/tasks.py", line 411, in upgrade_database_schema
     migrate_undodb(db_handle.undodb)
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/undodb.py", line 619, in migrate
     obj_cls = getattr(gramps.gen.lib, row.obj_class)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'gramps.gen.lib' has no attribute '7'
 
 worker: Warm shutdown (MainProcess)
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 19:02:10.136: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 Two Gramps application data directories exist.
 
 (celery:1): Gtk-CRITICAL **: 19:02:15.340: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 /usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
 absolutely not recommended!
 
 Please specify a different user using the --uid option.
 
 User information: uid=0 euid=0 gid=0 egid=0
 
   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
  
  -------------- celery@73dcdbcb65f9 v5.5.1 (immunity)
 --- ***** ----- 
 -- ******* ---- Linux-6.1.0-32-cloud-amd64-x86_64-with-glibc2.36 2025-04-27 19:02:15
 - *** --- * --- 
 - ** ---------- [config]
 - ** ---------- .> app:         default:0x7f36bf2e6250 (.default.Loader)
 - ** ---------- .> transport:   redis://grampsweb_redis:6379/0
 - ** ---------- .> results:     redis://grampsweb_redis:6379/0
 - *** --- * --- .> concurrency: 2 (prefork)
 -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
 --- ***** ----- 
  -------------- [queues]
                 .> celery           exchange=celery(direct) key=celery
                 
 
 [tasks]
   . gramps_webapi.api.tasks.check_repair_database
   . gramps_webapi.api.tasks.delete_objects
   . gramps_webapi.api.tasks.export_db
   . gramps_webapi.api.tasks.export_media
   . gramps_webapi.api.tasks.generate_report
   . gramps_webapi.api.tasks.import_file
   . gramps_webapi.api.tasks.import_media_archive
   . gramps_webapi.api.tasks.media_ocr
   . gramps_webapi.api.tasks.process_transactions
   . gramps_webapi.api.tasks.search_reindex_full
   . gramps_webapi.api.tasks.search_reindex_incremental
   . gramps_webapi.api.tasks.send_email_confirm_email
   . gramps_webapi.api.tasks.send_email_new_user
   . gramps_webapi.api.tasks.send_email_reset_password
   . gramps_webapi.api.tasks.upgrade_database_schema
   . gramps_webapi.api.tasks.upgrade_undodb_schema
 
 [2025-04-27 19:02:16,194: INFO/MainProcess] Connected to redis://grampsweb_redis:6379/0
 [2025-04-27 19:02:16,198: INFO/MainProcess] mingle: searching for neighbors
 [2025-04-27 19:02:17,215: INFO/MainProcess] mingle: all alone
 [2025-04-27 19:02:17,242: INFO/MainProcess] celery@73dcdbcb65f9 ready.
 [2025-04-27 19:04:56,726: INFO/MainProcess] Task gramps_webapi.api.tasks.upgrade_database_schema[af166249-eb56-4423-a32c-030d576642f4] received
 [2025-04-27 19:04:56,901: ERROR/ForkPoolWorker-1] Task gramps_webapi.api.tasks.upgrade_database_schema[af166249-eb56-4423-a32c-030d576642f4] raised unexpected: AttributeError("module 'gramps.gen.lib' has no attribute '7'")
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
     R = retval = fun(*args, **kwargs)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/util/celery.py", line 20, in __call__
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/api/tasks.py", line 411, in upgrade_database_schema
     migrate_undodb(db_handle.undodb)
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/undodb.py", line 619, in migrate
     obj_cls = getattr(gramps.gen.lib, row.obj_class)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'gramps.gen.lib' has no attribute '7'
 [2025-04-27 19:05:11,625: INFO/MainProcess] Task gramps_webapi.api.tasks.upgrade_database_schema[55e72c2b-edec-436d-9b94-2f3e96960bb5] received
 [2025-04-27 19:05:11,709: ERROR/ForkPoolWorker-1] Task gramps_webapi.api.tasks.upgrade_database_schema[55e72c2b-edec-436d-9b94-2f3e96960bb5] raised unexpected: AttributeError("module 'gramps.gen.lib' has no attribute '7'")
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
     R = retval = fun(*args, **kwargs)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/util/celery.py", line 20, in __call__
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/api/tasks.py", line 411, in upgrade_database_schema
     migrate_undodb(db_handle.undodb)
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/undodb.py", line 619, in migrate
     obj_cls = getattr(gramps.gen.lib, row.obj_class)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'gramps.gen.lib' has no attribute '7'
 
 worker: Warm shutdown (MainProcess)
 Two Gramps application data directories exist.
 
 (__main__.py:8): Gtk-CRITICAL **: 19:07:15.006: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 Two Gramps application data directories exist.
 INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
 INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
 Two Gramps application data directories exist.
 
 (celery:1): Gtk-CRITICAL **: 19:07:19.930: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
 /usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
 absolutely not recommended!
 
 Please specify a different user using the --uid option.
 
 User information: uid=0 euid=0 gid=0 egid=0
 
   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
  
  -------------- celery@73dcdbcb65f9 v5.5.1 (immunity)
 --- ***** ----- 
 -- ******* ---- Linux-6.1.0-32-cloud-amd64-x86_64-with-glibc2.36 2025-04-27 19:07:20
 - *** --- * --- 
 - ** ---------- [config]
 - ** ---------- .> app:         default:0x7f4303cc7a50 (.default.Loader)
 - ** ---------- .> transport:   redis://grampsweb_redis:6379/0
 - ** ---------- .> results:     redis://grampsweb_redis:6379/0
 - *** --- * --- .> concurrency: 2 (prefork)
 -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
 --- ***** ----- 
  -------------- [queues]
                 .> celery           exchange=celery(direct) key=celery
                 
 
 [tasks]
   . gramps_webapi.api.tasks.check_repair_database
   . gramps_webapi.api.tasks.delete_objects
   . gramps_webapi.api.tasks.export_db
   . gramps_webapi.api.tasks.export_media
   . gramps_webapi.api.tasks.generate_report
   . gramps_webapi.api.tasks.import_file
   . gramps_webapi.api.tasks.import_media_archive
   . gramps_webapi.api.tasks.media_ocr
   . gramps_webapi.api.tasks.process_transactions
   . gramps_webapi.api.tasks.search_reindex_full
   . gramps_webapi.api.tasks.search_reindex_incremental
   . gramps_webapi.api.tasks.send_email_confirm_email
   . gramps_webapi.api.tasks.send_email_new_user
   . gramps_webapi.api.tasks.send_email_reset_password
   . gramps_webapi.api.tasks.upgrade_database_schema
   . gramps_webapi.api.tasks.upgrade_undodb_schema
 
 [2025-04-27 19:07:20,740: INFO/MainProcess] Connected to redis://grampsweb_redis:6379/0
 [2025-04-27 19:07:20,744: INFO/MainProcess] mingle: searching for neighbors
 [2025-04-27 19:07:21,755: INFO/MainProcess] mingle: all alone
 [2025-04-27 19:07:21,771: INFO/MainProcess] celery@73dcdbcb65f9 ready.
 [2025-04-27 19:07:40,530: INFO/MainProcess] Task gramps_webapi.api.tasks.upgrade_database_schema[5cae46b8-eb17-47ee-b41f-453f1cea637d] received
 [2025-04-27 19:07:40,692: ERROR/ForkPoolWorker-1] Task gramps_webapi.api.tasks.upgrade_database_schema[5cae46b8-eb17-47ee-b41f-453f1cea637d] raised unexpected: AttributeError("module 'gramps.gen.lib' has no attribute '7'")
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
     R = retval = fun(*args, **kwargs)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/util/celery.py", line 20, in __call__
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/api/tasks.py", line 411, in upgrade_database_schema
     migrate_undodb(db_handle.undodb)
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/undodb.py", line 619, in migrate
     obj_cls = getattr(gramps.gen.lib, row.obj_class)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'gramps.gen.lib' has no attribute '7'
 [2025-04-27 19:12:01,781: INFO/MainProcess] Task gramps_webapi.api.tasks.upgrade_database_schema[74547822-6a6b-45dc-aafc-636bcff0fea0] received
 [2025-04-27 19:12:01,869: ERROR/ForkPoolWorker-1] Task gramps_webapi.api.tasks.upgrade_database_schema[74547822-6a6b-45dc-aafc-636bcff0fea0] raised unexpected: AttributeError("module 'gramps.gen.lib' has no attribute '7'")
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
     R = retval = fun(*args, **kwargs)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/util/celery.py", line 20, in __call__
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/api/tasks.py", line 411, in upgrade_database_schema
     migrate_undodb(db_handle.undodb)
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/undodb.py", line 619, in migrate
     obj_cls = getattr(gramps.gen.lib, row.obj_class)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'gramps.gen.lib' has no attribute '7'

Log from grampsweb_redis image (the messages about overcommit are a bit worrying):

 1:signal-handler (1745699159) Received SIGTERM scheduling shutdown...
 1:M 26 Apr 2025 20:25:59.344 * User requested shutdown...
 1:M 26 Apr 2025 20:25:59.344 * Saving the final RDB snapshot before exiting.
 1:M 26 Apr 2025 20:25:59.395 * DB saved on disk
 1:M 26 Apr 2025 20:25:59.395 # Redis is now ready to exit, bye bye...
 1:C 26 Apr 2025 20:26:01.189 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1:C 26 Apr 2025 20:26:01.189 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 1:C 26 Apr 2025 20:26:01.189 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
 1:C 26 Apr 2025 20:26:01.189 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
 1:M 26 Apr 2025 20:26:01.190 * monotonic clock: POSIX clock_gettime
 1:M 26 Apr 2025 20:26:01.191 * Running mode=standalone, port=6379.
 1:M 26 Apr 2025 20:26:01.191 * Server initialized
 1:M 26 Apr 2025 20:26:01.193 * Loading RDB produced by version 7.2.4
 1:M 26 Apr 2025 20:26:01.193 * RDB age 2 seconds
 1:M 26 Apr 2025 20:26:01.193 * RDB memory usage when created 1.59 Mb
 1:M 26 Apr 2025 20:26:01.193 * Done loading RDB, keys loaded: 9, keys expired: 0.
 1:M 26 Apr 2025 20:26:01.193 * DB loaded from disk: 0.001 seconds
 1:M 26 Apr 2025 20:26:01.193 * Ready to accept connections tcp
 1:signal-handler (1745699248) Received SIGTERM scheduling shutdown...
 1:M 26 Apr 2025 20:27:28.947 * User requested shutdown...
 1:M 26 Apr 2025 20:27:28.947 * Saving the final RDB snapshot before exiting.
 1:M 26 Apr 2025 20:27:28.973 * DB saved on disk
 1:M 26 Apr 2025 20:27:28.973 # Redis is now ready to exit, bye bye...
 1:C 26 Apr 2025 20:28:29.056 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1:C 26 Apr 2025 20:28:29.057 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 1:C 26 Apr 2025 20:28:29.057 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
 1:C 26 Apr 2025 20:28:29.057 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
 1:M 26 Apr 2025 20:28:29.057 * monotonic clock: POSIX clock_gettime
 1:M 26 Apr 2025 20:28:29.058 * Running mode=standalone, port=6379.
 1:M 26 Apr 2025 20:28:29.058 * Server initialized
 1:M 26 Apr 2025 20:28:29.058 * Loading RDB produced by version 7.2.4
 1:M 26 Apr 2025 20:28:29.058 * RDB age 61 seconds
 1:M 26 Apr 2025 20:28:29.058 * RDB memory usage when created 1.24 Mb
 1:M 26 Apr 2025 20:28:29.059 * Done loading RDB, keys loaded: 8, keys expired: 0.
 1:M 26 Apr 2025 20:28:29.059 * DB loaded from disk: 0.000 seconds
 1:M 26 Apr 2025 20:28:29.059 * Ready to accept connections tcp
 1:signal-handler (1745699324) Received SIGTERM scheduling shutdown...
 1:M 26 Apr 2025 20:28:44.859 * User requested shutdown...
 1:M 26 Apr 2025 20:28:44.859 * Saving the final RDB snapshot before exiting.
 1:M 26 Apr 2025 20:28:44.902 * DB saved on disk
 1:M 26 Apr 2025 20:28:44.902 # Redis is now ready to exit, bye bye...
 1:C 26 Apr 2025 20:28:47.357 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1:C 26 Apr 2025 20:28:47.357 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 1:C 26 Apr 2025 20:28:47.357 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
 1:C 26 Apr 2025 20:28:47.358 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
 1:M 26 Apr 2025 20:28:47.358 * monotonic clock: POSIX clock_gettime
 1:M 26 Apr 2025 20:28:47.359 * Running mode=standalone, port=6379.
 1:M 26 Apr 2025 20:28:47.369 * Server initialized
 1:M 26 Apr 2025 20:28:47.369 * Loading RDB produced by version 7.2.4
 1:M 26 Apr 2025 20:28:47.369 * RDB age 3 seconds
 1:M 26 Apr 2025 20:28:47.369 * RDB memory usage when created 1.29 Mb
 1:M 26 Apr 2025 20:28:47.373 * Done loading RDB, keys loaded: 9, keys expired: 0.
 1:M 26 Apr 2025 20:28:47.373 * DB loaded from disk: 0.003 seconds
 1:M 26 Apr 2025 20:28:47.373 * Ready to accept connections tcp
 1:M 26 Apr 2025 21:28:48.091 * 1 changes in 3600 seconds. Saving...
 1:M 26 Apr 2025 21:28:48.093 * Background saving started by pid 20
 20:C 26 Apr 2025 21:28:48.126 * DB saved on disk
 20:C 26 Apr 2025 21:28:48.126 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 26 Apr 2025 21:28:48.194 * Background saving terminated with success
 1:M 26 Apr 2025 22:28:49.087 * 1 changes in 3600 seconds. Saving...
 1:M 26 Apr 2025 22:28:49.088 * Background saving started by pid 21
 21:C 26 Apr 2025 22:28:49.144 * DB saved on disk
 21:C 26 Apr 2025 22:28:49.144 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 26 Apr 2025 22:28:49.188 * Background saving terminated with success
 1:M 26 Apr 2025 23:28:50.066 * 1 changes in 3600 seconds. Saving...
 1:M 26 Apr 2025 23:28:50.067 * Background saving started by pid 22
 22:C 26 Apr 2025 23:28:50.099 * DB saved on disk
 22:C 26 Apr 2025 23:28:50.099 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 26 Apr 2025 23:28:50.168 * Background saving terminated with success
 1:M 27 Apr 2025 00:28:51.039 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 00:28:51.039 * Background saving started by pid 23
 23:C 27 Apr 2025 00:28:51.065 * DB saved on disk
 23:C 27 Apr 2025 00:28:51.065 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 00:28:51.140 * Background saving terminated with success
 1:M 27 Apr 2025 01:28:52.026 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 01:28:52.027 * Background saving started by pid 24
 24:C 27 Apr 2025 01:28:52.064 * DB saved on disk
 24:C 27 Apr 2025 01:28:52.065 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 01:28:52.128 * Background saving terminated with success
 1:M 27 Apr 2025 02:28:53.089 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 02:28:53.090 * Background saving started by pid 25
 25:C 27 Apr 2025 02:28:53.116 * DB saved on disk
 25:C 27 Apr 2025 02:28:53.117 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 02:28:53.191 * Background saving terminated with success
 1:M 27 Apr 2025 03:28:54.005 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 03:28:54.005 * Background saving started by pid 26
 26:C 27 Apr 2025 03:28:54.043 * DB saved on disk
 26:C 27 Apr 2025 03:28:54.043 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 03:28:54.106 * Background saving terminated with success
 1:M 27 Apr 2025 04:28:55.085 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 04:28:55.086 * Background saving started by pid 27
 27:C 27 Apr 2025 04:28:55.122 * DB saved on disk
 27:C 27 Apr 2025 04:28:55.123 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 04:28:55.187 * Background saving terminated with success
 1:M 27 Apr 2025 05:28:56.089 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 05:28:56.090 * Background saving started by pid 28
 28:C 27 Apr 2025 05:28:56.104 * DB saved on disk
 28:C 27 Apr 2025 05:28:56.105 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 05:28:56.190 * Background saving terminated with success
 1:M 27 Apr 2025 06:28:57.065 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 06:28:57.066 * Background saving started by pid 29
 29:C 27 Apr 2025 06:28:57.093 * DB saved on disk
 29:C 27 Apr 2025 06:28:57.094 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 06:28:57.167 * Background saving terminated with success
 1:M 27 Apr 2025 07:28:58.029 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 07:28:58.030 * Background saving started by pid 30
 30:C 27 Apr 2025 07:28:58.057 * DB saved on disk
 30:C 27 Apr 2025 07:28:58.058 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 07:28:58.130 * Background saving terminated with success
 1:M 27 Apr 2025 08:28:59.099 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 08:28:59.100 * Background saving started by pid 31
 31:C 27 Apr 2025 08:28:59.133 * DB saved on disk
 31:C 27 Apr 2025 08:28:59.134 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 08:28:59.200 * Background saving terminated with success
 1:M 27 Apr 2025 09:29:00.054 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 09:29:00.055 * Background saving started by pid 32
 32:C 27 Apr 2025 09:29:00.082 * DB saved on disk
 32:C 27 Apr 2025 09:29:00.082 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 09:29:00.156 * Background saving terminated with success
 1:M 27 Apr 2025 10:29:01.086 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 10:29:01.087 * Background saving started by pid 33
 33:C 27 Apr 2025 10:29:01.116 * DB saved on disk
 33:C 27 Apr 2025 10:29:01.117 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 10:29:01.187 * Background saving terminated with success
 1:M 27 Apr 2025 11:29:02.054 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 11:29:02.055 * Background saving started by pid 34
 34:C 27 Apr 2025 11:29:02.104 * DB saved on disk
 34:C 27 Apr 2025 11:29:02.104 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 11:29:02.155 * Background saving terminated with success
 1:M 27 Apr 2025 12:29:03.013 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 12:29:03.014 * Background saving started by pid 35
 35:C 27 Apr 2025 12:29:03.048 * DB saved on disk
 35:C 27 Apr 2025 12:29:03.049 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 12:29:03.115 * Background saving terminated with success
 1:M 27 Apr 2025 13:29:04.014 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 13:29:04.015 * Background saving started by pid 36
 36:C 27 Apr 2025 13:29:04.043 * DB saved on disk
 36:C 27 Apr 2025 13:29:04.044 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 13:29:04.116 * Background saving terminated with success
 1:M 27 Apr 2025 14:29:05.039 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 14:29:05.039 * Background saving started by pid 37
 37:C 27 Apr 2025 14:29:05.067 * DB saved on disk
 37:C 27 Apr 2025 14:29:05.067 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 14:29:05.140 * Background saving terminated with success
 1:M 27 Apr 2025 15:29:06.053 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 15:29:06.054 * Background saving started by pid 38
 38:C 27 Apr 2025 15:29:06.091 * DB saved on disk
 38:C 27 Apr 2025 15:29:06.092 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 15:29:06.154 * Background saving terminated with success
 1:M 27 Apr 2025 16:29:07.091 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 16:29:07.092 * Background saving started by pid 39
 39:C 27 Apr 2025 16:29:07.120 * DB saved on disk
 39:C 27 Apr 2025 16:29:07.121 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 16:29:07.192 * Background saving terminated with success
 1:M 27 Apr 2025 17:29:08.058 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 17:29:08.058 * Background saving started by pid 40
 40:C 27 Apr 2025 17:29:08.078 * DB saved on disk
 40:C 27 Apr 2025 17:29:08.078 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 17:29:08.159 * Background saving terminated with success
 1:M 27 Apr 2025 18:29:09.021 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 18:29:09.022 * Background saving started by pid 41
 41:C 27 Apr 2025 18:29:09.054 * DB saved on disk
 41:C 27 Apr 2025 18:29:09.055 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 18:29:09.123 * Background saving terminated with success
 1:signal-handler (1745779242) Received SIGTERM scheduling shutdown...
 1:M 27 Apr 2025 18:40:42.388 * User requested shutdown...
 1:M 27 Apr 2025 18:40:42.388 * Saving the final RDB snapshot before exiting.
 1:M 27 Apr 2025 18:40:42.418 * DB saved on disk
 1:M 27 Apr 2025 18:40:42.418 # Redis is now ready to exit, bye bye...
 1:C 27 Apr 2025 18:40:44.517 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1:C 27 Apr 2025 18:40:44.518 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 1:C 27 Apr 2025 18:40:44.518 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
 1:C 27 Apr 2025 18:40:44.518 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
 1:M 27 Apr 2025 18:40:44.518 * monotonic clock: POSIX clock_gettime
 1:M 27 Apr 2025 18:40:44.519 * Running mode=standalone, port=6379.
 1:M 27 Apr 2025 18:40:44.521 * Server initialized
 1:M 27 Apr 2025 18:40:44.522 * Loading RDB produced by version 7.2.4
 1:M 27 Apr 2025 18:40:44.523 * RDB age 2 seconds
 1:M 27 Apr 2025 18:40:44.523 * RDB memory usage when created 1.29 Mb
 1:M 27 Apr 2025 18:40:44.523 * Done loading RDB, keys loaded: 3, keys expired: 0.
 1:M 27 Apr 2025 18:40:44.523 * DB loaded from disk: 0.001 seconds
 1:M 27 Apr 2025 18:40:44.523 * Ready to accept connections tcp
 1:signal-handler (1745779547) Received SIGTERM scheduling shutdown...
 1:M 27 Apr 2025 18:45:47.625 * User requested shutdown...
 1:M 27 Apr 2025 18:45:47.625 * Saving the final RDB snapshot before exiting.
 1:M 27 Apr 2025 18:45:47.654 * DB saved on disk
 1:M 27 Apr 2025 18:45:47.654 # Redis is now ready to exit, bye bye...
 1:C 27 Apr 2025 19:02:05.490 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1:C 27 Apr 2025 19:02:05.490 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 1:C 27 Apr 2025 19:02:05.490 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
 1:C 27 Apr 2025 19:02:05.490 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
 1:M 27 Apr 2025 19:02:05.491 * monotonic clock: POSIX clock_gettime
 1:M 27 Apr 2025 19:02:05.492 * Running mode=standalone, port=6379.
 1:M 27 Apr 2025 19:02:05.493 * Server initialized
 1:M 27 Apr 2025 19:02:05.493 * Loading RDB produced by version 7.2.4
 1:M 27 Apr 2025 19:02:05.493 * RDB age 978 seconds
 1:M 27 Apr 2025 19:02:05.493 * RDB memory usage when created 1.48 Mb
 1:M 27 Apr 2025 19:02:05.493 * Done loading RDB, keys loaded: 3, keys expired: 0.
 1:M 27 Apr 2025 19:02:05.493 * DB loaded from disk: 0.000 seconds
 1:M 27 Apr 2025 19:02:05.493 * Ready to accept connections tcp
 1:signal-handler (1745780828) Received SIGTERM scheduling shutdown...
 1:M 27 Apr 2025 19:07:08.059 * User requested shutdown...
 1:M 27 Apr 2025 19:07:08.059 * Saving the final RDB snapshot before exiting.
 1:M 27 Apr 2025 19:07:08.096 * DB saved on disk
 1:M 27 Apr 2025 19:07:08.096 # Redis is now ready to exit, bye bye...
 1:C 27 Apr 2025 19:07:10.478 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1:C 27 Apr 2025 19:07:10.478 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 1:C 27 Apr 2025 19:07:10.478 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
 1:C 27 Apr 2025 19:07:10.478 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
 1:M 27 Apr 2025 19:07:10.479 * monotonic clock: POSIX clock_gettime
 1:M 27 Apr 2025 19:07:10.479 * Running mode=standalone, port=6379.
 1:M 27 Apr 2025 19:07:10.480 * Server initialized
 1:M 27 Apr 2025 19:07:10.480 * Loading RDB produced by version 7.2.4
 1:M 27 Apr 2025 19:07:10.480 * RDB age 2 seconds
 1:M 27 Apr 2025 19:07:10.481 * RDB memory usage when created 1.60 Mb
 1:M 27 Apr 2025 19:07:10.481 * Done loading RDB, keys loaded: 6, keys expired: 0.
 1:M 27 Apr 2025 19:07:10.481 * DB loaded from disk: 0.001 seconds
 1:M 27 Apr 2025 19:07:10.481 * Ready to accept connections tcp
 1:M 27 Apr 2025 20:07:11.038 * 1 changes in 3600 seconds. Saving...
 1:M 27 Apr 2025 20:07:11.039 * Background saving started by pid 21
 21:C 27 Apr 2025 20:07:11.074 * DB saved on disk
 21:C 27 Apr 2025 20:07:11.074 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
 1:M 27 Apr 2025 20:07:11.140 * Background saving terminated with success
1 Like

Thanks! That was what I needed to realize what the issue is: I forgot that I have to manually trigger a build of the grampsweb image after a new Web API development image is built :man_facepalming:

I just did that, and last night I also pushed a fix to the directory issue, so now you should see some improvements :crossed_fingers:

Hi guys,
a feedback here

System : Debian 12.10
Install : docker compose v2.23.3

Nice and clean install = OK
Importing Gramps XML = OK

Trying to use sync module

Auth = OK
parsing differences = OK
Sync = KO with

162244: ERROR: grampswebsync.py: line 425: Unexpected error while applying changes. too many values to unpack (expected 21)

and I can’t see anything in grampsweb_celery ou grampsweb logs

how can I help investigate ?
or maybe i just misses sommething :slight_smile:

I see several improvements!
Gramps Web runs now (on Fedora 42).
I have synced my production data from Gramps Desktop including images
Graphs are drawn fast.
So all looks good. Thanks @DavidMStraub

There a few warnings in some of the logs, but I think they have been there for a long time.

$ docker logs grampsweb_redis
1:C 28 Apr 2025 06:57:35.204 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
$ docker logs grampsweb_celery

(__main__.py:8): Gtk-CRITICAL **: 06:57:40.112: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.

(celery:1): Gtk-CRITICAL **: 06:57:46.995: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
/usr/local/lib/python3.11/dist-packages/celery/platforms.py:841: SecurityWarning: You're running the worker with superuser privileges: this is
absolutely not recommended!

Please specify a different user using the --uid option.

User information: uid=0 euid=0 gid=0 egid=0
$ docker logs grampsweb

(__main__.py:8): Gtk-CRITICAL **: 06:57:40.112: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
[snip lines]
ERROR:root:Error parsing list of recent DBs from file /root/gramps/recent-files-gramps.xml: no element found: line 1, column 0.
This might indicate a damage to your files.
If you're sure there is no problem with other files, delete it, and restart Gramps.

Regarding the GDK_IS_SCREEN this might be due that Gramps Web is running on fedora server, so no Gnome.

$ systemctl status gdm
Unit gdm.service could not be found.

@Antoine
I’m assuming you are running the 6.0.1 beta version of Gramps Web
I saw this error, but it has disappeared with the latest update from @DavidMStraub

@csam yop
Gramps 6.0.1
Gramps Web API 3.0.0-dev
Gramps Web Frontend 25.4.1
Gramps QL 0.4.0
Sifts 1.0.0
locale: en
multi-tree: false
task queue: true
OCR: true
chat: false

ok i’ll check later today :slight_smile:
Thanx you all for this nice work on gramps ! (@DavidMStraub)

1 Like

@Antoine if Gramps Web works but the sync fails, I think you’re running already the latest version and there is indeed a problem with the sync addon that needs fixing. Is there some more output if you enable debug logging?

https://www.grampsweb.org/administration/sync/#troubleshooting

@DavidMStraub don’t think so

025-04-28 16:42:59.030: DEBUG: grampswebsync.py: line 103: Initializing Gramps Web Sync addon.
2025-04-28 16:43:00.123: DEBUG: grampswebsync.py: line 79: Retrieving password for user admin
2025-04-28 16:43:00.123: WARNING: grampswebsync.py: line 83: Keyring is not installed, cannot retrieve password.
2025-04-28 16:43:01.336: DEBUG: grampswebsync.py: line 222: Moving to next page from page 0.
2025-04-28 16:43:01.337: DEBUG: grampswebsync.py: line 222: Moving to next page from page 1.
2025-04-28 16:43:03.440: DEBUG: grampswebsync.py: line 222: Moving to next page from page 1.
2025-04-28 16:43:06.631: DEBUG: grampswebsync.py: line 222: Moving to next page from page 1.
2025-04-28 16:43:06.633: DEBUG: webapihandler.py: line 162: Fetching an access token from the server
2025-04-28 16:43:06.775: DEBUG: webapihandler.py: line 162: Fetching an access token from the server
2025-04-28 16:43:07.193: DEBUG: grampswebsync.py: line 222: Moving to next page from page 2.
2025-04-28 16:43:07.202: INFO: grampswebsync.py: line 444: Downloading Gramps XML file.
2025-04-28 16:43:07.523: DEBUG: grampswebsync.py: line 448: Importing Gramps XML file.
100%2025-04-28 16:43:07.675: DEBUG: grampswebsync.py: line 454: Successfully imported Gramps XML file.
2025-04-28 16:43:07.675: INFO: grampswebsync.py: line 458: Comparing local and remote data…
2025-04-28 16:43:07.745: DEBUG: grampswebsync.py: line 222: Moving to next page from page 2.
2025-04-28 16:43:07.745: DEBUG: grampswebsync.py: line 222: Moving to next page from page 2.
2025-04-28 16:43:23.368: DEBUG: grampswebsync.py: line 222: Moving to next page from page 3.
2025-04-28 16:43:23.369: DEBUG: grampswebsync.py: line 222: Moving to next page from page 4.
2025-04-28 16:43:23.370: INFO: grampswebsync.py: line 562: Committing all changes to the databases.
2025-04-28 16:43:23.371: DEBUG: grampswebsync.py: line 569: No changes to apply to local database.
2025-04-28 16:43:23.524: DEBUG: webapihandler.py: line 152: Fetching metadata from the server
2025-04-28 16:43:23.786: ERROR: grampswebsync.py: line 425: Unexpected error while applying changes. too many values to unpack (expected 21)
2025-04-28 16:43:31.575: DEBUG: grampswebsync.py: line 222: Moving to next page from page 4.
2025-04-28 16:43:31.575: DEBUG: grampswebsync.py: line 224: Skipping to last page due to error.
2025-04-28 16:43:32.391: DEBUG: grampswebsync.py: line 214: Closing Gramps Web Sync addon.

1 Like

Hrm. Is there something I need to clean up after the prior attempt at an update? The image update to the very latest went fine, When I ran the ā€œUpgrade DBā€, I got the error shown below in the very last line of the grampsweb_celery image log as a pop-up:

 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
     R = retval = fun(*args, **kwargs)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/util/celery.py", line 20, in __call__
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/api/tasks.py", line 411, in upgrade_database_schema
     migrate_undodb(db_handle.undodb)
   File "/usr/local/lib/python3.11/dist-packages/gramps_webapi/undodb.py", line 626, in migrate
     row.new_json = object_to_string(old_data)
                                     ^^^^^^^^
 UnboundLocalError: cannot access local variable 'old_data' where it is not associated with a value

On the other hand, when I refreshed the page in the browser, the db update seems to have worked and all is well:

Gramps 6.0.1
Gramps Web API 3.0.0-dev
Gramps Web Frontend 25.4.1
Gramps QL 0.4.0
Sifts 1.0.0
locale: en
multi-tree: false
task queue: true
OCR: true
chat: false

Presumably, the error was a glitch from something leftover … ? Things seem to be working fine.

And again, many thanks @DavidMStraub

Presumably, the error was a glitch from something leftover … ? Things seem to be working fine.

Oops, this was a copy/paste error in my latest fix. Fixed now (but the images will take a while as usual).

@Antoine you can try out this version of the sync addon: Update to Gramps Web Sync for 6.0 by DavidMStraub Ā· Pull Request #718 Ā· gramps-project/addons-source Ā· GitHub (you can also just manually change the webapihandler.py file in your plugins directory). Let me know if that works (I didn’t have time to test it myself yet).

One potential issue is that I’m not sure it correctly handles types when syncing between Gramps Web (usually running English locale) and Gramps Desktop running a non-English locale. It could be that e.g. BaptĆŖme will be synced to a custom type rather than to Baptism. If this is the case, I have to add (back) some special handling.