dendrite icon indicating copy to clipboard operation
dendrite copied to clipboard

Attempting to preview or join rooms under docker-compose polylith deployment returns a 500 error

Open gpl opened this issue 3 years ago • 3 comments

Background information

  • Dendrite version or git SHA: 0.9.5
  • Monolith or Polylith?: Polylith
  • SQLite3 or Postgres?: Postgres
  • Running in Docker?: Docker
  • go version: -
  • Client used (if applicable): Element

Description

  • What is the problem: Attempting to preview or join rooms returns a 500 error.
  • Who is affected: -
  • How is this bug manifesting: Client & server side errors
  • When did this first appear: On initial installation

Steps to reproduce

  • Deploy polylith instance of dendrite with docker-compose
  • Attempt to join a room
  • observe a 500 response from client_api, and "M_UNKNOWN" on the client side.

Client side:

#matrix:matrix.org is not accessible at this time. Try again later, or ask a room or space admin to check if you have access.

M_UNKNOWN was returned while trying to access the room or space. If you think you're seeing this message in error, please submit a bug report.

Server side:

client_api_1 | time="2022-08-29T08:13:18.576507872Z" level=error msg="rsAPI.GetRoomIDForAlias failed" error="HTTP 500 from http://room_server:7770/api/roomserver/GetRoomIDForAlias" req.id=BVTGsCenU0Ia req.method=GET req.path="/_matrix/client/r0/directory/room/#matrix:matrix.org"

As a sidenote, messaging individual users seems to work fine.

gpl avatar Aug 29 '22 08:08 gpl

I just tried the API endpoint on my 0.9.5 monolith and get https://XXX/_matrix/client/r0/directory/room/INVALIDROOMFORMAT {"errcode":"M_BAD_JSON","error":"Room alias must be in the form '#localpart:domain

https://XXX/_matrix/client/r0/directory/room/#room:domain.com gives me a stock "404 page not found" page, independent whether the room alias exists or not.

P.S. Same on r0 and v3 versions of the endpoint.

spaetz avatar Aug 29 '22 08:08 spaetz

Wondering if this is a proxy issue. Running

curl 'https://$ServerName/_matrix/client/r0/directory/room/%23matrix:matrix.org'

works fine and is correctly logged in my proxy (Traefik), while #matrix:matrix.org is simply logged as GET /_matrix/client/r0/directory/room/ HTTP/2.0" 404

For the HTTP 500, we'd need the error from the roomserver.

S7evinK avatar Aug 29 '22 10:08 S7evinK

same with nginx: _matrix/client/r0/directory/room/#matrix:matrix.org is logged as _matrix/client/r0/directory/room/ (resulting in a 404) by nginx.

spaetz avatar Aug 29 '22 11:08 spaetz

Polylith mode has been deprecated. As this issue relates to polylith, it will be closed.

kegsay avatar Feb 14 '23 10:02 kegsay