[Bug 282913] vdirsyncer stopped working after several python libraries upgrades

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 22 Nov 2024 09:26:16 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282913

            Bug ID: 282913
           Summary: vdirsyncer stopped working after several python
                    libraries upgrades
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: freebsd@rail.eu.org

After an upgrade (from port compilation) my vdirsyncer stopped working for
caldav and carddav (server is a nextcloud).

Todays upgrades (only python related ones):

Nov 22 08:16:55 ice pkg[75248]: py311-blinker upgraded: 1.8.2 -> 1.9.0 
Nov 22 08:16:56 ice pkg[75248]: py311-boto3 upgraded: 1.35.54 -> 1.35.63 
Nov 22 08:16:56 ice pkg[75248]: py311-aiohttp upgraded: 3.10.10 -> 3.11.7 
Nov 22 08:16:57 ice pkg[75248]: py311-charset-normalizer upgraded: 3.3.2_1 ->
3.4.0 

Error messages (from vdirsyncer -vdebug discover)

warning: Failed to discover collections for contacts_serveur, use `-vdebug` to
see the full traceback.
debug: ====================
debug: PROPFIND https://vapeur.rail.eu.org/
debug: {'User-Agent': 'vdirsyncer/0.19.3', 'Content-Type': 'application/xml;
charset=UTF-8', 'Depth': '1'}
debug: b'\n    <propfind xmlns="DAV:">\n        <prop>\n           
<resourcetype />\n        </prop>\n    </propfind>\n    '
debug: Sending request...
error: Unknown error occurred: 'URL' object has no attribute
'host_port_subcomponent'
error: Use `-vdebug` to see the full traceback.
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/__init__.py", line 37,
in inner
debug:     f(*a, **kw)
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/__init__.py", line 223,
in discover
debug:     asyncio.run(main())
debug:   File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
debug:     return runner.run(main)
debug:            ^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
debug:     return self._loop.run_until_complete(task)
debug:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in
run_until_complete
debug:     return future.result()
debug:            ^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/__init__.py", line 215,
in main
debug:     await discover_collections(
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/tasks.py", line 94, in
discover_collections
debug:     rv = await collections_for_pair(pair=pair, **kwargs)
debug:          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/discover.py", line 99,
in collections_for_pair
debug:     rv = await aiostream.stream.list(
debug:          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/site-packages/aiostream/core.py", line
60, in wait_stream
debug:     async for item in streamer:
debug:   File
"/usr/local/lib/python3.11/site-packages/aiostream/stream/aggregate.py", line
89, in list
debug:     async for item in streamer:
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/discover.py", line 234,
in expand_collections
debug:     b_args = await _collection_from_discovered(
debug:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/discover.py", line 253,
in _collection_from_discovered
debug:     return (await get_discovered())[collection]
debug:             ^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/discover.py", line 178,
in get_self
debug:     self._discovered = await self._discover()
debug:                        ^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/discover.py", line 187,
in _discover
debug:     return handle_storage_init_error(self._cls, self._config)
debug:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/cli/discover.py", line 183,
in _discover
debug:     discovered = await
aiostream.stream.list(self._cls.discover(**self._config))
debug:                 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/site-packages/aiostream/core.py", line
60, in wait_stream
debug:     async for item in streamer:
debug:   File
"/usr/local/lib/python3.11/site-packages/aiostream/stream/aggregate.py", line
89, in list
debug:     async for item in streamer:
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/storage/dav.py", line 485,
in discover
debug:     async for collection in d.discover():
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/storage/dav.py", line 271,
in discover
debug:     for c in await self.find_collections():
debug:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/storage/dav.py", line 223,
in find_collections
debug:     rv = await aiostream.stream.list(self._find_collections_impl(""))
debug:          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/site-packages/aiostream/core.py", line
60, in wait_stream
debug:     async for item in streamer:
debug:   File
"/usr/local/lib/python3.11/site-packages/aiostream/stream/aggregate.py", line
89, in list
debug:     async for item in streamer:
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/storage/dav.py", line 253,
in _find_collections_impl
debug:     r = await self.session.request(
debug:         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/vdirsyncer/storage/dav.py", line 413,
in request
debug:     return await http.request(method, url, session=session, **more)
debug:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/site-packages/vdirsyncer/http.py",
line 184, in request
debug:     response = await session.request(method, url, headers=headers,
**kwargs)
debug:               
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line
673, in _request
debug:     req = self._request_class(
debug:           ^^^^^^^^^^^^^^^^^^^^
debug:   File
"/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 345,
in __init__
debug:     self.update_headers(headers)
debug:   File
"/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 450,
in update_headers
debug:     host = self.url.host_port_subcomponent
debug:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Maybe py311-aiohttp 3.11 is the culprit ?

-- 
You are receiving this mail because:
You are the assignee for the bug.