Log flooded with "dns_get_record(): A temporary server error occurred"
Open
Nobody has claimed this yet.
1. to develop
25-feedback
bug
high
needs review
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
{
"reqId": "LP2ucI4M8WYxaHQ9AfD7",
"level": 3,
"time": "2022-09-23T04:07:01+00:00",
"remoteAddr": "…",
"user": "…",
"app": "PHP",
"method": "POST",
"url": "/ocs/v2.php/references/extract",
"message": "dns_get_record(): A temporary server error occurred. at /var/www/cloud.nextcloud.com/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php#83",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
"version": "25.0.0.13",
"exception": {
"Exception": "Error",
"Message": "dns_get_record(): A temporary server error occurred. at /var/www/cloud.nextcloud.com/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php#83",
"Code": 0,
"Trace": [
{
"function": "onError",
"class": "OC\\Log\\ErrorHandler",
"type": "::",
"args": [
2,
"dns_get_record(): A temporary server error occurred.",
"/var/www/cloud.nextcloud.com/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php",
83
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php",
"line": 83,
"function": "dns_get_record",
"args": [
"…",
16
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php",
"line": 128,
"function": "dnsResolve",
"class": "OC\\Http\\Client\\DnsPinMiddleware",
"type": "->",
"args": [
"…",
1
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php",
"line": 35,
"function": "OC\\Http\\Client\\{closure}",
"class": "OC\\Http\\Client\\DnsPinMiddleware",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/Middleware.php",
"line": 31,
"function": "__invoke",
"class": "GuzzleHttp\\PrepareBodyMiddleware",
"type": "->",
"args": [
"*** sensitive parameters replaced ***",
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php",
"line": 71,
"function": "GuzzleHttp\\{closure}",
"class": "GuzzleHttp\\Middleware",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/Middleware.php",
"line": 63,
"function": "__invoke",
"class": "GuzzleHttp\\RedirectMiddleware",
"type": "->",
"args": [
"*** sensitive parameters replaced ***",
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/HandlerStack.php",
"line": 75,
"function": "GuzzleHttp\\{closure}",
"class": "GuzzleHttp\\Middleware",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/Client.php",
"line": 331,
"function": "__invoke",
"class": "GuzzleHttp\\HandlerStack",
"type": "->",
"args": [
"*** sensitive parameters replaced ***",
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/Client.php",
"line": 168,
"function": "transfer",
"class": "GuzzleHttp\\Client",
"type": "->",
"args": [
"*** sensitive parameters replaced ***",
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/apps/collectives/vendor/guzzlehttp/guzzle/src/Client.php",
"line": 187,
"function": "requestAsync",
"class": "GuzzleHttp\\Client",
"type": "->",
"args": [
"get",
{
"__class__": "GuzzleHttp\\Psr7\\Uri"
},
[
"/var/www/data/files_external/rootcerts.crt",
10,
[
{
"__class__": "Closure"
}
],
[
false
],
true,
"And 6 more entries, set log level to debug to see all entries"
]
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Http/Client/Client.php",
"line": 218,
"function": "request",
"class": "GuzzleHttp\\Client",
"type": "->",
"args": [
"get",
"…",
[
"/var/www/data/files_external/rootcerts.crt",
10,
[
{
"__class__": "Closure"
}
],
[
false
],
[
"Nextcloud Server Crawler",
"gzip"
],
"And 1 more entries, set log level to debug to see all entries"
]
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Collaboration/Reference/LinkReferenceProvider.php",
"line": 107,
"function": "get",
"class": "OC\\Http\\Client\\Client",
"type": "->",
"args": [
"…",
[
10
]
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Collaboration/Reference/LinkReferenceProvider.php",
"line": 86,
"function": "fetchReference",
"class": "OC\\Collaboration\\Reference\\LinkReferenceProvider",
"type": "->",
"args": [
{
"__class__": "OC\\Collaboration\\Reference\\Reference"
}
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Collaboration/Reference/ReferenceManager.php",
"line": 99,
"function": "resolveReference",
"class": "OC\\Collaboration\\Reference\\LinkReferenceProvider",
"type": "->",
"args": [
"…"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/core/Controller/ReferenceApiController.php",
"line": 52,
"function": "resolveReference",
"class": "OC\\Collaboration\\Reference\\ReferenceManager",
"type": "->",
"args": [
"…"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 225,
"function": "extract",
"class": "OC\\Core\\Controller\\ReferenceApiController",
"type": "->",
"args": [
"…",
true,
1
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 133,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OC\\Core\\Controller\\ReferenceApiController"
},
"extract"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/AppFramework/App.php",
"line": 172,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OC\\Core\\Controller\\ReferenceApiController"
},
"extract"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Route/Router.php",
"line": 298,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OC\\Core\\Controller\\ReferenceApiController",
"extract",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
[
"ocs.core.ReferenceApi.extract"
]
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/ocs/v1.php",
"line": 62,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/ocsapp/references/extract"
]
},
{
"file": "/var/www/cloud.nextcloud.com/nextcloud/ocs/v2.php",
"line": 23,
"args": [
"/var/www/cloud.nextcloud.com/nextcloud/ocs/v1.php"
],
"function": "require_once"
}
],
"File": "/var/www/cloud.nextcloud.com/nextcloud/lib/private/Log/ErrorHandler.php",
"Line": 92,
"CustomMessage": "--"
},
"id": "632d345f730a4"
}
Contributor 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.
Research direction
Start with lib/private/Http/Client/DnsPinMiddleware.php at line 83 and trace the dnsResolve call from the stack. Then follow LinkReferenceProvider.php and ReferenceApiController.php to understand how the request reaches DNS resolution. Done means the reported temporary DNS condition no longer floods the log while reference extraction behavior remains covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100