I’m running a website on server using php-fpm, nginx. It is using Laravel Framework. Randomly server stopped working and start giving me BadMethodCall Exception. But there is no method listed in there.
/var/www/site/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:71
Call to undefined method IlluminateDatabaseQueryJoinClause::()
I checked the memory on server and have 30 gb of free memory.
Complete stacktrace of earlier instance. Everytime it is form different place.
{
"message": "Call to undefined method Illuminate\Database\Query\Builder::()",
"exception": "BadMethodCallException",
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 71,
"trace": [
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
"line": 3538,
"function": "throwBadMethodCallException",
"class": "Illuminate\Database\Query\Builder",
"type": "::"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 23,
"function": "__call",
"class": "Illuminate\Database\Query\Builder",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1660,
"function": "forwardCallTo",
"class": "Illuminate\Database\Eloquent\Builder",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 23,
"function": "__call",
"class": "Illuminate\Database\Eloquent\Builder",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
"line": 2132,
"function": "forwardCallTo",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php",
"line": 87,
"function": "__call",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/app/Models/Device/Device.php",
"line": 52,
"function": "hasOne",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php",
"line": 539,
"function": "site",
"class": "App\Models\Device\Device",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php",
"line": 491,
"function": "getRelationshipFromMethod",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php",
"line": 440,
"function": "getRelationValue",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
"line": 2029,
"function": "getAttribute",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Controllers/Api/V1/AuthController.php",
"line": 107,
"function": "__get",
"class": "Illuminate\Database\Eloquent\Model",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Controllers/Api/V1/AuthController.php",
"line": 102,
"function": "checkDeviceIsOrphan",
"class": "App\Http\Controllers\Api\V1\AuthController",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Controllers/Api/V1/AuthController.php",
"line": 89,
"function": "checkDeviceIsActive",
"class": "App\Http\Controllers\Api\V1\AuthController",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Controllers/Api/V1/AuthController.php",
"line": 55,
"function": "checkDevice",
"class": "App\Http\Controllers\Api\V1\AuthController",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Controllers/Api/V1/AuthController.php",
"line": 38,
"function": "validateDevice",
"class": "App\Http\Controllers\Api\V1\AuthController",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
"line": 54,
"function": "validation",
"class": "App\Http\Controllers\Api\V1\AuthController",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\Routing\Controller",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 262,
"function": "dispatch",
"class": "Illuminate\Routing\ControllerDispatcher",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 205,
"function": "runController",
"class": "Illuminate\Routing\Route",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 721,
"function": "run",
"class": "Illuminate\Routing\Route",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 128,
"function": "Illuminate\Routing\{closure}",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Middleware/RedirectIfAuthenticated.php",
"line": 24,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\Http\Middleware\RedirectIfAuthenticated",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Middleware/ApiSetLocale.php",
"line": 29,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\Http\Middleware\ApiSetLocale",
"type": "->"
},
{
"file": "/var/www/site/app/Http/Middleware/ApiDataLogger.php",
"line": 49,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\Http\Middleware\ApiDataLogger",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
"line": 50,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\Routing\Middleware\SubstituteBindings",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 127,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 63,
"function": "handleRequest",
"class": "Illuminate\Routing\Middleware\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\Routing\Middleware\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 103,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 128,
"function": "Illuminate\Foundation\Http\{closure}",
"class": "Illuminate\Foundation\Http\Kernel",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\TrimStrings",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/site/vendor/fideloper/proxy/src/TrustProxies.php",
"line": 57,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\Proxy\TrustProxies",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 103,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "/var/www/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\Foundation\Http\Kernel",
"type": "->"
},
{
"file": "/var/www/site/public/index.php",
"line": 55,
"function": "handle",
"class": "Illuminate\Foundation\Http\Kernel",
"type": "->"
}
]
}
Device.php
<?php
/**
*
*
*
*
**/
namespace AppModelsDevice;
use AppModelsLookupsCountry;
use AppModelsLookupsLanguage;
use AppModelsSiteSite;
use IlluminateFoundationAuthUser as Authenticatable;
use LaravelPassportHasApiTokens;
class Device extends Authenticatable
{
use HasApiTokens;
/**
* The table associated with the model.
*
* @varstring
*/
//
/**
* The primary key associated with the table.
*
* @varstring
*/
//
/**
* Indicates if the model should be timestamped.
*
* @var bool
*/
public $timestamps = true;
const CREATED_AT = 'dt_created_at';
const UPDATED_AT = 'dt_updated_at';
protected $dateFormat = 'Y-m-d H:i:sO';
protected $fillable = [
//
];
public function site()
{
return $this->hasOne(Site::class, 'cid', 'cid');
}
public function language()
{
return $this->hasOne(Language::class);
}
public function country()
{
return $this->hasOne(Country::class);
}
//
//
}