-
Snipe-IT Versionv8.3.3 - build 20061 PHP Version8.4.12 Composer Version2.8.11 MySQL/MariaDB version10.11.14 How did you install Snipe-IT?Git install Is this a fresh install or an upgrade?Upgrade What happened?Hello, I'm having a similar issue to one I had a few months ago: error 500 in /api/v1/hardware and "TypeError: Carbon\Carbon::rawAddUnit(): Argument #3 ($value) must be of type int|float, string given" from Laravel. Previous issue: #16925 I believe I've narrowed down the problem: If "Warranty" is blank or 0 Months, the item will display in a list. However, if I enter any other number, the list will not display. This started when upgrading to Snipe-It 8.3.3 20061 this morning. It had been a couple months since I last upgraded. (I will try to remember to backup the Snipe-It install first next time). Based on the error, I added in Units.php: And now the item displays in lists correctly with Warranty Months=1 I've confirmed in PHPMyAdmin that the "warranty_months" field is int(11). This is an example export from Custom Asset Report when Warranty Months = 1 ID,Company,"Asset Name","Asset Tag",Model,"Model No.",Category,Manufacturer,Serial,Purchased,Cost,EOL,Warranty,"Warranty Expires","Current Value",Diff,"Fully Depreciated","Order Number",Supplier,Location,Address,Address,City,State,Country,Zip,"Default Location",Address,Address,City,State,Country,Zip,"Checked Out",Type,Username,"Employee No.",Manager,Department,Title,Phone,"User Address","User City","User State","User Country","User Zip",Status,"Checkout Date","Last Checkin Date","Expected Checkin Date","Created At","Updated at",Deleted,"Last Audit","Next Audit Date",Notes,URL,"MAC Address",Specs,"Applecare Policy",CpyWarrantyExpiry,"OS Version",Power,"Cable #",Condition,"Model Year",Accessories,Contents,SIM/Carrier,"Phone Number","Lock Code",IMEI And the SQL: What browsers are you seeing the problem on?Chrome Can you reproduce this on the public demo?No Do you have full multiple company support enabled?No If you have full multiple company support enabled, do you have location scoping to company enabled?I do not have full multiple company support enabled Application log output[11:23:49] LOG.error: TypeError: Carbon\Carbon::rawAddUnit(): Argument #3 ($value) must be of type int|float, string given, called in /home/USER/domains/DOMAIN/snipe-it/vendor/nesbot/carbon/src/Carbon/Traits/Units.php on line 356 and defined in /home/USER/domains/DOMAIN/snipe-it/vendor/nesbot/carbon/src/Carbon/Traits/Units.php:455
Stack trace:
#0 /home/USER/domains/DOMAIN/snipe-it/vendor/nesbot/carbon/src/Carbon/Traits/Units.php(356): Carbon\Carbon::rawAddUnit()
#1 /home/USER/domains/DOMAIN/snipe-it/vendor/nesbot/carbon/src/Carbon/Traits/Date.php(2905): Carbon\Carbon->addUnit()
#2 /home/USER/domains/DOMAIN/snipe-it/vendor/nesbot/carbon/src/Carbon/Traits/Date.php(2596): Carbon\Carbon->callModifierMethod()
#3 /home/USER/domains/DOMAIN/snipe-it/app/Models/Asset.php(283): Carbon\Carbon->__call()
#4 [internal function]: App\Models\Asset->App\Models\{closure}()
#5 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(718): call_user_func()
#6 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(2226): Illuminate\Database\Eloquent\Model->mutateAttributeMarkedAttribute()
#7 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(520): Illuminate\Database\Eloquent\Model->transformModelValue()
#8 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(474): Illuminate\Database\Eloquent\Model->getAttributeValue()
#9 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2260): Illuminate\Database\Eloquent\Model->getAttribute()
#10 /home/USER/domains/DOMAIN/snipe-it/app/Http/Transformers/AssetsTransformer.php(91): Illuminate\Database\Eloquent\Model->__get()
#11 /home/USER/domains/DOMAIN/snipe-it/app/Http/Transformers/AssetsTransformer.php(21): App\Http\Transformers\AssetsTransformer->transformAsset()
#12 /home/USER/domains/DOMAIN/snipe-it/app/Http/Controllers/Api/AssetsController.php(456): App\Http\Transformers\AssetsTransformer->transformAssets()
#13 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\Http\Controllers\Api\AssetsController->index()
#14 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction()
#15 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Route.php(266): Illuminate\Routing\ControllerDispatcher->dispatch()
#16 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\Route->runController()
#17 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\Routing\Route->run()
#18 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\Routing\Router->Illuminate\Routing\{closure}()
#19 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(51): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#20 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Routing\Middleware\SubstituteBindings->handle()
#21 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/SetAPIResponseHeaders.php(68): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#22 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(127): App\Http\Middleware\SetAPIResponseHeaders->handleRequest()
#23 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(89): Illuminate\Routing\Middleware\ThrottleRequests->handleRequestUsingNamedLimiter()
#24 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Routing\Middleware\ThrottleRequests->handle()
#25 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/CheckLocale.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#26 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): App\Http\Middleware\CheckLocale->handle()
#27 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(64): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#28 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Auth\Middleware\Authenticate->handle()
#29 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#30 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\Pipeline\Pipeline->then()
#31 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\Routing\Router->runRouteWithinStack()
#32 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\Routing\Router->runRoute()
#33 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\Routing\Router->dispatchToRoute()
#34 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\Routing\Router->dispatch()
#35 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()
#36 /home/USER/domains/DOMAIN/snipe-it/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#37 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Livewire\Features\SupportDisablingBackButtonCache\DisableBackButtonCacheMiddleware->handle()
#38 /home/USER/domains/DOMAIN/snipe-it/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(66): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#39 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle()
#40 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#41 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Http\Middleware\HandleCors->handle()
#42 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/PreventBackHistory.php(23): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#43 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): App\Http\Middleware\PreventBackHistory->handle()
#44 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/SecurityHeaders.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#45 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): App\Http\Middleware\SecurityHeaders->handle()
#46 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#47 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#48 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
#49 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#50 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#51 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
#52 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/CheckForDebug.php(25): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#53 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): App\Http\Middleware\CheckForDebug->handle()
#54 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/CheckForSetup.php(30): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#55 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): App\Http\Middleware\CheckForSetup->handle()
#56 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#57 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\View\Middleware\ShareErrorsFromSession->handle()
#58 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#59 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
#60 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Session\Middleware\StartSession->handle()
#61 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#62 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
#63 /home/USER/domains/DOMAIN/snipe-it/app/Http/Middleware/NoSessionStore.php(28): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#64 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): App\Http\Middleware\NoSessionStore->handle()
#65 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#66 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Http\Middleware\TrustProxies->handle()
#67 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#68 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Pipeline\Pipeline->then()
#69 /home/USER/domains/DOMAIN/snipe-it/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
#70 /home/USER/domains/DOMAIN/snipe-it/public/index.php(51): Illuminate\Foundation\Http\Kernel->handle()
#71 {main}Browser console outputstatus
500 Internal Server Error
full_url
https://DOMAIN/api/v1/hardware?status=&order_number=&company_id=&status_id=&search=&sort=status_label&order=asc&offset=0&limit=500
action_name
api.assets.index
controller_action
App\Http\Controllers\Api\AssetsController@index
uri
GET api/v1/hardware
controller
App\Http\Controllers\Api\AssetsController@index
prefix
api/v1
file
app/Http/Controllers/Api/AssetsController.php:59-457
middleware
auth:api, api, api-throttle:api
duration
314ms
peak_memory
14MB
response
application/json
request_format
html
request_query
array:9 [▼
"status" => null
"order_number" => null
"company_id" => null
"status_id" => null
"search" => null
"sort" => "status_label"
"order" => "asc"
"offset" => "0"
"limit" => "500"
]
request_request
[]
request_headers
array:17 [▼
"accept" => array:1 [▶]
"accept-encoding" => array:1 [▶]
"accept-language" => array:1 [▶]
"content-type" => array:1 [▶]
"cookie" => array:1 [▶]
"host" => array:1 [▶]
"referer" => array:1 [▶]
"user-agent" => array:1 [▶]
"sec-ch-ua-platform" => array:1 [▶]
"x-csrf-token" => array:1 [▶]
"sec-ch-ua" => array:1 [▶]
"sec-ch-ua-mobile" => array:1 [▶]
"x-requested-with" => array:1 [▶]
"sec-fetch-site" => array:1 [▶]
"sec-fetch-mode" => array:1 [▶]
"sec-fetch-dest" => array:1 [▶]
"priority" => array:1 [▶]
]Common Issues
Code of Conduct
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
|
You should never be changing vendor files, since the next time you upgrade, those changes will be blown out. I have no idea why you'd be seeing that, as that is never treated as a string and I cannot reproduce it locally or on the demo. https://demo.snipeitapp.com/hardware
|
Beta Was this translation helpful? Give feedback.
-
|
@snipe I understand about the vendor files; I was just trying to pin down the problem. I've done a completely fresh install of snipe-it and dependencies, with no change. I've made this change in Asset.php and it fixes the problem: protected function warrantyExpires(): Attribute (Added (int) in the addMonths() call) This fixes the current problem. Again, this is very similar to the previous issue at #16925 As said warranty_months in the database is an int field; but it looks like somehow $attributes['warranty_months'] is being passed as a string to the addUnit() function? |
Beta Was this translation helpful? Give feedback.
-
|
Fixed in 92b50ca |
Beta Was this translation helpful? Give feedback.

Fixed in 92b50ca