You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is not only software, it is clearly a problem with the Nextcloud team.
I experienced the issue, I looked for it, it has been reported plenty of times and always closed without proper solution.
Users are still complaining in the issue after it is closed but the team may not see it as it is closed.
CPU resources are not released when a download of large file and video is interrupted. This leads to high CPU usage and unusable server.
And firstly, why does the simple streaming of file require this much CPU ?
It look like the file is streamed through php process, which is inefficient. Why not letting apache serve this file directly ?
If user request a file bigger than 10MB then create a temp folder, inside this temp folder create a symlink to the file (with same name) then redirect user to this file served directly by apache.
Then the cron job will periodically delete all temp folders older than 24h.
Steps to reproduce
upload a large file video
start downloading or watching it
then stop
the CPU is not released and server rapidly become unusable
Expected behavior
When the user stops watching the video or downloading the file, the process should be stopped.
Installation method
Official All-in-One appliance
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.1
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Updated to a major version (ex. 22.2.3 to 23.0.1)
Are you using the Nextcloud Server Encryption module?
{"reqId":"fLwPfGNF1tX5PJU78Nzx","level":3,"time":"2020-02-16T03:15:01+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","message":{"Exception":"Exception","Message":"Not installed","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":646,"function":"checkInstalled","class":"OC","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":1078,"function":"init","class":"OC","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/cron.php","line":41,"args":["\/var\/www\/nextcloud\/lib\/base.php"],"function":"require_once"}],"File":"\/var\/www\/nextcloud\/lib\/base.php","Line":277,"CustomMessage":"--"},"userAgent":"--","version":""}
{"reqId":"mwMpBj2qRxAr9wlUZMzm","level":3,"time":"2020-02-16T03:15:50+00:00","remoteAddr":"90.76.33.45","user":"--","app":"PHP","method":"GET","url":"\/index.php\/settings\/admin\/overview","message":"touch(): Utime failed: Permission denied at \/var\/www\/nextcloud\/lib\/private\/Config.php#240","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/80.0.3987.106 Safari\/537.36","version":""}
{"reqId":"mwMpBj2qRxAr9wlUZMzm","level":3,"time":"2020-02-16T03:15:50+00:00","remoteAddr":"90.76.33.45","user":"--","app":"PHP","method":"GET","url":"\/index.php\/settings\/admin\/overview","message":"fopen(\/var\/www\/nextcloud\/config\/config.php): failed to open stream: Permission denied at \/var\/www\/nextcloud\/lib\/private\/Config.php#241","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/80.0.3987.106 Safari\/537.36","version":""}
{"reqId":"mwMpBj2qRxAr9wlUZMzm","level":3,"time":"2020-02-16T03:15:50+00:00","remoteAddr":"90.76.33.45","user":"--","app":"PHP","method":"GET","url":"\/index.php\/settings\/admin\/overview","message":"chmod(): Operation not permitted at \/var\/www\/nextcloud\/lib\/private\/Config.php#244","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/80.0.3987.106 Safari\/537.36","version":""}
{"reqId":"mwMpBj2qRxAr9wlUZMzm","level":3,"time":"2020-02-16T03:15:50+00:00","remoteAddr":"90.76.33.45","user":"--","app":"index","method":"GET","url":"\/index.php\/settings\/admin\/overview","message":{"Exception":"OC\\HintException","Message":"Can't write into config directory!","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/lib\/private\/Config.php","line":132,"function":"writeData","class":"OC\\Config","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/private\/SystemConfig.php","line":111,"function":"setValue","class":"OC\\Config","type":"->","args":["instanceid","ocd936kso2vv"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/legacy\/util.php","line":1152,"function":"setValue","class":"OC\\SystemConfig","type":"->","args":["instanceid","ocd936kso2vv"]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":415,"function":"getInstanceId","class":"OC_Util","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":642,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":1078,"function":"init","class":"OC","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/index.php","line":40,"args":["\/var\/www\/nextcloud\/lib\/base.php"],"function":"require_once"}],"File":"\/var\/www\/nextcloud\/lib\/private\/Config.php","Line":251,"Hint":"This can usually be fixed by giving the webserver write access to the config directory. See https:\/\/docs.nextcloud.com\/server\/17\/go.php?to=admin-dir_permissions","CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/80.0.3987.106 Safari\/537.36","version":""}
{"reqId":"mwMpBj2qRxAr9wlUZMzm","level":3,"time":"2020-02-16T03:15:50+00:00","remoteAddr":"90.76.33.45","user":"--","app":"index","method":"GET","url":"\/index.php\/settings\/admin\/overview","message":{"Exception":"Doctrine\\DBAL\\DBALException","Message":"Failed to connect to the database: An exception occurred in driver: could not find driver","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php","line":1040,"function":"connect","class":"OC\\DB\\Connection","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/private\/DB\/Connection.php","line":216,"function":"executeUpdate","class":"Doctrine\\DBAL\\Connection","type":"->","args":["PRAGMA read_uncommitted = 1",[],[]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php","line":683,"function":"executeUpdate","class":"OC\\DB\\Connection","type":"->","args":["PRAGMA read_uncommitted = 1"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/DB\/Connection.php","line":151,"function":"setTransactionIsolation","class":"Doctrine\\DBAL\\Connection","type":"->","args":[2]},{"file":"\/var\/www\/nextcloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/DriverManager.php","line":195,"function":"__construct","class":"OC\\DB\\Connection","type":"->","args":[{"adapter":"OC\\DB\\AdapterSqlite","driver":"pdo_sqlite","wrapperClass":"OC\\DB\\Connection","user":"","password":"","path":"\/var\/www\/nextcloud\/data\/owncloud.db","tablePrefix":"oc_","sqlite.journal_mode":"WAL","defaultTableOptions":{"collate":"utf8_bin","tablePrefix":"oc_"},"platform":{"__class__":"OC\\DB\\OCSqlitePlatform"}},{"__class__":"Doctrine\\DBAL\\Driver\\PDOSqlite\\Driver"},{"__class__":"Doctrine\\DBAL\\Configuration"},{"__class__":"Doctrine\\Common\\EventManager"}]},{"file":"\/var\/www\/nextcloud\/lib\/private\/DB\/ConnectionFactory.php","line":158,"function":"getConnection","class":"Doctrine\\DBAL\\DriverManager","type":"::","args":[{"adapter":"OC\\DB\\AdapterSqlite","driver":"pdo_sqlite","wrapperClass":"OC\\DB\\Connection","user":"","password":"","path":"\/var\/www\/nextcloud\/data\/owncloud.db","tablePrefix":"oc_","sqlite.journal_mode":"WAL","defaultTableOptions":{"collate":"utf8_bin","tablePrefix":"oc_"},"platform":{"__class__":"OC\\DB\\OCSqlitePlatform"}},{"__class__":"Doctrine\\DBAL\\Configuration"},{"__class__":"Doctrine\\Common\\EventManager"}]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Server.php","line":635,"function":"getConnection","class":"OC\\DB\\ConnectionFactory","type":"->","args":["sqlite",{"user":"","password":"","path":"\/var\/www\/nextcloud\/data\/owncloud.db","tablePrefix":"oc_","sqlite.journal_mode":"WAL","defaultTableOptions":{"collate":"utf8_bin","tablePrefix":"oc_"},"platform":{"__class__":"OC\\DB\\OCSqlitePlatform"}}]},{"file":"\/var\/www\/nextcloud\/3rdparty\/pimple\/pimple\/src\/Pimple\/Container.php","line":118,"function":"OC\\{closure}","class":"OC\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/ServerContainer.php","line":120,"function":"offsetGet","class":"Pimple\\Container","type":"->","args":["OCP\\IDBConnection"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":161,"function":"query","class":"OC\\ServerContainer","type":"->","args":["OCP\\IDBConnection"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/pimple\/pimple\/src\/Pimple\/Container.php","line":114,"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/ServerContainer.php","line":120,"function":"offsetGet","class":"Pimple\\Container","type":"->","args":["DatabaseConnection"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Server.php","line":1554,"function":"query","class":"OC\\ServerContainer","type":"->","args":["DatabaseConnection"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Server.php","line":458,"function":"getDatabaseConnection","class":"OC\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/3rdparty\/pimple\/pimple\/src\/Pimple\/Container.php","line":118,"function":"OC\\{closure}","class":"OC\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/ServerContainer.php","line":120,"function":"offsetGet","class":"Pimple\\Container","type":"->","args":["OC\\AppConfig"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Server.php","line":689,"function":"query","class":"OC\\ServerContainer","type":"->","args":["OC\\AppConfig"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/pimple\/pimple\/src\/Pimple\/Container.php","line":118,"function":"OC\\{closure}","class":"OC\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/ServerContainer.php","line":120,"function":"offsetGet","class":"Pimple\\Container","type":"->","args":["OC\\App\\AppManager"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":161,"function":"query","class":"OC\\ServerContainer","type":"->","args":["OC\\App\\AppManager"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/pimple\/pimple\/src\/Pimple\/Container.php","line":114,"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/ServerContainer.php","line":120,"function":"offsetGet","class":"Pimple\\Container","type":"->","args":["AppManager"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Server.php","line":1725,"function":"query","class":"OC\\ServerContainer","type":"->","args":["AppManager"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/legacy\/template.php","line":284,"function":"getAppManager","class":"OC\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/index.php","line":51,"function":"printErrorPage","class":"OC_Template","type":"::","args":["Can't write into config directory!","This can usually be fixed by giving the webserver write access to the config directory. See https:\/\/docs.nextcloud.com\/server\/17\/go.php?to=admin-dir_permissions",503]}],"File":"\/var\/www\/nextcloud\/lib\/private\/DB\/Connection.php","Line":64,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/80.0.3987.106 Safari\/537.36","version":""}
Additional info
We love you thank you for this work !
The text was updated successfully, but these errors were encountered:
Bug description
This issue is not only software, it is clearly a problem with the Nextcloud team.
I experienced the issue, I looked for it, it has been reported plenty of times and always closed without proper solution.
Users are still complaining in the issue after it is closed but the team may not see it as it is closed.
CPU resources are not released when a download of large file and video is interrupted. This leads to high CPU usage and unusable server.
Exemples of user report closed without bugfix :
And many others ...
And firstly, why does the simple streaming of file require this much CPU ?
It look like the file is streamed through php process, which is inefficient. Why not letting apache serve this file directly ?
If user request a file bigger than 10MB then create a temp folder, inside this temp folder create a symlink to the file (with same name) then redirect user to this file served directly by apache.
Then the cron job will periodically delete all temp folders older than 24h.
Steps to reproduce
Expected behavior
When the user stops watching the video or downloading the file, the process should be stopped.
Installation method
Official All-in-One appliance
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.1
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Updated to a major version (ex. 22.2.3 to 23.0.1)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
We love you thank you for this work !
The text was updated successfully, but these errors were encountered: