WebUI Hanging - SSLV3_ALERT_CERTIFICATE_UNKNOWN
I've used EdgeDB in a few projects so far and in my new project I just noticed some strange behavior (which is now affecting my other projects as well). When opening the web UI, I can run successfully queries from the REPL tab but no other data is loaded and I can't use any other page - i.e. the dashboard page is blank, as is the schema page and the data explorer page (which hangs on "Loading schema...").
I'm running the server through docker-compose and seeing these logs when refreshing the schema page:
digi-nfc-edgedb-1 | ---- Exception occurred: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:997) ----
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | 1. ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:997)
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | ---- Traceback ----
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | edb/server/protocol/protocol.pyx, line 351, in _start_tls
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | uvloop/loop.pyx, line 1638, in start_tls
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | uvloop/loop.pyx, line 1631, in uvloop.loop.Loop.start_tls
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | uvloop/sslproto.pyx, line 517, in uvloop.loop.SSLProtocol._on_handshake_complete
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | uvloop/sslproto.pyx, line 499, in uvloop.loop.SSLProtocol._do_handshake
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | /usr/lib/x86_64-linux-gnu/edgedb-server-2/lib/python3.10/ssl.py, line 975, in do_handshake
digi-nfc-edgedb-1 | > self._sslobj.do_handshake()
digi-nfc-edgedb-1 |
digi-nfc-edgedb-1 | ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:997)
digi-nfc-edgedb-1 | ERROR 1 2023-04-17T02:21:31.216 asyncio: Task exception was never retrieved
digi-nfc-edgedb-1 | future: <Task finished name='Task-155' coro=<<coroutine without __name__>()> exception=SSLError(1, '[SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:997)')>
I also see some uncaught exceptions in the browser console:
asyncToGenerator.js:6 Uncaught (in promise) DOMException: Internal error.
Gh @ asyncToGenerator.js:6
s @ asyncToGenerator.js:29
Promise.then (async)
Gh @ asyncToGenerator.js:13
a @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
Dd @ index.ts:74
Nd @ index.ts:74
(anonymous) @ instance.ts:74
c @ runtime.js:63
(anonymous) @ runtime.js:294
(anonymous) @ runtime.js:119
Gh @ asyncToGenerator.js:3
a @ asyncToGenerator.js:25
Promise.then (async)
Gh @ asyncToGenerator.js:13
a @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ instance.ts:29
value @ instance.ts:86
Qe @ action.ts:68
$$onInit @ action.ts:49
u @ wrapInAction.ts:94
n @ modelDecorator.ts:107
(anonymous) @ app.ts:56
(anonymous) @ newModel.ts:104
Qe @ action.ts:68
newModel @ action.ts:49
t @ BaseModel.ts:139
t @ Model.ts:232
(anonymous) @ createSuper.js:12
n @ app.ts:54
n @ modelDecorator.ts:66
(anonymous) @ store.ts:20
(anonymous) @ index.tsx:11
(anonymous) @ index.tsx:11
wrapInAction.ts:102 Uncaught (in promise) DOMException: Internal error.
u @ wrapInAction.ts:102
r @ modelFlow.ts:126
Promise.then (async)
i @ modelFlow.ts:157
n @ modelFlow.ts:94
(anonymous) @ modelFlow.ts:157
i @ modelFlow.ts:68
(anonymous) @ database.ts:121
Qe @ action.ts:68
When-effect @ action.ts:49
(anonymous) @ when.ts:64
u @ autorun.ts:88
lt @ derivation.ts:183
t.track @ reaction.ts:137
(anonymous) @ autorun.ts:59
t.runReaction_ @ reaction.ts:102
Nt @ reaction.ts:260
Tt @ reaction.ts:230
(anonymous) @ reaction.ts:270
wu @ react-dom.production.min.js:244
Tt @ reaction.ts:270
At @ reaction.ts:237
jt @ observable.ts:112
t.track @ reaction.ts:153
ui @ useObserver.ts:113
s @ observer.ts:104
sa @ react-dom.production.min.js:157
Wa @ react-dom.production.min.js:180
Ua @ react-dom.production.min.js:178
Fa @ react-dom.production.min.js:177
Gs @ react-dom.production.min.js:274
Iu @ react-dom.production.min.js:250
ju @ react-dom.production.min.js:250
Eu @ react-dom.production.min.js:250
bu @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
Qi @ react-dom.production.min.js:122
Yi @ react-dom.production.min.js:123
Gi @ react-dom.production.min.js:122
wu @ react-dom.production.min.js:244
Tt @ reaction.ts:270
At @ reaction.ts:237
jt @ observable.ts:112
Ge @ action.ts:141
Qe @ action.ts:73
$t @ action.ts:85
(anonymous) @ instance.ts:68
c @ runtime.js:63
(anonymous) @ runtime.js:294
(anonymous) @ runtime.js:119
Gh @ asyncToGenerator.js:3
a @ asyncToGenerator.js:25
Promise.then (async)
Gh @ asyncToGenerator.js:13
a @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ instance.ts:29
value @ instance.ts:86
Qe @ action.ts:68
$$onInit @ action.ts:49
u @ wrapInAction.ts:94
n @ modelDecorator.ts:107
(anonymous) @ app.ts:56
(anonymous) @ newModel.ts:104
Qe @ action.ts:68
newModel @ action.ts:49
t @ BaseModel.ts:139
t @ Model.ts:232
(anonymous) @ createSuper.js:12
n @ app.ts:54
n @ modelDecorator.ts:66
(anonymous) @ store.ts:20
(anonymous) @ index.tsx:11
(anonymous) @ index.tsx:11
favicon.ico:1 GET https://127.0.0.1:5656/favicon.ico 404 (Not Found)
DevTools failed to load source map: Could not load content for https://127.0.0.1:5656/ui/static/js/115.a4bd4303.chunk.js.map: Fetch through target failed: Target not supported; Fallback: Certificate error: net::ERR_CERT_AUTHORITY_INVALID
DevTools failed to load source map: Could not load content for https://127.0.0.1:5656/ui/static/js/738.b68d3ef2.chunk.js.map: Fetch through target failed: Target not supported; Fallback: Certificate error: net::ERR_CERT_AUTHORITY_INVALID
My compose file:
version: '3'
name: 'mtd-mup'
services:
edgedb:
image: edgedb/edgedb:2.12
restart: on-failure
pull_policy: always
ports:
- '5656:5656'
environment:
EDGEDB_SERVER_PASSWORD: dev
EDGEDB_SERVER_TLS_CERT_MODE: generate_self_signed
EDGEDB_SERVER_ADMIN_UI: enabled
volumes:
- "./db/schema:/dbschema"
- "./db/dev:/var/lib/edgedb/data"
I suspect it may have something to do with python, as in the past few days I've been experimenting with stable diffusion and have installed a number of python packages (mostly in venv but a few in system packages). Although this shouldn't be affecting anything as I'm using the dockerized server.
As it currently stands, I'm unable to use 80% of the web UI functionality and I don't know how to proceed or begin to troubleshoot. Please let me know if there's any other info I can provide. Thank you!
Hello, thank you for sharing the issue with us. We'll take a look on this today.
Reporting back, I'm no longer experiencing this issue after a reboot. Not sure what the issue was or why a reboot fixed it. Apologies for the noise!
Hmmm, the web UI is working now but I'm still seeing the SSLV3_ALERT_CERTIFICATE_UNKNOWN error in the docker-compose server logs. Otherwise not causing any problems from what I can see though.
In my case, this error is because of self-signed certification. the browser is not able to verify it, and Python shows this error. I am using WSL.