WebSearchPlugin page fetch to external host fails at connect with SocketException (EAGAIN), aborting the fetch
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- csharp
- Domain
- backend, networking
Research direction
Read src/MeshWeaver.AI/Plugins/WebSearchPlugin.cs, focusing on FetchWebPageCore and its fetch lambda; #1561 tracks failure handling at the same log site and may cover this case. Start by checking the pod's metrics and connection failures around 2026-10-25T11:22Z, then determine whether #1561 includes connect-time EAGAIN. Done when the relationship to #1561 and the handling scope are established.
Written by the indexing model from the issue text.
Description
Observed
WebSearchPlugin.FetchWebPageCore (the fetch lambda <>c__DisplayClass14_0.<FetchWebPageCore>b__0 in src/MeshWeaver.AI/Plugins/WebSearchPlugin.cs) failed to fetch https://www.hotel-schmitta.ch. The HttpClient connect attempt raised HttpRequestException wrapping System.Net.Sockets.SocketException (11) "Resource temporarily unavailable" from HttpConnectionPool.ConnectToTcpHostAsync (www.hotel-schmitta.ch:443). EAGAIN at connect time is the pod's local socket layer refusing the operation — the host never answered, and no HTTP or TLS response was received.
Where and when
One occurrence, one pod, one instant — no burst, no recurrence since. The fetch is part of the AI web-search flow (retrieving a search-result page's content), an outbound call to an arbitrary external host.
Impact
One page fetch inside one web-search operation failed; that search result lost its page content. The numbers show no outage, no user-facing degradation beyond this single fetch.
Not established
- The cause: EAGAIN identifies where (the local socket/connect layer) but not why the kernel refused.
- Whether it recurs — first and only sighting at the time of triage.
- Whether other outbound connections from the same pod failed in the same window — not read.
- The pod's resource state (sockets, ephemeral ports, memory) at 2026-10-25T11:22Z — not available on the incident.
Candidate causes and the reading that separates them
- Transient local socket-resource exhaustion on the pod (ephemeral-port limit, conntrack table, memory pressure). Predicts other outbound connects failing in the same window, possibly on other hosts. Separating reading: container metrics and connection counts for
memex-portal-deployment-69cc6c74d9-tw8vdaround 11:22Z, plus any other connect-failure log lines from that pod in the same minute. - Transient egress-path fault (CNI/NAT/proxy on the node). Predicts a brief burst across pods and destination hosts. Separating reading: whether any other pod logged connect EAGAIN in the same window — this fingerprint has none so far.
- The external host/network being unreachable. Least consistent with the evidence: an unresolvable or refusing host yields
Name or service not knownorConnection refused(both already seen on this plugin's log site), not EAGAIN. A later successful fetch of the same URL would refute it.
Related
The same log site (a4b2b983d01b440d) and the same method are already filed as Systemorph/MeshWeaver#1561 — FetchWebPageCore throws on failed and non-success fetches, aborting the page-fetch operation. SSL-connect failures at the same site were triaged separately as incidents bd553c7c00beb6c1 and f1fe69ef875c9d95 (different fingerprints). This ticket is a distinct fingerprint (connect-time EAGAIN vs. 404/DNS/TLS); if #1561's scope is read to cover all external-fetch failure handling, this may close as a duplicate of it.
Where to look
src/MeshWeaver.AI/Plugins/WebSearchPlugin.cs—FetchWebPageCoreand the fetch lambda named in the top frame (EnsureSuccessStatusCodewas at line 186 in the build cited by #1561).- The pod's egress behaviour in the minute around 2026-10-25T11:22Z.
Evidence
| Fingerprint | c7c20efb574e1075 |
| Category | MeshWeaver.AI.Plugins.WebSearchPlugin |
| Severity | Error |
| Exception | System.Net.Http.HttpRequestException |
| Top frame | MeshWeaver.AI.Plugins.WebSearchPlugin.<>c__DisplayClass14_0.<<FetchWebPageCore>b__0>d.MoveNext() |
| Namespace | memex-cloud |
| Pods | memex-portal-deployment-69cc6c74d9-tw8vd |
| Occurrences | 1 |
| First seen | 2026-10-25 11:22:06Z |
| Last seen | 2026-10-25 11:22:06Z |
| Routing | not determined — no configured route matches the category MeshWeaver.AI.Plugins.WebSearchPlugin. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject. |
Recent log lines
2026-10-25 11:22:06Z memex-portal-deployment-69cc6c74d9-tw8vd fail: MeshWeaver.AI.Plugins.WebSearchPlugin[0]
Failed to fetch web page url=https://www.hotel-schmitta.ch
System.Net.Http.HttpRequestException: Resource temporarily unavailable (www.hotel-schmitta.ch:443)
---> System.Net.Sockets.SocketException (11): Resource temporarily unavailable
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionWaiter`1.WaitForConnectionWithTelemetryAsync(HttpRequestMessage request, HttpConnectionPool pool, Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.Metrics.MetricsHandler.SendAsyncWithMetrics(HttpRequestMess…[truncated]
This log site's previous ticket, https://github.com/Systemorph/MeshWeaver/issues/7084, was closed about a different fingerprint, and this fault fired after that close. It is left closed: an occurrence of this fingerprint is no evidence that the fault it was closed for came back. This issue now tracks the log site, and later fingerprints of it fold in here.
Opened automatically from Admin/_LogIncident/c7c20efb574e1075. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site a4b2b983d01b440d: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
- Dominant language
- C#
- Stars
- 12
- Forks
- 5
- Avg merge
- 6h 37m
- Merged PRs (30d)
- 929
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Systemorph/MeshWeaver
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Systemorph/MeshWeaver#7218 · 3 comments ·
Maintainers usually reply within 1 day
-
Automatic review answered goes RED on an installation rate-limit 403 — answered PRs stop drainingOpenbug sev:H
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Systemorph/MeshWeaver#7187 · 1 comment ·
Maintainers usually reply within 1 day
-
bug sev:H
Difficulty 5/5 Over a week Newbie friendliness 35/100
Systemorph/MeshWeaver#7181 · 1 comment ·
Maintainers usually reply within 1 day
-
bug sev:L
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Systemorph/MeshWeaver#7172 ·
Maintainers usually reply within 1 day
-
bug sev:L
Difficulty 4/5 3-5 days Newbie friendliness 20/100
Systemorph/MeshWeaver#7171 · 4 comments ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
track:release
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
-
[Bug] [Go] Ack returns nil when the server answers with a non-OK statusPossibly taken @leizhiyuan claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
apache/rocketmq-clients#1465 ·
Maintainers usually reply within 2 days
-
fix(testing): HeadlessTerminal disposes services synchronouslyPossibly taken @zidad claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
RazorConsole/RazorConsole#388 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
starlinghq/starling#209 ·
Maintainers usually reply within 1 day