scanner / asimap

Pure python based IMAP server with a MH based file store
BSD 3-Clause "New" or "Revised" License
42 stars 7 forks source link

Error in handling UID's.. #321

Closed scanner closed 3 weeks ago

scanner commented 1 month ago

Either the uid list was corrupted or we have an empty string or something. First step is to produce enough debug data to find out what is going on.

[2024-07-19 10:36:58,871] scanner@apricot.com            ERROR:user_server.run: Exception in <asimap.user_server.IMAPClientProxy object at 0x7f27ad16da00>: unsupported operand type(s) for -: 'int' and 'NoneType'
Traceback (most recent call last):
  File "/app/asimap/user_server.py", line 235, in run
    await self.cmd_processor.command(imap_cmd)
  File "/app/asimap/client.py", line 170, in command
    result = await getattr(self, f"do_{imap_command.command}")(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/asimap/client.py", line 1249, in do_copy
    raise e
  File "/app/asimap/client.py", line 1228, in do_copy
    src_uids = ",".join(
               ^^^^^^^^^
  File "/app/asimap/client.py", line 1228, in <genexpr>
    src_uids = ",".join(
                       ^
  File "/app/asimap/client.py", line 1224, in <genexpr>
    src_uids = (
               ^
  File "/app/asimap/client.py", line 1226, in <lambda>
    for _, x in groupby(src_uids, lambda x, c=count(): next(c) - x)
                                                       ~~~~~~~~^~~
TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'

See: https://apricot-systematic.sentry.io/issues/5616692331/?project=4506221189267456&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D&referrer=issue-stream&stream_index=0

scanner commented 3 weeks ago

Fixed by GH-312