-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Autoloader issue in lib/private/Files/Storage/DAV.php #3771
Comments
See nextcloud/server#3771 for details.
For the core classes we use the composer autoloader which is very well tested and used. Sometimes not finding it seems odd indeed. I'm not able to reproduce the bug with your app. So that makes debugging even harder. |
Thanks for testing @rullzer. I had already implemented a workaround for this issue, did you try it with or without that workaround? I'll revert the workaround on the master branch for now and keep it in a separate branch. |
Yes I tried without the work around |
Try without |
@nickvergessen this was a perfect guess, without I don't know why I used But in the end there might still be an issue with thx |
This seems like the proper workaround for nextcloud/server#3771
During the development of a proof-of-concept NextCloud auth backend I've stumbled across a weird issue with automatic class loading in the NextCloud core.
Although I can work around this issue I think there is something broken in the core, which unfortunately is kind of hard to reproduce. First of all, this is the error I am getting:
The weird thing is that it only happens under very rare circumstances. I was able to reproduce it with the following steps:
IApacheBackend
is usedOC_User::handleApacheAuth()
is called when setting up a new sessionWhat bugs me is that only sometimes the
ArrayCache
class cannot be loaded inlib/private/Files/Storage/DAV.php
. So I came to the conclusion that this must be an issue with the classloader somewhere deep inside NextCloud's guts.I can work around this in my app by manually requiring
lib/private/Memcache/ArrayCache.php
, but this does not seem like the right solution. That's why I thought I'll let you guys know about this because I suspect this might point to a bigger issue.This is the demo app which can be used to trigger that behavior: https://github.com/klada/nextcloud-user-serverauth. Since the backend uses only public interfaces it should work... Or am I missing something?
// BTW: OpCache was my first suspect, so I have disabled it
The text was updated successfully, but these errors were encountered: