2026-04-16 09:48:05,148 - synapse.http.server - 147 - ERROR - PUT-389 - Failed handle request via 'ProfileFieldRestServlet': <SynapseRequest at 0x7ff078e142d0 method='PUT' uri='/_matrix/client/v3/profile/%40draupnir-moderation%3Alocalhost%3A9999/displayname' clientproto='HTTP/1.0' s
ite='8008'>
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/synapse/http/server.py", line 335, in _async_render_wrapper
callback_return = await self._async_render(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/synapse/http/server.py", line 576, in _async_render
callback_return = await raw_callback_return
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/synapse/rest/client/profile.py", line 208, in on_PUT
await self.profile_handler.set_displayname(
user, requester, new_value, by_admin=is_admin, propagate=propagate
)
File "/usr/local/lib/python3.13/site-packages/synapse/handlers/profile.py", line 255, in set_displayname
await self.store.set_profile_displayname(target_user, displayname_to_set)
File "/usr/local/lib/python3.13/site-packages/synapse/storage/databases/main/profile.py", line 402, in set_profile_displayname
await self.db_pool.runInteraction(
"set_profile_displayname", set_profile_displayname
)
File "/usr/local/lib/python3.13/site-packages/synapse/storage/database.py", line 1015, in runInteraction
return await delay_cancellation(_runInteraction())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/twisted/internet/defer.py", line 1187, in __iter__
yield self
File "/usr/local/lib/python3.13/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks
result = context.run(
cast(Failure, result).throwExceptionIntoGenerator, gen
)
File "/usr/local/lib/python3.13/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator
return g.throw(self.value.with_traceback(self.tb))
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/synapse/storage/database.py", line 981, in _runInteraction
result: R = await self.runWithConnection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<11 lines>...
)
^
File "/usr/local/lib/python3.13/site-packages/synapse/storage/database.py", line 1117, in runWithConnection
return await make_deferred_yieldable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self._db_pool.runWithConnection(inner_func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/twisted/internet/defer.py", line 1187, in __iter__
yield self
File "/usr/local/lib/python3.13/site-packages/twisted/python/threadpool.py", line 269, in inContext
result = inContext.theWork() # type: ignore[attr-defined]
File "/usr/local/lib/python3.13/site-packages/twisted/python/threadpool.py", line 285, in <lambda>
inContext.theWork = lambda: context.call( # type: ignore[attr-defined]
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ctx, func, *args, **kw
^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/twisted/python/context.py", line 117, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/twisted/python/context.py", line 82, in callWithContext
return func(*args, **kw)
File "/usr/local/lib/python3.13/site-packages/twisted/enterprise/adbapi.py", line 282, in _runWithConnection
result = func(conn, *args, **kw)
File "/usr/local/lib/python3.13/site-packages/synapse/storage/database.py", line 1110, in inner_func
return func(db_conn, *args, **kwargs)
File "/usr/local/lib/python3.13/site-packages/synapse/storage/database.py", line 819, in new_transaction
r = func(cursor, *args, **kwargs)
File "/usr/local/lib/python3.13/site-packages/synapse/storage/databases/main/profile.py", line 388, in set_profile_displayname
self._check_profile_size(
~~~~~~~~~~~~~~~~~~~~~~~~^
txn, user_id, ProfileFields.DISPLAYNAME, new_displayname
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/synapse/storage/databases/main/profile.py", line 354, in _check_profile_size
(row[0] - 1 if row[0] else 0)
~~~^^^
TypeError: 'NoneType' object is not subscriptable
2026-04-16 09:48:05,151 - synapse.access.http.8008 - 643 - INFO - PUT-389 - ::ffff:10.10.0.1 - 8008 - {@draupnir-moderation:localhost:9999} Processed request: 0.003sec/0.000sec ru=(0.002sec, 0.000sec) db=(0.000sec/0.000sec/1) 55B 500 "PUT /_matrix/client/v3/profile/%40draupnir-moder
ation%3Alocalhost%3A9999/displayname HTTP/1.0" "-" [0 dbevts]
Context, trying to use
ensureRegisteredfollowed bysetDisplayNamedoesn't register the profile in Synapse.has to be worked around by using
ensureRegistered(true)