Index | Thread | Search

From:
Allan Streib <astreib@indiana.edu>
Subject:
net/pidgin: openssl: send failed: -1 with purple-teams
To:
ports@openbsd.org
Date:
Thu, 18 Apr 2024 10:37:27 -0400

Download raw body.

Thread
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.