Internal Server Error after Login - problem with merged-template-prepend.js.deps

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    30.0.5.1

  • Operating system and version (e.g., Ubuntu 24.04):
    Shared Hosting Netcup Linux 5.10.0-32-amd64 x86_64

  • Web server and version (e.g, Apache 2.4.25):
    Apache ???
    memory_limit 512M
    max_execution_time 180
    max_input_time 60 (Standard)
    post_max_size 128M
    upload_max_filesize 128M
    opcache.enable on (Standard)

  • PHP version (e.g, 8.3):
    8.2.25

  • Is this the first time you’ve seen this error? (Yes / No):
    Yes

  • When did this problem seem to first start?
    today

  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    Webinstaller - GitHub - nextcloud/web-installer: 💊 The web installer for Nextcloud / Nextcloud.

Summary of the issue you are facing:

I saw on the nextcloud web user interface that some DB indices were missing and run the the occ missing indices command from my Plex backend as task to repair that. It worked, but afterwards I wasn’t able to access the web user interface anylonger. It says:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

The clients on my desktop computer and iPhone work and I can upload files and so on. Very strange behaviour.

From the error logs it seems that something with “merged-template-prepend.js.deps” seems not to work. I checked these issues: [Bug]: Upgrade to 27.1.2.1 Not working: `file_get_contents(/var/www/html/data/appdata_oczcy358mcjy/js/core/merged-template-prepend.js.deps): Failed to open stream: No such file or directory at /var/www/html/lib/private/Files/Storage/Local.php#305` · Issue #40886 · nextcloud/server · GitHub

Tried:

php occ maintenance:repair
php occ files:scan-app-data
php occ files:scan

and so on… - no difference…

One solution suggest to delete the entry for “merged-template-prepend.js.deps” - but in my database in oc_filecache that entry does not exist.

My config.php

{
“system”: {
“instanceid”: “REMOVED SENSITIVE VALUE”,
“passwordsalt”: “REMOVED SENSITIVE VALUE”,
“secret”: “REMOVED SENSITIVE VALUE”,
“trusted_domains”: [
www.XXX.de”,
cloud.XXX.de
],
“datadirectory”: “REMOVED SENSITIVE VALUE”,
“dbtype”: “mysql”,
“version”: “30.0.5.1”,
“overwrite.cli.url”: “https://www.XXX.de/o”,
“dbname”: “REMOVED SENSITIVE VALUE”,
“dbhost”: “REMOVED SENSITIVE VALUE”,
“dbport”: “”,
“dbtableprefix”: “oc_”,
“mysql.utf8mb4”: true,
“dbuser”: “REMOVED SENSITIVE VALUE”,
“dbpassword”: “REMOVED SENSITIVE VALUE”,
“installed”: true,
“theme”: “”,
“loglevel”: 2,
“trashbin_retention_obligation”: “15, auto”,
“app_install_overwrite”: [
“occweb”
],
“encryption.legacy_format_support”: false,
“encryption.key_storage_migrated”: false,
“default_phone_region”: “DE”,
“mail_smtpmode”: “smtp”,
“mail_smtpsecure”: “tls”,
“mail_sendmailmode”: “smtp”,
“mail_from_address”: “REMOVED SENSITIVE VALUE”,
“mail_domain”: “REMOVED SENSITIVE VALUE”,
“mail_smtpauthtype”: “LOGIN”,
“mail_smtpauth”: 1,
“mail_smtphost”: “REMOVED SENSITIVE VALUE”,
“mail_smtpname”: “REMOVED SENSITIVE VALUE”,
“mail_smtppassword”: “REMOVED SENSITIVE VALUE”,
“maintenance_window_start”: 1,
“preview_max_x”: 1024,
“preview_max_y”: 1024,
“maintenance”: false,
“updater.release.channel”: “stable”
}
}

Error logs from Nextcloud, in the server logs there seems to be nothing related to this, no entries.

Zusammenfassung

