SIGSEGV after updating apps

  • Nextcloud Server version (e.g., 29.x.x):
    • 31.0.8
  • Operating system and version (e.g., Ubuntu 24.04):
    • Debian Trixie
  • Web server and version (e.g, Apache 2.4.25):
    • Nginx 1.22
  • PHP version (e.g, 8.3):
    • 8.4
  • Is this the first time you’ve seen this error? (Yes / No):
    • no
  • When did this problem seem to first start?
    • 2 weeks ago
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • Archive
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

When there is a update for a app like calendar, contacts or anything else, i get a notification about the update. I start the update from inside the WebGUI and all seems to be fine after the update. I get a message that the update process was OK. But some seconds later i get 502 Gateway errors. If i look in the php logfile, i see lines like: [11-Sep-2025 08:46:11] WARNING: [pool www] child 382180 exited on signal 11 (SIGSEGV) after 0.021979 seconds from start

Only restarting php solves the issue. There are no Segfaults when using the WebGUI or anything else.

I had this issue now multiple times with app updates from within the webgui. Memory consumption is fine, there are no spikes. Its only a small Raspberry Pi 4, but with 8GB RAM.

Relevant PHP Config

pm = ondemand
pm.max_children = 83
pm.start_servers = 41
pm.min_spare_servers = 27
pm.max_spare_servers = 55
pm.process_idle_timeout = 10s;

Looking at btop or top, reveals no memory issues.

Steps to replicate it (hint: details matter!):

  1. Receive Update notification
  2. Click the notification
  3. Apps page is loaded
  4. Click the App update button
  5. The update starts
  6. Update finishes without visible problems
  7. Some seconds later the whole server reports “502 Gateway” errors

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

