From: Allan Streib Subject: net/pidgin: openssl: send failed: -1 with purple-teams To: ports@openbsd.org Date: Thu, 18 Apr 2024 10:37:27 -0400 We use Teams at work now. I built purple-teams (https://github.com/EionRobb/purple-teams) and it mostly works, however intermittently pidgin (or finch) becomes unresponsive, consuming near 100% of a CPU for a minute or two, then settles down. I ran finch with the PURPLE_VERBOSE_DEBUG environment variable set, and correlated with the high CPU usage are thousands of messages "openssl: send failed: -1" This seems to happen mostly while it's updating presence/buddy status. This happened with net/pidgen from packages in 7.4 and 7.5, amd64. That particular debug message comes from the ssl_openssl_write function in ssl-openssl.c from the port files. I'd like to try to help debug this, or at least change the behavior so that it doesn't retry so much/so rapidly. Any suggestions? [...] (15:55:57) blist: Updating buddy status for orgid:7c26ec64-16df-4a70-9ea6-29b1e7fc539f (Teams (Work and School)) (15:55:57) blist: Updating buddy status for orgid:5fe56f6b-d852-4959-bd8d-af77558e0706 (Teams (Work and School)) (15:55:57) blist: Updating buddy status for orgid:880d88ab-67b6-4a52-ba02-12c6130adddc (Teams (Work and School)) (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) http: Got main header with code 200 (15:55:57) http: Got headers end (15:55:57) http: Found chunk of length 7037 (15:55:57) http: Found chunk of length 0 (15:55:57) http: releasing a socket: 0xaa79127f7a0 (15:55:57) http: Request 0xaa79126d500 performed successfully. (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 (15:55:57) openssl: send failed: -1 [... many thousands of lines] (15:57:55) http: Timeout reached for request 0xaa791271a00 (15:57:55) http: Cancelling connection 0xaa791271a00... (15:57:55) http: releasing a socket: 0xaa74e1da060 (15:57:55) http: destroying socket: 0xaa74e1da060 (15:57:55) http: Request 0xaa791271a00 performed without success. (15:57:55) teams: No data in response (15:57:55) http: Timeout reached for request 0xaa7dcb4cf00 (15:57:55) http: Cancelling connection 0xaa7dcb4cf00... (15:57:55) http: releasing a socket: 0xaa7dcb656a0 (15:57:55) http: destroying socket: 0xaa7dcb656a0 (15:57:55) http: Request 0xaa7dcb4cf00 performed without success. (15:57:55) teams: No data in response (15:57:55) http: Timeout reached for request 0xaa79126d700 (15:57:55) http: Cancelling connection 0xaa79126d700... (15:57:55) http: releasing a socket: 0xaa79129a1a0 (15:57:55) http: destroying socket: 0xaa79129a1a0 (15:57:55) http: Request 0xaa79126d700 performed without success. (15:57:55) http: Timeout reached for request 0xaa7bdacac00 (15:57:55) http: Cancelling connection 0xaa7bdacac00... (15:57:55) http: releasing a socket: 0xaa77f8a1140 (15:57:55) http: destroying socket: 0xaa77f8a1140 (15:57:55) http: Request 0xaa7bdacac00 performed without success. (15:57:55) http: Timeout reached for request 0xaa73e1c5e00 (15:57:55) http: Cancelling connection 0xaa73e1c5e00... (15:57:55) http: releasing a socket: 0xaa7b81da920 (15:57:55) http: destroying socket: 0xaa7b81da920 (15:57:55) http: Request 0xaa73e1c5e00 performed without success.