{
“reqId”: “vqRMH5E24n7hPsRCUwc2”,
“level”: 3,
“time”: “2025-02-05T21:16:41+00:00”,
“remoteAddr”: “2a02:3100:242d:ba00:143e:29f9:a8b3:5af9”,
“user”: “USERXXXXXXX”,
“app”: “PHP”,
“method”: “GET”,
“url”: “/o/index.php/apps/files/”,
“message”: “file_get_contents(/var/www/vhosts/hosting133200.a2fc4.netcup.net/n_data/appdata_ocup97ytzirq/js/core/merged-template-prepend.js.deps): Failed to open stream: No such file or directory at /var/www/XXXXXXX/lib/private/Files/Storage/Local.php#296”,
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0”,
“version”: “30.0.5.1”,
“data”: {
“app”: “PHP”
}
}
{
“reqId”: “vqRMH5E24n7hPsRCUwc2”,
“level”: 3,
“time”: “2025-02-05T21:16:41+00:00”,
“remoteAddr”: “2a02:3100:242d:ba00:143e:29f9:a8b3:5af9”,
“user”: “USERXXXXXXX”,
“app”: “core”,
“method”: “GET”,
“url”: “/o/index.php/apps/files/”,
“message”: “Exception thrown: OCP\Files\GenericFileException”,
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0”,
“version”: “30.0.5.1”,
“exception”: {
“Exception”: “OCP\Files\GenericFileException”,
“Message”: “”,
“Code”: 0,
“Trace”: [
{
“file”: “/var/www/XXXXXXX/lib/private/Files/SimpleFS/SimpleFile.php”,
“line”: 55,
“function”: “getContent”,
“class”: “OC\Files\Node\File”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSCombiner.php”,
“line”: 97,
“function”: “getContent”,
“class”: “OC\Files\SimpleFS\SimpleFile”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSCombiner.php”,
“line”: 72,
“function”: “isCached”,
“class”: “OC\Template\JSCombiner”,
“type”: “->”,
“args”: [
merged-template-prepend.js.deps”,
{
class”: “OC\Files\SimpleFS\SimpleFolder”
}
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSResourceLocator.php”,
“line”: 112,
“function”: “process”,
“class”: “OC\Template\JSCombiner”,
“type”: “->”,
“args”: [
“/var/www/XXXXXXX”,
“core/js/merged-template-prepend.json”,
“core”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSResourceLocator.php”,
“line”: 71,
“function”: “cacheAndAppendCombineJsonIfExist”,
“class”: “OC\Template\JSResourceLocator”,
“type”: “->”,
“args”: [
“/var/www/XXXXXXX”,
“core/js/merged-template-prepend.json”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/ResourceLocator.php”,
“line”: 51,
“function”: “doFind”,
“class”: “OC\Template\JSResourceLocator”,
“type”: “->”,
“args”: [
“core/js/merged-template-prepend”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/TemplateLayout.php”,
“line”: 385,
“function”: “find”,
“class”: “OC\Template\ResourceLocator”,
“type”: “->”,
“args”: [
[
“core/js/common”,
“core/js/main”,
“files/l10n/en”,
“files/js/init”,
“federatedfilesharing/l10n/en”,
“And 32 more entries, set log level to debug to see all entries”
]
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/TemplateLayout.php”,
“line”: 208,
“function”: “findJavascriptFiles”,
“class”: “OC\TemplateLayout”,
“type”: “::”,
“args”: [
[
“core/js/common”,
“core/js/main”,
“files/l10n/en”,
“files/js/init”,
“federatedfilesharing/l10n/en”,
“And 32 more entries, set log level to debug to see all entries”
]
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/legacy/OC_Template.php”,
“line”: 119,
“function”: “__construct”,
“class”: “OC\TemplateLayout”,
“type”: “->”,
“args”: [
“user”,
“files”
]
},
{
“file”: “/var/www/XXXXXXX/lib/public/AppFramework/Http/TemplateResponse.php”,
“line”: 189,
“function”: “fetchPage”,
“class”: “OC_Template”,
“type”: “->”,
“args”: [

]
},
{
“file”: “/var/www/XXXXXXX/lib/private/AppFramework/Http/Dispatcher.php”,
“line”: 159,
“function”: “render”,
“class”: “OCP\AppFramework\Http\TemplateResponse”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/lib/private/AppFramework/App.php”,
“line”: 161,
“function”: “dispatch”,
“class”: “OC\AppFramework\Http\Dispatcher”,
“type”: “->”,
“args”: [
{
class”: “OCA\Files\Controller\ViewController”
},
“index”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Route/Router.php”,
“line”: 302,
“function”: “main”,
“class”: “OC\AppFramework\App”,
“type”: “::”,
“args”: [
“OCA\Files\Controller\ViewController”,
“index”,
{
class”: “OC\AppFramework\DependencyInjection\DIContainer”
},
{
“_route”: “files.view.index”
}
]
},
{
“file”: “/var/www/XXXXXXX/lib/base.php”,
“line”: 1003,
“function”: “match”,
“class”: “OC\Route\Router”,
“type”: “->”,
“args”: [
“/apps/files/”
]
},
{
“file”: “/var/www/XXXXXXX/index.php”,
“line”: 24,
“function”: “handleRequest”,
“class”: “OC”,
“type”: “::”,
“args”:
}
],
“File”: “/var/www/XXXXXXX/lib/private/Files/Node/File.php”,
“Line”: 35,
“CustomMessage”: “Exception thrown: OCP\Files\GenericFileException”
}
}
{
“reqId”: “vqRMH5E24n7hPsRCUwc2”,
“level”: 3,
“time”: “2025-02-05T21:16:41+00:00”,
“remoteAddr”: “2a02:3100:242d:ba00:143e:29f9:a8b3:5af9”,
“user”: “USERXXXXXXX”,
“app”: “core”,
“method”: “GET”,
“url”: “/o/index.php/apps/files/”,
“message”: “Exception thrown: OCP\Files\GenericFileException”,
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0”,
“version”: “30.0.5.1”,
“exception”: {
“Exception”: “OCP\Files\GenericFileException”,
“Message”: “”,
“Code”: 0,
“Trace”: [
{
“file”: “/var/www/XXXXXXX/lib/private/Files/SimpleFS/SimpleFile.php”,
“line”: 55,
“function”: “getContent”,
“class”: “OC\Files\Node\File”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSCombiner.php”,
“line”: 97,
“function”: “getContent”,
“class”: “OC\Files\SimpleFS\SimpleFile”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSCombiner.php”,
“line”: 72,
“function”: “isCached”,
“class”: “OC\Template\JSCombiner”,
“type”: “->”,
“args”: [
“merged-template-prepend.js.deps”,
{
class”: “OC\Files\SimpleFS\SimpleFolder”
}
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSResourceLocator.php”,
“line”: 112,
“function”: “process”,
“class”: “OC\Template\JSCombiner”,
“type”: “->”,
“args”: [
“/var/www/XXXXXXX”,
“core/js/merged-template-prepend.json”,
“core”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/JSResourceLocator.php”,
“line”: 71,
“function”: “cacheAndAppendCombineJsonIfExist”,
“class”: “OC\Template\JSResourceLocator”,
“type”: “->”,
“args”: [
“/var/www/XXXXXXX”,
“core/js/merged-template-prepend.json”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/ResourceLocator.php”,
“line”: 51,
“function”: “doFind”,
“class”: “OC\Template\JSResourceLocator”,
“type”: “->”,
“args”: [
“core/js/merged-template-prepend”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/TemplateLayout.php”,
“line”: 385,
“function”: “find”,
“class”: “OC\Template\ResourceLocator”,
“type”: “->”,
“args”: [
[
“core/js/common”,
“core/js/main”,
“files/l10n/en”,
“files/js/init”,
“federatedfilesharing/l10n/en”,
“And 32 more entries, set log level to debug to see all entries”
]
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/TemplateLayout.php”,
“line”: 208,
“function”: “findJavascriptFiles”,
“class”: “OC\TemplateLayout”,
“type”: “::”,
“args”: [
[
“core/js/common”,
“core/js/main”,
“files/l10n/en”,
“files/js/init”,
“federatedfilesharing/l10n/en”,
“And 32 more entries, set log level to debug to see all entries”
]
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/legacy/OC_Template.php”,
“line”: 119,
“function”: “__construct”,
“class”: “OC\TemplateLayout”,
“type”: “->”,
“args”: [
“error”,
“”
]
},
{
“file”: “/var/www/XXXXXXX/lib/private/Template/Base.php”,
“line”: 113,
“function”: “fetchPage”,
“class”: “OC_Template”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/lib/private/legacy/OC_Template.php”,
“line”: 296,
“function”: “printPage”,
“class”: “OC\Template\Base”,
“type”: “->”,
“args”:
},
{
“file”: “/var/www/XXXXXXX/index.php”,
“line”: 89,
“function”: “printExceptionErrorPage”,
“class”: “OC_Template”,
“type”: “::”,
“args”: [
{
class”: “OCP\Files\GenericFileException”
},
500
]
}
],
“File”: “/var/www/XXXXXXX/lib/private/Files/Node/File.php”,
“Line”: 35,
“CustomMessage”: “Exception thrown: OCP\Files\GenericFileException”
}
}

Does the above file exist on disk?

And what is the ownership?

Does your shared hosting environment run your PHP code under a system UID (like www-data) or under the user account UID (i.e. your own)?

Hello, thank you for your time and answer.

No, the file does not exist. I read somewhere that it is created when needed. I found this, but it’s not helping: [Bug]: Getting Internal Server Error since updating to 28.0.5 and above · Issue #45695 · nextcloud/server · GitHub

I checked with ls -l the folder is owned by my account (hosting133200) and permissions are 777.

How can I find out how the PHP code is run? Running PHP info it says under “Configure Command” → ‘–with-fpm-user=www-data’ ‘–with-fpm-group=www-data’ ‘–with-fpm-systemd’ → it that an indication that it uses www-data? Sorry, I’m not that deep in the topic…

Ok, now the weirdest thing happened: I just created an empty file “merged-template-prepend.js.deps” in the appdata_ocup97ytzirq/js/core/ folder and gave it 777 permissions → the whole thing works again… how strange is this?

how strange is this?

I suspect your web host runs everyone’s PHP code under the same UID (i.e. www-data). When you ran occ from the command-line though it’s always going to be under your own account.

Besides security, that’s not a great way to do things, but I guess that’s what your shared host picked.

May want to consider at least moving to a VPS. :slight_smile:

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.