[Users] claws-mail impap-error Port 993 tls on Macos
David Fletcher
David at megapico.co.uk
Thu Oct 26 21:34:43 UTC 2023
There was previous discussion under this subject line about failure to
fetch mail on Mac while sending mail was working fine. That tapered off
with suggestion that the server addresses were mixed up.
After recompiling Claws in the latest MacOS (version 14.0) on the M2 Max
(arm based) processor I now have almost the same problem. There are some
hints at what's wrong, but the info logged in the network log or the
debug logs is very limited. This isn't a firewall or ports
configuration issue, it's a "sometimes it works, sometimes it
doesn't" problem - quite likely an issue about IP address resolution
on the most recent Mac platform.
If anyone has any ideas please let me know and I'll try to investigate
further. The info and ideas I've collected so far are below.
Test version: 3.19.1
Symptoms: When starting Claws everything seems fine. But fetching mail
using POP repeatedly fails. Sending email via SMTP usually works, but
not always. It seems easier to get SMTP to work by retrying it several
times. Eventually the ability to fetch email using POP starts working
(usually). And once it's done that it seems to keep working. But if you
close Claws and reopen it the whole annoying process starts again.
Network log - there's little there. The connection is just never made.
Here's some examples of failure with POP and SMTP, then it starts
working.
* OAuth2 access token still fresh
* Account 'Google POP3': Connecting to POP3 server: pop.gmail.com:995...
* OAuth2 access token still fresh
* Account 'Google POP3': Connecting to POP3 server: pop.gmail.com:995...
* OAuth2 access token still fresh
* Account 'Google POP3': Connecting to POP3 server: pop.gmail.com:995...
* OAuth2 access token still fresh
* Account 'Google POP3': Connecting to POP3 server: pop.gmail.com:995...
* OAuth2 access token still fresh
* Account 'Google POP3': Connecting to SMTP server:
smtp.gmail.com:465...
*** Error occurred while sending the message.
* Account 'Google POP3': Connecting to POP3 server: pop.gmail.com:995...
[2023-10-26 19:42:57] POP< +OK Gpop ready for requests from
80.229.167.224 q20mb57132525wmo
[2023-10-26 19:42:57] POP> AUTH XOAUTH2 ********
[2023-10-26 19:42:59] POP< +OK Welcome.
[2023-10-26 19:42:59] POP> STAT
[2023-10-26 19:42:59] POP< +OK 1 14911
[2023-10-26 19:42:59] POP> UIDL
Debug log - extract only as there's too much:
inc.c:371:INC: adding POP3 account 15 to inc queue
progressdialog.c:68:Creating progress dialog...
passwordstore.c:205:Getting password 'oauth2_access_expiry' from block
(1/15)
password.c:594:Trying to decrypt password...
password.c:101:TIMING PBKDF2: 0s069ms
password.c:488:Encrypted password string length: 144
** Message: 19:42:24.594: OAuth2 access token still fresh
passwordstore.c:205:Getting password 'recv' from block (1/15)
password.c:594:Trying to decrypt password...
password.c:101:TIMING PBKDF2: 0s058ms
password.c:488:Encrypted password string length: 272
inc.c:864:getting new messages of account Google POP3...
** Message: 19:42:24.653: Account 'Google POP3': Connecting to POP3
server: pop.gmail.com:995...
** (claws-mail:59910): WARNING **: 19:42:24.818: can't connect to server
folder.c:4331:*TMP* already created
/Users/dif/.claws-mail/tempfolder/processing-15
folder.c:2184:Scanning folder processing-15 for cache changes.
mh.c:299:mh_get_num_list(): Scanning processing-15 ...
mh.c:1482:MH: forced mtime of processing-15 to 1698340317
Apple's crash log: This gives the best clues about what's going wrong.
The crucial thing appears to be failure of getaddrinfo - but clearly it
sometimes works, and sometimes doesn't!
Process: claws-mail [59963]
Path: /opt/homebrew/*/claws-mail
Identifier: claws-mail
Version: ???
Code Type: ARM-64 (Native)
Parent Process: claws-mail [59910]
Responsible: Terminal [1065]
User ID: 504
Date/Time: 2023-10-26 19:41:49.4779 +0100
OS Version: macOS 14.0 (23A344)
Report Version: 12
Anonymous UUID: 90F03242-44BC-BF8D-6F13-1E61818821FB
Sleep/Wake UUID: 07307A17-97A6-4ABC-970B-6A5EC6E5D727
Time Awake Since Boot: 51000 seconds
Time Since Wake: 436 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000001018b8f1a
Exception Codes: 0x0000000000000001, 0x00000001018b8f1a
Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process: exc handler [59963]
VM Region Info: 0x1018b8f1a is not in any region. Bytes after previous
region: 3867 Bytes before following region: 323814
REGION TYPE START - END [ VSIZE] PRT/MAX
SHRMOD REGION DETAIL
__LINKEDIT 1018ac000-1018b8000 [ 48K] r--/rwx
SM=COW ...blzma.5.dylib
---> GAP OF 0x50000 BYTES
__TEXT 101908000-10190c000 [ 16K] r-x/rwx
SM=COW ...ow_auxprop.so
Application Specific Information:
*** multi-threaded process forked ***
crashed on child side of fork pre-exec
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_trace.dylib 0x19081314c _os_log_find + 72
1 libsystem_trace.dylib 0x190812e88 os_log_create + 304
2 libsystem_info.dylib 0x190b00f50
si_destination_compare_init_once + 76
3 libsystem_pthread.dylib 0x190aaadfc
__pthread_once_handler + 76
4 libsystem_platform.dylib 0x190adaea0 _os_once_callout +
32
5 libsystem_pthread.dylib 0x190aaad94 pthread_once + 100
6 libsystem_info.dylib 0x190affce8
si_destination_compare + 116
7 libsystem_c.dylib 0x190954690 _isort + 136
8 libsystem_info.dylib 0x190ae7a94 _gai_sort_list + 216
9 libsystem_info.dylib 0x190ae6ae8 si_addrinfo + 1168
10 libsystem_info.dylib 0x190ae65b0 getaddrinfo + 168
11 claws-mail 0x1002efd90
address_info_async_child + 120
12 claws-mail 0x1002eeea0 sock_connect_async
+ 404
13 claws-mail 0x1002eaf14 session_connect + 84
14 claws-mail 0x1001d7ee0 inc_start + 1000
15 claws-mail 0x1001d88b0 inc_account_mail +
132
16 libgobject-2.0.0.dylib 0x100c420b4 g_closure_invoke +
200
17 libgobject-2.0.0.dylib 0x100c582a4
signal_emit_unlocked_R + 1256
18 libgobject-2.0.0.dylib 0x100c571fc
signal_emit_valist_unlocked + 1340
19 libgobject-2.0.0.dylib 0x100c56c94
g_signal_emit_valist + 64
20 libgobject-2.0.0.dylib 0x100c57844 g_signal_emit + 28
21 libgtk-quartz-2.0.0.dylib 0x100e9f948 gtk_widget_activate
+ 28
22 libgtk-quartz-2.0.0.dylib 0x100ddd3b4
gtk_menu_shell_activate_item + 160
23 libgtk-quartz-2.0.0.dylib 0x100dde344
gtk_menu_shell_button_release + 488
24 libgtk-quartz-2.0.0.dylib 0x100dd0268
_gtk_marshal_BOOLEAN__BOXED + 104
25 libgobject-2.0.0.dylib 0x100c420b4 g_closure_invoke +
200
26 libgobject-2.0.0.dylib 0x100c58424
signal_emit_unlocked_R + 1640
27 libgobject-2.0.0.dylib 0x100c57244
signal_emit_valist_unlocked + 1412
28 libgobject-2.0.0.dylib 0x100c56c94
g_signal_emit_valist + 64
29 libgobject-2.0.0.dylib 0x100c57844 g_signal_emit + 28
30 libgtk-quartz-2.0.0.dylib 0x100e9f8d0
gtk_widget_event_internal + 588
31 libgtk-quartz-2.0.0.dylib 0x100dce75c gtk_propagate_event
+ 260
32 libgtk-quartz-2.0.0.dylib 0x100dce3f4 gtk_main_do_event +
880
33 libgdk-quartz-2.0.0.dylib 0x100aa9778 gdk_event_dispatch
+ 100
34 libglib-2.0.0.dylib 0x10166dc30
g_main_context_dispatch_unlocked + 236
35 libglib-2.0.0.dylib 0x10166df24
g_main_context_iterate_unlocked + 400
36 libglib-2.0.0.dylib 0x10166e1a8 g_main_loop_run +
120
37 libgtk-quartz-2.0.0.dylib 0x100dcddd4 gtk_main + 196
38 claws-mail 0x1001dc8ac main + 8656
39 dyld 0x190735058 start + 2224
Clues about what might be happening - there are some articles about the
same issues starting to come up. Several things seem to be about IP
address resolution in threads, possibly linked to pointer authentication
codes used in the arm64e platform to detect unexpected changes to
pointers in memory:
Crash when resolving IP address from hostname on macOS:
https://github.com/godotengine/godot/issues/80727
SIGSEGV crash in getaddrinfo system call:
https://developer.apple.com/forums/thread/736741
Possibly also relevant is the shift to arm64e architecture in the Apple
M1 and M2 processors. This is an extension of the __aarch64__
architecture - it does strange things with pointers. Maybe this is
behind the issues?
https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication
More information about the Users
mailing list