A few days ago I installed FreeBSD 13.0-RELEASE-p1 on a new laptop.
I would like to use the current version of Thunderbird 78.11.0 as my email client.
After going through the initial setup of email accounts I restarted
the Thunderbird. It came up but after a few seconds it was hanging.
The same version of Thunderbird on my old laptop running also FreeBSD 13.0-RELEASE-p1 works without any problems.
Using truss(1) I checked the syscalls. The syscalls of working Thuderbird has the following pattern:
For the hanging Thunderbird I got
After a while one sees only the syscall _umtx_op().
Here are some syscall statistics generated by
ktrace() shows the following messages in the hanging state:
Any idea how to get around this problem?
I would like to use the current version of Thunderbird 78.11.0 as my email client.
After going through the initial setup of email accounts I restarted
the Thunderbird. It came up but after a few seconds it was hanging.
The same version of Thunderbird on my old laptop running also FreeBSD 13.0-RELEASE-p1 works without any problems.
Using truss(1) I checked the syscalls. The syscalls of working Thuderbird has the following pattern:
Code:
...
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
write(19,"\M-z",1) = 1 (0x1)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,-1) = 1 (0x1)
read(18,"\M-z",1) = 1 (0x1)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
_umtx_op(0x803af81d0,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffded8abe8) ERR#60 'Operation timed out'
write(19,"\M-z",1) = 1 (0x1)
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,-1) = 1 (0x1)
read(18,"\M-z",1) = 1 (0x1)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
poll({ 4/POLLIN 5/POLLIN 18/POLLIN },3,0) = 0 (0x0)
recvmsg(4,0x7fffffffdbf0,0) ERR#35 'Resource temporarily unavailable'
recvmsg(4,0x7fffffffdc20,0) ERR#35 'Resource temporarily unavailable'
_umtx_op(0x803af81d0,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffded8abe8) ERR#60 'Operation timed out'
...
For the hanging Thunderbird I got
Code:
...
_umtx_op(0x80110e548,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd973ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e4d0,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffddab8ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e578,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd8f1ad8) ERR#60 'Operation timed out'
poll({ 15/POLLIN|POLLPRI 110/POLLIN|POLLPRI 95/POLLIN|POLLPRI 94/POLLIN|POLLPRI 92/POLLIN|POLLPRI 91/POLLIN|POLLPRI 93/POLLIN|POLLPRI },7,288183) = 0 (0x0)
setsockopt(110,IPPROTO_TCP,TCP_NODELAY,0x7fffdffbc830,4) = 0 (0x0)
sendto(110,"\^W\^C\^C\0\^S\M-&\^E\M-x\M-Y"...,24,0,NULL,0) = 24 (0x18)
close(110) = 0 (0x0)
poll({ 15/POLLIN|POLLPRI 93/POLLIN|POLLPRI 95/POLLIN|POLLPRI 94/POLLIN|POLLPRI 92/POLLIN|POLLPRI 91/POLLIN|POLLPRI },6,0) = 0 (0x0)
_umtx_op(0x80110e530,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd9b4ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e518,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd9f5ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e548,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd973ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e4d0,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffddab8ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e578,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd8f1ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e530,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd9b4ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e518,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd9f5ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e548,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd973ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e4d0,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffddab8ad8) ERR#60 'Operation timed out'
_umtx_op(0x80110e578,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffdd8f1ad8) ERR#60 'Operation timed out'
...
After a while one sees only the syscall _umtx_op().
Here are some syscall statistics generated by
truss -c -D -H -s 256 -p pid
during a run of hanging Thunderbird :
Code:
syscall seconds calls errors
write 0.000365902 2 0
setsockopt 0.000063767 1 0
sendto 0.000254046 2 0
recvfrom 0.000128818 2 2
read 0.000265710 2 0
poll 1.500617733 5 0
close 0.000082416 1 0
_umtx_op 95.721207180 1302 1298
------------- ------- -------
97.222985572 1317 1300
syscall seconds calls errors
_umtx_op 24.912572144 1514 1514
------------- ------- -------
24.912572144 1514 1514
syscall seconds calls errors
_umtx_op 104.401716108 2013 2013
------------- ------- -------
104.401716108 2013 2013
syscall seconds calls errors
_umtx_op 148.017649304 1863 1863
------------- ------- -------
148.017649304 1863 1863
ktrace() shows the following messages in the hanging state:
Code:
....
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e548,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffdd973ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e4d0,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffddab8ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e578,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffdd8f1ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e530,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffdd9b4ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e518,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffdd9f5ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e548,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffdd973ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e4d0,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffddab8ad8)
61336 IMAP RET _umtx_op -1 errno 60 Operation timed out
61336 IMAP CALL _umtx_op(0x80110e578,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0x18,0x7fffdd8f1ad8)
Any idea how to get around this problem?