XF 2.2 ErrorException: Push notification failure: cURL error 28: Operation timed out after 10106 milliseconds with 0 bytes received

They're networking errors so their either represent an issue on your end or on the push server's end (well, or somewhere between, but that is effectively on their end). Unfortunately, there isn't a definitive way for us to know what the cause is from the error that XF/PHP receives. That's generally why we log errors like these.

If it's something on your end, then it's something that needs to be investigated, but otherwise, they should mostly be disregarded. They may point to the push notification receiving server having some difficulties or some sort of networking issue out of your control.

Errors on your end would, in many cases, be consistent. They would often be things like firewalls blocking connections or something similar. This usually manifests as nothing getting through, so if you get push notifications from your site, then that's not inherently the issue, though there could be some other sort of networking issues. You may need to check server logs to see if there are any hints of issues at corresponding times.

If you don't see anything and the issue is happening sporadically (most connections work), then it's very likely on the other end.
 
Actually it should deliver push messages. Dunno if successful web pushes are logged in any way, but these are not delivered - and users are complaining.
Unfortunately, in that error message there is no endpoint URL stated, so it's not possible for me to check what problem occured at all.

Actually, as far as I can see, 99% of all web pushes seems to be delivered, because we have let's say around 10-100 of these errors per day. That also means, we have no general connection problem (that would be a real problem then!) but the endpoint has. But which endpoint?

Is it possible to include the endpoint URL in the error message?
And have endpoints like, e.g. mozilla or google, any kind of rate limiting?
Would it be possible to retry delivery of web push for N times (config in backend)?
 
@MattW Is this a similar error message you're seeing at HFH or is it something else?

Just reading this and similar threads. The forums I admin haven't had this issue, yet it's obvious that others do. Given it's not related to browser, OS, Internet provider, etc., and we're all using XF 2.2, that really only leaves something on the host server that isn't compatible (misconfiguration, network/firewall issue, etc.).

(I'm looking into this issue for preventative measures, especially if I move one of our forums to a different hosting company.)
 
Just reading this and similar threads. The forums I admin haven't had this issue, yet it's obvious that others do. Given it's not related to browser, OS, Internet provider, etc., and we're all using XF 2.2, that really only leaves something on the host server that isn't compatible (misconfiguration, network/firewall issue, etc.).
There were errors like this in the ACP. However, there are other sites on the same server, that don't have those errors.

The frustrating thing is nothing that is of any use is logged. "Something" is timing out, but that's no use to anyone.
 
Last edited:
The frustrating thing is nothing that is of any use is logged. "Something" is timing out, but that's no use to anyone.
Agreed. And it's interesting that even on the same server, other sites don't have the issue. And off the top of my head, I can't even think of a server log to look at for any clues.
 
Agreed. And it's interesting that even on the same server, other sites don't have the issue. And off the top of my head, I can't even think of a server log to look at for any clues.
I've just configured a couple of servers I have with AdGuard Home so I can use those as DNS resolvers. This allows me to at least check DNS queries at the time an error is logged, and see what FQDN was being requested by the server.
 
I'll be following along for the outcome.

I would think that there should be some sort of mechanism to queue push notifications separately from posting, so there isn't a delay. (I don't know enough behind the scenes to know how it is supposed to work.) I will say that the ~10000 millisecond timeout does correspond to how long of a delay there was in posts being accepted by the forum.
 
Managed to match one up on a different server

1702745594471.webp

1702745834674.webp

1702745628274.webp

My server can reach that end point URL fine (404 error though):

Code:
# curl -I https://updates.push.services.mozilla.com
HTTP/2 404
server: nginx
date: Sat, 16 Dec 2023 16:54:30 GMT
content-length: 0
vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
 
Code:
# tcpdump -vvv -s 1500 host weighted-autoendpoint.prod.mozaws.net -w /root/push.cap
dropped privs to tcpdump
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
Got 20

Let's see if I can capture something then
 
Top Bottom