{"reqId":"QF95lEqwxuL2sfN6mxkd","level":2,"time":"2025-09-11T04:11:05+02:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"dns_get_record(): A temporary server error occurred. at /var/www/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php#99","userAgent":"--","version":"31.0.8.1","data":{"app":"PHP"}}
{"reqId":"QF95lEqwxuL2sfN6mxkd","level":2,"time":"2025-09-11T04:11:15+02:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"dns_get_record(): A temporary server error occurred. at /var/www/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php#99","userAgent":"--","version":"31.0.8.1","data":{"app":"PHP"}}
{"reqId":"qvI6nEIQtVV98O1kgpZp","level":3,"time":"2025-09-11T08:08:34+02:00","remoteAddr":"ip removed","user":"user removed","app":"PHP","method":"GET","url":"/ocs/v2.php/core/navigation/apps?format=json","message":"voku\\helper\\UTF8::reduce_string_array(): Implicitly marking parameter $remove_short_values as nullable is deprecated, the explicit nullable type must be used instead at /var/www/nextcloud/apps/suspicious_login/vendor/voku/portable-utf8/src/voku/helper/UTF8.php#13827","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0","version":"31.0.8.1","data":{"app":"PHP"}}
{"reqId":"xa06YcgjKdiXHKUwHN5e","level":3,"time":"2025-09-11T08:50:46+02:00","remoteAddr":"ip removed","user":"--","app":"PHP","method":"GET","url":"/favicon.ico","message":"voku\\helper\\UTF8::reduce_string_array(): Implicitly marking parameter $remove_short_values as nullable is deprecated, the explicit nullable type must be used instead at /var/www/nextcloud/apps/suspicious_login/vendor/voku/portable-utf8/src/voku/helper/UTF8.php#13827","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0","version":"31.0.8.1","data":{"app":"PHP"}}

PHP

[10-Sep-2025 13:25:39] NOTICE: fpm is running, pid 364765
[10-Sep-2025 13:25:39] NOTICE: ready to handle connections
[10-Sep-2025 13:25:39] NOTICE: systemd monitor interval set to 10000ms
[11-Sep-2025 08:11:48] WARNING: [pool www] child 380179 exited on signal 11 (SIGSEGV) after 1.506946 seconds from start
[11-Sep-2025 08:11:48] NOTICE: [pool www] child 380187 started
[11-Sep-2025 08:11:48] WARNING: [pool www] child 380151 exited on signal 11 (SIGSEGV) after 10.624413 seconds from start
[11-Sep-2025 08:11:48] NOTICE: [pool www] child 380188 started
[11-Sep-2025 08:11:48] WARNING: [pool www] child 380187 exited on signal 11 (SIGSEGV) after 0.073431 seconds from start
[11-Sep-2025 08:11:48] NOTICE: [pool www] child 380189 started
[11-Sep-2025 08:11:50] WARNING: [pool www] child 380188 exited on signal 11 (SIGSEGV) after 2.036141 seconds from start
[11-Sep-2025 08:11:50] NOTICE: [pool www] child 380195 started
[11-Sep-2025 08:13:12] WARNING: [pool www] child 380419 exited on signal 11 (SIGSEGV) after 0.680363 seconds from start
[11-Sep-2025 08:13:12] NOTICE: [pool www] child 380428 started

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "version": "31.0.8.1",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "installed": true,
        "default_language": "de",
        "default_timezone": "Europe\/Berlin",
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/nextcloud\/apps\/mem
        "memories.vod.path": "\/var\/www\/nextcloud\/apps\/mem
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "memories.vod.disable": true,
        "memories.video_default_quality": "-2",
        "memories.vod.use_transpose": true,
        "memories.vod.use_gop_size": true,
        "memories.gis_type": 1,
        "memories.index.mode": "3",
        "memories.index.path.blacklist": "\\\/@(Recycle|eaDir|calibre
        "memories.index.path": "\/Photos",
        "enable_previews": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\JPEG",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\WEBP",
            "OC\\Preview\\MP3",
            "OC\\Preview\\Image",
            "OC\\Preview\\Movie"
        ],
        "preview_max_x": 1920,
        "preview_max_y": 1920,
        "preview_max_scale_factor": 1,
        "jpeg_quality": 60,
        "default_phone_region": "DE",
        "mail_smtpmode": "sendmail",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": true,
        "mail_smtpport": "587",
        "debug": false,
        "overwriteprotocol": "https",
        "activity_expire_days": 14,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "trashbin_retention_obligation": "auto, 30",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "logtimezone": "Europe\/Berlin",
        "loglevel": 2,
        "log_rotate_size": 0,
        "remember_login_cookie_lifetime": 1296000,
        "session_lifetime": 86400,
        "session_keepalive": true,
        "auto_logout": false,
        "profile.enabled": false,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 1,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "app_install_overwrite": [],
        "twofactor_enforced": "false",
        "twofactor_enforced_groups": [],
        "twofactor_enforced_excluded_groups": [],
        "defaultapp": "files",
        "forbidden_filename_characters": [
            "<",
            ">",
            ":",
            "\"",
            "|",
            "?",
            "*",
            "\\",
            "\/"
        ],
        "forbidden_filename_extensions": [
            " ",
            ".",
            ".filepart",
            ".part"
        ],
        "filesystem_check_changes": 0,
        "maintenance_window_start": 1,
        "maintenance": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "forbidden_filename_basenames": [
            "con",
            "prn",
            "aux",
            "nul",
            "com0",
            "com1",
            "com2",
            "com3",
            "com4",
            "com5",
            "com6",
            "com7",
            "com8",
            "com9",
            "com\u00b9",
            "com\u00b2",
            "com\u00b3",
            "lpt0",
            "lpt1",
            "lpt2",
            "lpt3",
            "lpt4",
            "lpt5",
            "lpt6",
            "lpt7",
            "lpt8",
            "lpt9",
            "lpt\u00b9",
            "lpt\u00b2",
            "lpt\u00b3"
        ]
    }
}

Apps

The output of occ app:list (if possible).

