Page "ports" error

ports tab gives an error after today’s update

  • librenms.log
/opt/librenms/resources/views/device/tabs/ports/detail.blade.php:5
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('...')
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire()
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(74): Illuminate\View\Engines\PhpEngine->evaluatePath()
#4 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/View.php(208): Illuminate\View\Engines\CompilerEngine->get()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\View\View->getContents()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\View\View->renderContents()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Response.php(78): Illuminate\View\View->render()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Response.php(34): Illuminate\Http\Response->setContent()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(924): Illuminate\Http\Response->__construct()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(891): Illuminate\Routing\Router::toResponse()
#11 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807)
  • nginx log

2025/06/23 15:03:55 [error] 4093806#4093806: *6 FastCGI sent in stderr: "PHP message: PHP Error(2): mkdir(): File exists from vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:652 in /opt/librenms/LibreNMS/Util/Clean.php:78" while reading response header from upstream, client: IP, server: DOMAIN, request: "GET /graph.php?from=-30d&legend=yes&text=&id=209994&type=port_bits&absolute_size=0&width=300&height=150 HTTP/2.0", upstream: "fastcgi://unix:/run/php-fpm-librenms.sock:", host: "DOMAIN", referrer: "DOMAIN"

./validate.php

Component Version
LibreNMS 25.6.0-38-gec5f8dc7c (2025-06-23T12:10:05+03:00)
DB Schema 2025_06_11_173916_drop_alert_rule (344)
PHP 8.3.6
Python 3.12.3
Database MariaDB 11.8.2-MariaDB-ubu2404
RRDTool 1.7.2
SNMP 5.9.4.pre2
===========================================

[OK] Composer Version: 2.8.9
[OK] Dependencies up-to-date.
[OK] Database Connected
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Active pollers found
[OK] Dispatcher Service not detected
[OK] Locks are functional
[OK] Python poller wrapper is polling
[OK] Redis is functional
[OK] rrdtool version ok
[OK] Connected to rrdcached

$ git pull
Already up to date.

and in addition

su - librenms
./scripts/composer_wrapper.php install --no-dev
config PHP Error(2): unlink(/opt/librenms/bootstrap/cache/config.php): No such file or directory from vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:308 in /opt/librenms/app/Console/Commands/ClearConfigCommand.php:22
........................................................ 29.20ms DONE
  events ......................................................... 4.92ms DONE
  routes ........................................................ 90.46ms DONE
  views ........................................................ 121.50ms DONE

> @php artisan config:clear

   INFO  Configuration cache cleared successfully.  

> scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || :
/opt/librenms/scripts/dynamic_check_requirements.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources

Try Updated ports detail blade page to use Request() by laf · Pull Request #17926 · librenms/librenms · GitHub

$ git pull

remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (8/8), 5.74 KiB | 980.00 KiB/s, done.
From https://github.com/librenms/librenms
 * [new branch]          detailed-blade -> origin/detailed-blade
Already up to date.

still error

librenms.log

[2025-06-23T16:09:22][CRITICAL] Exception: Spatie\LaravelIgnition\Exceptions\ViewException Call to a member function fullUrlWithQuery() on null @ /opt/librenms/resources/views/device/tabs/ports/detail.blade.php:5
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('...')
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(57): Illuminate\Filesystem\Filesystem->getRequire()
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(74): Illuminate\View\Engines\PhpEngine->evaluatePath()
#4 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/View.php(208): Illuminate\View\Engines\CompilerEngine->get()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\View\View->getContents()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\View\View->renderContents()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Response.php(78): Illuminate\View\View->render()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Response.php(34): Illuminate\Http\Response->setContent()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(924): Illuminate\Http\Response->__construct()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(891): Illuminate\Routing\Router::toResponse()
#11 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\Routing\Router->prepareResponse()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(169): Illuminate\Routing\Router->Illuminate\Routing\{closure}()
#13 /opt/librenms/app/Http/Middleware/LoadUserPreferences.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#14 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\LoadUserPreferences->handle()
#15 /opt/librenms/app/Http/Middleware/VerifyTwoFactor.php(41): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#16 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\VerifyTwoFactor->handle()
#17 /opt/librenms/app/Http/Middleware/VerifyUserEnabled.php(28): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#18 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\VerifyUserEnabled->handle()
#19 /opt/librenms/app/Http/Middleware/CheckInstalled.php(64): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#20 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\CheckInstalled->handle()
#21 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#22 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Routing\Middleware\SubstituteBindings->handle()
#23 /opt/librenms/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php(66): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#24 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Session\Middleware\AuthenticateSession->handle()
#25 /opt/librenms/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#26 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Auth\Middleware\Authenticate->handle()
#27 /opt/librenms/app/Http/Middleware/LegacyExternalAuth.php(45): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#28 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\LegacyExternalAuth->handle()
#29 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#30 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
#31 /opt/librenms/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#32 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\View\Middleware\ShareErrorsFromSession->handle()
#33 /opt/librenms/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#34 /opt/librenms/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
#35 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Session\Middleware\StartSession->handle()
#36 /opt/librenms/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#37 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
#38 /opt/librenms/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#39 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Cookie\Middleware\EncryptCookies->handle()
#40 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(126): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#41 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\Pipeline\Pipeline->then()
#42 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\Routing\Router->runRouteWithinStack()
#43 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\Routing\Router->runRoute()
#44 /opt/librenms/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\Routing\Router->dispatchToRoute()
#45 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\Routing\Router->dispatch()
#46 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(169): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()
#47 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#48 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#49 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
#50 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#51 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#52 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
#53 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#54 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Http\Middleware\ValidatePostSize->handle()
#55 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#56 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
#57 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#58 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Http\Middleware\HandleCors->handle()
#59 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#60 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Http\Middleware\TrustProxies->handle()
#61 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#62 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle()
#63 /opt/librenms/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#64 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Http\Middleware\ValidatePathEncoding->handle()
#65 /opt/librenms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(126): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#66 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\Pipeline\Pipeline->then()
#67 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
#68 /opt/librenms/html/index.php(51): Illuminate\Foundation\Http\Kernel->handle()
#69 {main}

hi,
in my installation I have changed in this “/opt/librenms/resources/views/device/tabs/ports/detail.blade.php” all $request to request()
and in cd /opt/librenms I used this command
php artisan view:clear

just try it

1 Like

I’m not sure this is an elegant solution. It might be suitable as a temporary measure for support work. But let’s wait for the commit.

I missed that $request was used in a recent refactor. I’ll get that fixed.

yeah, now fixed. Thx

Merged upstream fix to restore $request… You just need to run ./daily.sh

already done, work fine.