circles
circles copied to clipboard
`OCA\Circles\Model\Circle::getOwner()`: Return value must be of type `OCA\Circles\Model\Member`, null returned
- NC 22.2.3
- Users: LDAP
While browsing the users list, it hangs with an error and this exception. It can also be reproduced with occ files:scan --all
. Strange thing is, with occ
command, user where exception is thrown is not always the same... 🤔
{
"reqId": "sBsiIFyjmYPBIWyqwSY0",
"level": 3,
"time": "2021-11-21T14:21:23+01:00",
"app": "no app in context",
"method": "GET",
"url": "/ocs/v2.php/cloud/users/details?offset=200&limit=25&search=",
"message": "OCA\\Circles\\Model\\Circle::getOwner(): Return value must be of type OCA\\Circles\\Model\\Member, null returned",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
"version": "22.2.3.0",
"exception": {
"Exception": "Exception",
"Message": "OCA\\Circles\\Model\\Circle::getOwner(): Return value must be of type OCA\\Circles\\Model\\Member, null returned",
"Code": 0,
"Trace": [
{
"file": "/app/lib/private/AppFramework/App.php",
"line": 156,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\UsersController"
},
"getUsersDetails"
]
},
{
"file": "/app/lib/private/Route/Router.php",
"line": 302,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Provisioning_API\\Controller\\UsersController",
"getUsersDetails",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
{
"_route": "ocs.provisioning_api.Users.getUsersDetails"
}
]
},
{
"file": "/app/ocs/v1.php",
"line": 62,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/ocsapp/cloud/users/details"
]
},
{
"file": "/app/ocs/v2.php",
"line": 23,
"args": [
"/app/ocs/v1.php"
],
"function": "require_once"
}
],
"File": "/app/lib/private/AppFramework/Http/Dispatcher.php",
"Line": 158,
"Previous": {
"Exception": "TypeError",
"Message": "OCA\\Circles\\Model\\Circle::getOwner(): Return value must be of type OCA\\Circles\\Model\\Member, null returned",
"Code": 0,
"Trace": [
{
"file": "/app/apps/circles/lib/Model/FederatedUser.php",
"line": 369,
"function": "getOwner",
"class": "OCA\\Circles\\Model\\Circle",
"type": "->",
"args": []
},
{
"file": "/app/apps/circles/lib/Db/CircleRequest.php",
"line": 287,
"function": "importFromCircle",
"class": "OCA\\Circles\\Model\\FederatedUser",
"type": "->",
"args": [
{
"__class__": "OCA\\Circles\\Model\\Circle"
}
]
},
{
"file": "/app/apps/circles/lib/Service/MembershipService.php",
"line": 108,
"function": "getFederatedUserBySingleId",
"class": "OCA\\Circles\\Db\\CircleRequest",
"type": "->",
"args": [
"hcd37HdgkvWWLpR1ZHGuTqKRMbF2vn8"
]
},
{
"file": "/app/apps/circles/lib/Service/FederatedUserService.php",
"line": 961,
"function": "onUpdate",
"class": "OCA\\Circles\\Service\\MembershipService",
"type": "->",
"args": [
"hcd37HdgkvWWLpR1ZHGuTqKRMbF2vn8"
]
},
{
"file": "/app/apps/circles/lib/Service/FederatedUserService.php",
"line": 883,
"function": "getSingleCircle",
"class": "OCA\\Circles\\Service\\FederatedUserService",
"type": "->",
"args": [
{
"__class__": "OCA\\Circles\\Model\\FederatedUser"
},
true
]
},
{
"file": "/app/apps/circles/lib/Service/FederatedUserService.php",
"line": 467,
"function": "fillSingleCircleId",
"class": "OCA\\Circles\\Service\\FederatedUserService",
"type": "->",
"args": [
{
"__class__": "OCA\\Circles\\Model\\FederatedUser"
},
true
]
},
{
"file": "/app/apps/circles/lib/ShareByCircleProvider.php",
"line": 548,
"function": "getLocalFederatedUser",
"class": "OCA\\Circles\\Service\\FederatedUserService",
"type": "->",
"args": [
"[email protected]"
]
},
{
"file": "/app/lib/private/Share20/Manager.php",
"line": 1360,
"function": "getSharedWith",
"class": "OCA\\Circles\\ShareByCircleProvider",
"type": "->",
"args": [
"[email protected]",
7,
null,
-1,
0
]
},
{
"file": "/app/apps/files_sharing/lib/MountProvider.php",
"line": 79,
"function": "getSharedWith",
"class": "OC\\Share20\\Manager",
"type": "->",
"args": [
"[email protected]",
7,
null,
-1
]
},
{
"file": "/app/lib/private/Files/Config/MountProviderCollection.php",
"line": 118,
"function": "getMountsForUser",
"class": "OCA\\Files_Sharing\\MountProvider",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Storage\\StorageFactory"
}
]
},
{
"file": "/app/lib/private/Files/Filesystem.php",
"line": 429,
"function": "addMountForUser",
"class": "OC\\Files\\Config\\MountProviderCollection",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Mount\\Manager"
}
]
},
{
"file": "/app/lib/private/Files/Filesystem.php",
"line": 354,
"function": "initMountPoints",
"class": "OC\\Files\\Filesystem",
"type": "::",
"args": [
"[email protected]"
]
},
{
"file": "/app/lib/private/legacy/OC_Util.php",
"line": 325,
"function": "init",
"class": "OC\\Files\\Filesystem",
"type": "::",
"args": [
"[email protected]",
"/[email protected]/files"
]
},
{
"file": "/app/apps/provisioning_api/lib/Controller/AUserData.php",
"line": 242,
"function": "setupFS",
"class": "OC_Util",
"type": "::",
"args": [
"[email protected]"
]
},
{
"file": "/app/apps/provisioning_api/lib/Controller/AUserData.php",
"line": 149,
"function": "fillStorageInfo",
"class": "OCA\\Provisioning_API\\Controller\\AUserData",
"type": "->",
"args": [
"[email protected]"
]
},
{
"file": "/app/apps/provisioning_api/lib/Controller/UsersController.php",
"line": 200,
"function": "getUserData",
"class": "OCA\\Provisioning_API\\Controller\\AUserData",
"type": "->",
"args": [
"[email protected]"
]
},
{
"file": "/app/lib/private/AppFramework/Http/Dispatcher.php",
"line": 217,
"function": "getUsersDetails",
"class": "OCA\\Provisioning_API\\Controller\\UsersController",
"type": "->",
"args": [
"",
25,
200
]
},
{
"file": "/app/lib/private/AppFramework/Http/Dispatcher.php",
"line": 126,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\UsersController"
},
"getUsersDetails"
]
},
{
"file": "/app/lib/private/AppFramework/App.php",
"line": 156,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\UsersController"
},
"getUsersDetails"
]
},
{
"file": "/app/lib/private/Route/Router.php",
"line": 302,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Provisioning_API\\Controller\\UsersController",
"getUsersDetails",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
{
"_route": "ocs.provisioning_api.Users.getUsersDetails"
}
]
},
{
"file": "/app/ocs/v1.php",
"line": 62,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/ocsapp/cloud/users/details"
]
},
{
"file": "/app/ocs/v2.php",
"line": 23,
"args": [
"/app/ocs/v1.php"
],
"function": "require_once"
}
],
"File": "/app/apps/circles/lib/Model/Circle.php",
"Line": 410
},
"CustomMessage": "--"
},
"id": "619a47e30fc33"
}
Reproduced also with occ user:list
An unhandled exception has been thrown:
TypeError: OCA\Circles\Model\Circle::getOwner(): Return value must be of type OCA\Circles\Model\Member, null returned in /apps/circles/lib/Model/Circle.php:410
Stack trace:
#0 /apps/circles/lib/Model/FederatedUser.php(369): OCA\Circles\Model\Circle->getOwner()
#1 /apps/circles/lib/Db/CircleRequest.php(287): OCA\Circles\Model\FederatedUser->importFromCircle()
#2 /apps/circles/lib/Service/MembershipService.php(108): OCA\Circles\Db\CircleRequest->getFederatedUserBySingleId()
#3 /apps/circles/lib/Service/FederatedUserService.php(961): OCA\Circles\Service\MembershipService->onUpdate()
#4 /apps/circles/lib/Service/FederatedUserService.php(883): OCA\Circles\Service\FederatedUserService->getSingleCircle()
#5 /apps/circles/lib/Service/FederatedUserService.php(467): OCA\Circles\Service\FederatedUserService->fillSingleCircleId()
#6 /apps/circles/lib/Listeners/DeprecatedListener.php(109): OCA\Circles\Service\FederatedUserService->getLocalFederatedUser()
#7 /apps/circles/lib/AppInfo/Application.php(174): OCA\Circles\Listeners\DeprecatedListener->userAccountUpdated()
#8 /3rdparty/symfony/event-dispatcher/EventDispatcher.php(264): OCA\Circles\AppInfo\Application->OCA\Circles\AppInfo\{closure}()
#9 /3rdparty/symfony/event-dispatcher/EventDispatcher.php(239): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch()
#10 /3rdparty/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
#11 /lib/private/EventDispatcher/SymfonyAdapter.php(123): Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
#12 /lib/private/Accounts/AccountManager.php(278): OC\EventDispatcher\SymfonyAdapter->dispatch()
#13 /lib/private/Accounts/AccountManager.php(765): OC\Accounts\AccountManager->updateUser()
#14 /lib/private/Accounts/Hooks.php(69): OC\Accounts\AccountManager->updateAccount()
#15 /lib/private/Accounts/Hooks.php(77): OC\Accounts\Hooks->changeUserHook()
#16 /lib/private/EventDispatcher/ServiceEventListener.php(75): OC\Accounts\Hooks->handle()
#17 /3rdparty/symfony/event-dispatcher/EventDispatcher.php(251): OC\EventDispatcher\ServiceEventListener->__invoke()
#18 /3rdparty/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
#19 /lib/private/EventDispatcher/EventDispatcher.php(88): Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
#20 /lib/private/EventDispatcher/EventDispatcher.php(100): OC\EventDispatcher\EventDispatcher->dispatch()
#21 /lib/private/Server.php(623): OC\EventDispatcher\EventDispatcher->dispatchTyped()
#22 [internal function]: OC\Server->OC\{closure}()
#23 /lib/private/Hooks/EmitterTrait.php(106): call_user_func_array()
#24 /lib/private/Hooks/PublicEmitter.php(40): OC\Hooks\BasicEmitter->emit()
#25 /lib/private/User/User.php(560): OC\Hooks\PublicEmitter->emit()
#26 /apps/user_ldap/lib/User/User.php(400): OC\User\User->triggerChange()
#27 /apps/user_ldap/lib/Access.php(770): OCA\User_LDAP\User\User->composeAndStoreDisplayName()
#28 /apps/user_ldap/lib/Access.php(708): OCA\User_LDAP\Access->cacheUserDisplayName()
#29 /apps/user_ldap/lib/Access.php(655): OCA\User_LDAP\Access->ldap2NextcloudNames()
#30 /apps/user_ldap/lib/User_LDAP.php(284): OCA\User_LDAP\Access->nextcloudUserNames()
#31 /apps/user_ldap/lib/User_Proxy.php(169): OCA\User_LDAP\User_LDAP->getUsers()
#32 /lib/private/User/Manager.php(286): OCA\User_LDAP\User_Proxy->getUsers()
#33 /core/Command/User/ListCommand.php(85): OC\User\Manager->search()
#34 /3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\User\ListCommand->execute()
#35 /core/Command/Base.php(168): Symfony\Component\Console\Command\Command->run()
#36 /3rdparty/symfony/console/Application.php(1009): OC\Core\Command\Base->run()
#37 /3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#38 /3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#39 /lib/private/Console/Application.php(209): Symfony\Component\Console\Application->run()
#40 /console.php(99): OC\Console\Application->run()
#41 /occ(11): require_once('...')
#42 {main}
Should be fixed in next minor release of Nextcloud 22,23,24
Same here Nextcloud v.28.0.2 User via DB, not LDAP
{
"reqId":"ZeA5ILEN9cXq-hsKAm-4SgAAAAI",
"level":3,
"time":"2024-02-29T07:58:24+00:00",
"remoteAddr":"87.139.18.xxx",
"user":"xxx",
"app":"no app in context",
"method":"GET",
"url":"/ocs/v2.php/cloud/groups/teamw()rk/users/details?offset=0&limit=25&search=",
"message":"Exception thrown: Exception",
"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
"version":"28.0.2.5",
"exception":{
"Exception":"Exception",
"Message":"OCA\\Circles\\Model\\Circle::getInitiator(): Return value must be of type OCA\\Circles\\Model\\Member, null returned in file '/var/www/vhosts/domain.tld/httpdocs/apps/circles/lib/Model/Circle.php' line 593",
"Code":0,
"Trace":[
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/AppFramework/App.php",
"line":184,
"function":"dispatch",
"class":"OC\\AppFramework\\Http\\Dispatcher",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Route/Router.php",
"line":315,
"function":"main",
"class":"OC\\AppFramework\\App",
"type":"::"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/ocs/v1.php",
"line":65,
"function":"match",
"class":"OC\\Route\\Router",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/ocs/v2.php",
"line":23,
"args":[
"/var/www/vhosts/domain.tld/httpdocs/ocs/v1.php"
],
"function":"require_once"
}
],
"File":"/var/www/vhosts/domain.tld/httpdocs/lib/private/AppFramework/Http/Dispatcher.php",
"Line":169,
"Previous":{
"Exception":"TypeError",
"Message":"OCA\\Circles\\Model\\Circle::getInitiator(): Return value must be of type OCA\\Circles\\Model\\Member, null returned",
"Code":0,
"Trace":[
{
"file":"/var/www/vhosts/domain.tld/httpdocs/apps/collectives/lib/Service/CollectiveHelper.php",
"line":54,
"function":"getInitiator",
"class":"OCA\\Circles\\Model\\Circle",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/apps/collectives/lib/Mount/MountProvider.php",
"line":66,
"function":"getCollectivesForUser",
"class":"OCA\\Collectives\\Service\\CollectiveHelper",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/apps/collectives/lib/Mount/MountProvider.php",
"line":117,
"function":"getFoldersForUser",
"class":"OCA\\Collectives\\Mount\\MountProvider",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Files/Config/MountProviderCollection.php",
"line":89,
"function":"getMountsForUser",
"class":"OCA\\Collectives\\Mount\\MountProvider",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Files/Config/MountProviderCollection.php",
"line":138,
"function":"getMountsFromProvider",
"class":"OC\\Files\\Config\\MountProviderCollection",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Files/SetupManager.php",
"line":215,
"function":"addMountForUser",
"class":"OC\\Files\\Config\\MountProviderCollection",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Files/SetupManager.php",
"line":318,
"function":"OC\\Files\\{closure}",
"class":"OC\\Files\\SetupManager",
"type":"->",
"args":[
"*** sensitive parameters replaced ***"
]
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Files/SetupManager.php",
"line":214,
"function":"setupForUserWith",
"class":"OC\\Files\\SetupManager",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/legacy/OC_Util.php",
"line":110,
"function":"setupForUser",
"class":"OC\\Files\\SetupManager",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/apps/provisioning_api/lib/Controller/AUserData.php",
"line":261,
"function":"setupFS",
"class":"OC_Util",
"type":"::"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/apps/provisioning_api/lib/Controller/AUserData.php",
"line":159,
"function":"fillStorageInfo",
"class":"OCA\\Provisioning_API\\Controller\\AUserData",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/apps/provisioning_api/lib/Controller/GroupsController.php",
"line":234,
"function":"getUserData",
"class":"OCA\\Provisioning_API\\Controller\\AUserData",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/AppFramework/Http/Dispatcher.php",
"line":230,
"function":"getGroupUsersDetails",
"class":"OCA\\Provisioning_API\\Controller\\GroupsController",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/AppFramework/Http/Dispatcher.php",
"line":137,
"function":"executeController",
"class":"OC\\AppFramework\\Http\\Dispatcher",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/AppFramework/App.php",
"line":184,
"function":"dispatch",
"class":"OC\\AppFramework\\Http\\Dispatcher",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/lib/private/Route/Router.php",
"line":315,
"function":"main",
"class":"OC\\AppFramework\\App",
"type":"::"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/ocs/v1.php",
"line":65,
"function":"match",
"class":"OC\\Route\\Router",
"type":"->"
},
{
"file":"/var/www/vhosts/domain.tld/httpdocs/ocs/v2.php",
"line":23,
"args":[
"/var/www/vhosts/domain.tld/httpdocs/ocs/v1.php"
],
"function":"require_once"
}
],
"File":"/var/www/vhosts/domain.tld/httpdocs/apps/circles/lib/Model/Circle.php",
"Line":593
},
"CustomMessage":"Exception thrown: Exception"
},
"id":"65e03d3354d1a"
}
@skerbis Yours is actually different:
"Message":"OCA\\Circles\\Model\\Circle::getInitiator(): Return value must be of type OCA\\Circles\\Model\\Member, null returned in file '/var/www/vhosts/domain.tld/httpdocs/apps/circles/lib/Model/Circle.php' line 593",
I suggest running occ circles:check
and seeing what is reported. Related: #1284
I'm closing this particular issue out.