[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