Enabled:
  - bookmarks: 15.2.0
  - bruteforcesettings: 4.0.0
  - calendar: 5.5.3
  - cloud_federation_api: 1.14.0
  - contacts: 7.3.0
  - dav: 1.33.0
  - dav_push: 0.0.3
  - federatedfilesharing: 1.21.0
  - files: 2.3.1
  - files_external: 1.23.0
  - files_sharing: 1.23.1
  - files_trashbin: 1.21.0
  - logreader: 4.0.0
  - lookup_server_connector: 1.19.0
  - mail_roundcube: 1.2.1
  - memories: 7.6.2
  - notes: 4.12.3
  - notifications: 4.0.0
  - oauth2: 1.19.1
  - password_policy: 3.0.0
  - photos: 4.0.0
  - previewgenerator: 5.10.0
  - profile: 1.0.0
  - provisioning_api: 1.21.0
  - secrets: 2.1.2
  - settings: 1.14.0
  - side_menu: 5.1.1
  - suspicious_login: 9.0.1
  - systemtags: 1.21.1
  - text: 5.0.0
  - theming: 2.6.1
  - theming_customcss: 1.18.0
  - twofactor_backupcodes: 1.20.0
  - twofactor_totp: 13.0.0-dev.0
  - updatenotification: 1.21.0
  - viewer: 4.0.0
  - workflowengine: 2.13.0
Disabled:
  - activity: 4.0.0 (installed 4.0.0)
  - admin_audit: 1.21.0 (installed 1.21.0)
  - app_api: 5.0.2 (installed 5.0.2)
  - circles: 31.0.0 (installed 31.0.0)
  - comments: 1.21.0 (installed 1.21.0)
  - contactsinteraction: 1.12.0 (installed 1.12.0)
  - dashboard: 7.11.0 (installed 7.11.0)
  - encryption: 2.19.0 (installed 2.19.0)
  - federation: 1.21.0 (installed 1.21.0)
  - files_downloadlimit: 4.0.0 (installed 4.0.0)
  - files_pdfviewer: 4.0.0 (installed 4.0.0)
  - files_reminders: 1.4.0 (installed 1.4.0)
  - files_versions: 1.24.0 (installed 1.24.0)
  - firstrunwizard: 4.0.0 (installed 4.0.0)
  - nextcloud_announcements: 3.0.0 (installed 3.0.0)
  - privacy: 3.0.0 (installed 3.0.0)
  - recommendations: 4.0.0 (installed 4.0.0)
  - related_resources: 2.0.0 (installed 2.0.0)
  - serverinfo: 3.0.0 (installed 3.0.0)
  - sharebymail: 1.21.0 (installed 1.21.0)
  - support: 3.0.0 (installed 3.0.0)
  - survey_client: 3.0.0 (installed 3.0.0)
  - twofactor_nextcloud_notification: 5.0.0 (installed 5.0.0)
  - user_ldap: 1.22.0
  - user_status: 1.11.0 (installed 1.11.0)
  - weather_status: 1.11.0 (installed 1.11.0)
  - webhook_listeners: 1.2.0 (installed 1.2.0)

Unfortunately unless you want to do a backtrace (e.g. PHP-FPM 8.2 SIGSEGV · Issue #16432 · php/php-src · GitHub) it’ll be a guessing game. It’s likely something lower level (outside of Nextcloud itself).

However, a wild guess in your case is that it is this bug (libxml<2.13 segmentation fault caused by php_libxml_node_free · Issue #19098 · php/php-src · GitHub) in PHP 8.4 which is associated with LibXML (libxml2) and likely impacts Debian Trixie since it uses libxml 2.12.7. It’s already fixed in PHP 8.4.12 so I imagine you’ll pick it up when that fix flows through Debian’s packaging and/or if you bump it outside of that via Sury.

1 Like

Oh i wasn’t aware of such a bug, many thx for pointing that out.

Is there some way for testing purpose, to simulate a app update? Maybe by downgrading a app and then updating again?