joeyates / imap-backup

Backup and Migrate IMAP Email Accounts
MIT License
1.37k stars 75 forks source link

Google IMAP Session expired #92

Closed DunklerPhoenix closed 3 years ago

DunklerPhoenix commented 3 years ago

Heho. After a random time while backup of a big inbox the connection drops with "Session expired"

D, [2021-02-17T15:14:47.615770 #7427] DEBUG -- : [[Gmail]/Alle Nachrichten] uid: 105416 (39540/354123) - 3706 bytes
D, [2021-02-17T15:14:49.748481 #7427] DEBUG -- : [[Gmail]/Alle Nachrichten] uid: 105417 (39541/354123) - 3655 bytes
D, [2021-02-17T15:14:52.371715 #7427] DEBUG -- : [[Gmail]/Alle Nachrichten] uid: 105418 (39542/354123) - 5584 bytes
D, [2021-02-17T15:14:54.355278 #7427] DEBUG -- : [[Gmail]/Alle Nachrichten] uid: 105419 (39543/354123) - 3643 bytes
Traceback (most recent call last):
        25: from /usr/local/bin/imap-backup:23:in `<main>'
        24: from /usr/local/bin/imap-backup:23:in `load'
        23: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/bin/imap-backup:76:in `<top (required)>'
        22: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/configuration/list.rb:18:in `each_connection'
        21: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/configuration/list.rb:18:in `each'
        20: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/configuration/list.rb:20:in `block in each_connection'
        19: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/connection.rb:62:in `run_backup'
        18: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/connection.rb:120:in `each_folder'
        17: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/connection.rb:120:in `each'
        16: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/connection.rb:123:in `block in each_folder'
        15: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/connection.rb:67:in `block in run_backup'
        14: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/downloader.rb:15:in `run'
        13: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/downloader.rb:15:in `with_index'
        12: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/downloader.rb:15:in `each'
        11: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/downloader.rb:16:in `block in run'
        10: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/folder.rb:74:in `fetch'
         9: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/retry_on_error.rb:4:in `retry_on_error'
         8: from /var/lib/gems/2.5.0/gems/imap-backup-3.2.0/lib/imap/backup/account/folder.rb:75:in `block in fetch'
         7: from /usr/lib/ruby/2.5.0/net/imap.rb:823:in `uid_fetch'
         6: from /usr/lib/ruby/2.5.0/net/imap.rb:1434:in `fetch_internal'
         5: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
         4: from /usr/lib/ruby/2.5.0/net/imap.rb:1439:in `block in fetch_internal'
         3: from /usr/lib/ruby/2.5.0/net/imap.rb:1253:in `send_command'
         2: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
         1: from /usr/lib/ruby/2.5.0/net/imap.rb:1271:in `block in send_command'
/usr/lib/ruby/2.5.0/net/imap.rb:1211:in `get_tagged_response': Session expired, please login again. (Net::IMAP::ByeResponseError)

The session is not really expired. If I restart the command its working as normal again. It seems to be a timeout. I think an retry functionality would be good.

Greetings

PS: GSuite-Account with TFA. Configuration with Application Password.

PPS: Another question. How fast should be the backup? At the moment it downloads about 0.5-1 messages per second.

joeyates commented 3 years ago

Hi @DunklerPhoenix

Thanks for the report.

I've release version 3.3.1 with a retry for this case. Let me know how it goes!

DunklerPhoenix commented 3 years ago

YEAH It works Thank you :3

RPFJUEOLl2