Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Dependency issue: Minimum ijson version to low preventing to join rooms #11438

Closed
passw0rd123 opened this issue Nov 26, 2021 · 0 comments · Fixed by #11439
Closed

Dependency issue: Minimum ijson version to low preventing to join rooms #11438

passw0rd123 opened this issue Nov 26, 2021 · 0 comments · Fixed by #11439

Comments

@passw0rd123
Copy link

Description

Usage of use_float in ijson introduced in e81fa92 needs a minimum version of 3.1

Set version "ijson>=3.0" in https://github.com/matrix-org/synapse/blob/develop/synapse/python_dependencies.py is to low. use_float is introduced in ijson 3.1

Joining rooms is failing with the following error.

Failed to join room
Failed to send_join via any server

 synapse.federation.federation_client: [POST-352731] Failed to send_join via matrix.org
 Traceback (most recent call last):
   File "/usr/lib/python3.6/site-packages/synapse/federation/federation_client.py", line 589, in _try_destination_list
     return await callback(destination)
   File "/usr/lib/python3.6/site-packages/synapse/federation/federation_client.py", line 768, in send_request
     response = await self._do_send_join(room_version, destination, pdu)
   File "/usr/lib/python3.6/site-packages/synapse/federation/federation_client.py", line 911, in _do_send_join
     content=pdu.get_pdu_json(time_now),
   File "/usr/lib/python3.6/site-packages/synapse/federation/transport/client.py", line 314, in send_join_v2
     parser=SendJoinParser(room_version, v1_api=False),
   File "/usr/lib/python3.6/site-packages/synapse/federation/transport/client.py", line 1313, in __init__
     use_float=True,
   File "/usr/lib64/python3.6/site-packages/ijson/common.py", line 251, in items_coro
     *_items_pipeline(backend, prefix, map_type, config)
   File "/usr/lib64/python3.6/site-packages/ijson/utils.py", line 29, in chain
     f = coro_func(f, *coro_args, **coro_kwargs)
   File "/usr/lib64/python3.6/site-packages/ijson/utils.py", line 13, in wrapper
     g = func(*args, **kwargs)
   File "/usr/lib64/python3.6/site-packages/ijson/backends/yajl2_c.py", line 17, in basic_parse_basecoro
     return _yajl2.basic_parse_basecoro(target.send, **kwargs)
 TypeError: 'use_float' is an invalid keyword argument for this function

Steps to reproduce

  • join existing room or follow invite
  • Element shows th following error message

Failed to join room
Failed to send_join via any server

Solution

Updating python-ijson to version 3.1.4

Version information

  • Version: 1.47.1

  • Install method: custom self packaged

@squahtx squahtx linked a pull request Nov 26, 2021 that will close this issue
4 tasks
danimo added a commit to danimo/synapse that referenced this issue Nov 26, 2021
Since e81fa92, Synapse depends on
the use_float flag which has been introduced in ijson 3.1 and
is not available in 3.0. This is known to cause runtime errors
with send_join.

Signed-off-by: Daniel Molkentin <danimo@infra.run>
DMRobertson pushed a commit that referenced this issue Nov 26, 2021
This would have caught the bug #11438 introduced in #11217 and fixed in #11439.
DMRobertson pushed a commit that referenced this issue Nov 26, 2021
Since e81fa92, Synapse depends on
the use_float flag which has been introduced in ijson 3.1 and
is not available in 3.0. This is known to cause runtime errors
with send_join.

Signed-off-by: Daniel Molkentin <danimo@infra.run>

Co-authored-by: Daniel Molkentin <danimo@infra.run>
DMRobertson pushed a commit that referenced this issue Nov 29, 2021
This would have caught the bug #11438 introduced in #11217 and fixed in #11439.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant