unmade / shelf-showcase

An example of Shelf Cloud ready-to-run docker-compose

Home Page:https://getshelf.cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Test on arm64

bledbars opened this issue · comments

Hello everyone,
today I did some tests on my raspberry pi 4.
I created a new stack via portainer following the instructions in the docker-compose file in the repository.
The deployment of the containers is successful but when I try to login in the logs I see the following error in the shelf-back and shelf-worker containers:
Traceback (most recent call last): File "/usr/src/shelf-back/manage.py", line 95, in <module> ) File "/usr/src/shelf-back/manage.py", line 91, in migrate asyncio.run(run_migration(schema_declaration)) File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete File "/usr/local/lib/python3.11/contextlib.py", line 222, in __aexit__ await self.gen.athrow(typ, value, traceback) File "/usr/src/shelf-back/app/db.py", line 74, in create_client yield client File "/usr/src/shelf-back/manage.py", line 86, in run_migration await db.migrate(conn, schema) File "/usr/src/shelf-back/app/db.py", line 113, in migrate await tx.execute(f""" File "/usr/local/lib/python3.11/site-packages/edgedb/abstract.py", line 297, in execute await self._execute(ExecuteContext( File "/usr/local/lib/python3.11/site-packages/edgedb/transaction.py", line 194, in _execute await self._connection._execute(execute_context) File "/usr/local/lib/python3.11/site-packages/edgedb/base_client.py", line 275, in _execute await self._protocol.execute( File "edgedb/protocol/protocol.pyx", line 557, in execute File "edgedb/protocol/protocol.pyx", line 391, in _execute File "edgedb/protocol/asyncio_proto.pyx", line 62, in wait_for_message edgedb.errors.ClientConnectionClosedError

Instead, the edgedb container in the logs reports the following error:
INFO 1 2022-11-11T08:35:04.138 edb.server: starting EdgeDB server 2.5+7db2037, built on 2022-10-20T22:44Z from revision e10183e26 (2022-10-20T02:01Z) for aarch64-unknown-linux-gnu INFO 1 2022-11-11T08:35:04.138 edb.server: instance name: '_unknown' INFO 1 2022-11-11T08:35:09.680 edb.server: Using 37 max backend connections based on total memory. INFO 44 2022-11-11T08:35:10.092 postgres: starting PostgreSQL 14.5 on aarch64-unknown-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit INFO 44 2022-11-11T08:35:10.094 postgres: listening on Unix socket "/run/edgedb/.s.PGSQL.5432" INFO 44 2022-11-11T08:35:10.107 postgres: database system was interrupted; last known up at 2022-11-11 08:30:28 UTC INFO 44 2022-11-11T08:35:10.356 postgres: database system was not properly shut down; automatic recovery in progress INFO 44 2022-11-11T08:35:10.404 postgres: redo starts at 0/2A92820 INFO 44 2022-11-11T08:35:10.509 postgres: invalid record length at 0/2EFA408: wanted 24, got 0 INFO 44 2022-11-11T08:35:10.510 postgres: redo done at 0/2EF9EE8 system usage: CPU: user: 0.01 s, system: 0.01 s, elapsed: 0.10 s INFO 44 2022-11-11T08:35:10.684 postgres: database system is ready to accept connections INFO 1 2022-11-11T08:35:14.942 edb.server: introspecting extensions for database '__edgedbsys__' INFO 1 2022-11-11T08:35:14.943 edb.server: introspecting extensions for database 'edgedb' INFO 1 2022-11-11T08:35:14.980 edb.server: Connection established to backend database: __edgedbsys__ INFO 1 2022-11-11T08:35:15.073 edb.server: Connection established to backend database: edgedb INFO 1 2022-11-11T08:35:27.583 edb.server: started 4 compiler worker processes INFO 1 2022-11-11T08:35:27.591 edb.server: Serving on {0.0.0.0, ::}:5656 INFO 1 2022-11-11T08:35:27.592 edb.server: Serving admin on /run/edgedb/.s.EDGEDB.admin.5656 INFO 1 2022-11-11T08:35:27.763 edb.server: introspecting database 'edgedb' INFO 1 2022-11-11T08:35:31.822 edb.server: Connection established to backend database: edgedb CRITICAL 44 2022-11-11T08:35:41.711 postgres: terminating connection due to idle-in-transaction timeout INFO 1 2022-11-11T08:35:41.716 edb.server: Connection discarded to backend database: edgedb CRITICAL 44 2022-11-11T08:35:41.830 postgres: terminating connection due to idle-in-transaction timeout INFO 1 2022-11-11T08:35:42.806 edb.server: Backend connections to database edgedb: 2 were established, 1 were discarded in at least the last 1.0 seconds. CRITICAL 44 2022-11-11T08:35:52.172 postgres: terminating connection due to idle-in-transaction timeout INFO 1 2022-11-11T08:35:52.173 edb.server: Connection discarded to backend database: edgedb CRITICAL 44 2022-11-11T08:35:52.184 postgres: terminating connection due to idle-in-transaction timeout INFO 1 2022-11-11T08:35:53.186 edb.server: Backend connections to database edgedb: 1 were discarded, 2 were established in at least the last 1.0 seconds. CRITICAL 44 2022-11-11T08:36:11.237 postgres: terminating connection due to idle-in-transaction timeout INFO 1 2022-11-11T08:36:11.238 edb.server: Connection discarded to backend database: edgedb CRITICAL 44 2022-11-11T08:36:11.247 postgres: terminating connection due to idle-in-transaction timeout INFO 1 2022-11-11T08:36:12.249 edb.server: Backend connections to database edgedb: 1 were discarded, 2 were established in at least the last 1.0 seconds. INFO 1 2022-11-11T08:37:15.010 edb.server: Connection discarded to backend database: __edgedbsys__ INFO 1 2022-11-11T08:39:15.014 edb.server: Connection discarded to backend database: edgedb INFO 1 2022-11-11T08:39:16.016 edb.server: Backend connections to database edgedb: 1 were discarded in at least the last 1.0 seconds.

To be honest I'm not sure what's wrong here. Is your raspberry pi arm64 or arm32 based?

I can only suggest to re-create everything from scratch, remove old volumes, images, etc...

it is arm64

I'm able to reproduce this as well.

I'm not able to reproduce the problem on my machine (I tried on two different ones, but both with Apple Silicon).

I suppose the problem is with EdgeDB image, so you may try to use native EdgeDB build instead of the docker. I'm sorry you have to go that way, but for now I can't suggest anything else to solve your issue.

NP, I'll continue investigating. Thanks for chiming in!

I also have this issue