pixelfed / pixelfed

Photo Sharing. For Everyone.
https://pixelfed.org
GNU Affero General Public License v3.0
5.66k stars 681 forks source link

Exception thrown on every key stroke in Direct Message view #2752

Closed gramakri closed 3 years ago

gramakri commented 3 years ago

As I type the username, I see exceptions in laravel.log. Looks like it's trying to resolve every domain name as I type?

[previous exception] [object] (GuzzleHttp\\Exception\\ConnectException(code: 0): cURL error 6: Could not resolve host: pixelfed.socia (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) at /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:200)
[stacktrace]
#0 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(155): GuzzleHttp\\Handler\\CurlFactory::createRejection()
#1 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(105): GuzzleHttp\\Handler\\CurlFactory::finishError()
#2 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(43): GuzzleHttp\\Handler\\CurlFactory::finish()
#3 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\\Handler\\CurlHandler->__invoke()
#4 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(51): GuzzleHttp\\Handler\\Proxy::GuzzleHttp\\Handler\\{closure}()
#5 /app/data/public/pixelfed/vendor/pixelfed/zttp/src/Zttp.php(189): GuzzleHttp\\Handler\\Proxy::GuzzleHttp\\Handler\\{closure}()
#6 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(37): Zttp\\PendingZttpRequest->Zttp\\{closure}()
#7 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Middleware.php(29): GuzzleHttp\\PrepareBodyMiddleware->__invoke()
#8 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(70): GuzzleHttp\\Middleware::GuzzleHttp\\{closure}()
#9 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Middleware.php(57): GuzzleHttp\\RedirectMiddleware->__invoke()
#10 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/HandlerStack.php(71): GuzzleHttp\\Middleware::GuzzleHttp\\{closure}()
#11 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Client.php(351): GuzzleHttp\\HandlerStack->__invoke()
#12 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Client.php(162): GuzzleHttp\\Client->transfer()
#13 /app/data/public/pixelfed/vendor/guzzlehttp/guzzle/src/Client.php(182): GuzzleHttp\\Client->requestAsync()
#14 /app/data/public/pixelfed/vendor/pixelfed/zttp/src/Zttp.php(166): GuzzleHttp\\Client->request()
#15 /app/data/public/pixelfed/vendor/pixelfed/zttp/src/Zttp.php(130): Zttp\\PendingZttpRequest->send()
#16 /app/data/public/pixelfed/vendor/pixelfed/zttp/src/Zttp.php(9): Zttp\\PendingZttpRequest->get()
#17 /app/data/public/pixelfed/app/Services/WebfingerService.php(35): Zttp\\Zttp::__callStatic()
#18 /app/data/public/pixelfed/app/Services/WebfingerService.php(20): App\\Services\\WebfingerService->run()
#19 /app/data/public/pixelfed/app/Http/Controllers/DirectMessageController.php(608): App\\Services\\WebfingerService::lookup()
#20 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\DirectMessageController->composeLookup()
#21 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()
#22 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Route.php(254): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#23 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Route.php(197): Illuminate\\Routing\\Route->runController()
#24 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Router.php(695): Illuminate\\Routing\\Route->run()
#25 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#26 /app/data/public/pixelfed/app/Http/Middleware/AccountInterstitial.php(42): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#27 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\AccountInterstitial->handle()
#28 /app/data/public/pixelfed/app/Http/Middleware/Localization.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\Localization->handle()
#30 /app/data/public/pixelfed/app/Http/Middleware/TwoFactorAuth.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#31 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\TwoFactorAuth->handle()
#32 /app/data/public/pixelfed/app/Http/Middleware/EmailVerificationCheck.php(34): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\EmailVerificationCheck->handle()
#34 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#36 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#38 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#40 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#42 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#44 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#45 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#46 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#47 /app/data/public/pixelfed/app/Http/Middleware/FrameGuard.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\FrameGuard->handle()
#49 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#51 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\\Pipeline\\Pipeline->then()
#53 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\\Routing\\Router->runRouteWithinStack()
#54 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute()
#55 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute()
#56 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch()
#57 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#58 /app/data/public/pixelfed/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#59 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#60 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#61 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#62 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#63 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#64 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#65 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#66 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#67 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#68 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#69 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#70 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#71 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then()
#72 /app/data/public/pixelfed/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#73 /app/data/public/pixelfed/public/index.php(57): Illuminate\\Foundation\\Http\\Kernel->handle()
#74 {main}
"} 
gramakri commented 3 years ago

It seems a DNS lookup is performed for every keystroke (via curl). So, when we enter partial names/ids, the exception is thrown

ghost commented 3 years ago

@dansup could you please respond to this? I’ma pixelfed fan and i spend money for hosting and domain I’m looking forward to make pixelfed a better place could you pay respond to this? It’s really important