Conversation
The upstream image turns the tracing JIT on for every architecture (opcache.jit=1255, 8M buffer). On aarch64 it segfaults every php-fpm worker once an app install or update replaces files it has already compiled, and the workers keep dying on respawn, so every request 502s until the service is restarted and OPcache is flushed. Reported against this package on StartOS 0.3.5~1 and reproduced upstream (nextcloud/docker#2576, linuxserver/docker-nextcloud#514); the image maintainers consider it a PHP bug and won't change the default. A startos-opcache-jit.ini in conf.d sets opcache.jit=0 and opcache.jit_buffer_size=0. conf.d loads alphabetically, so it lands after opcache-recommended.ini; verified in nextcloud:33.0.8-fpm with the file mounted, php -i reports both as 0. Disabled on every architecture rather than gated on aarch64: Nextcloud gains little from the JIT, and the same tracing JIT has open segfault reports on x86-64 (php/php-src#22084, #22558). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Member
Author
|
Closing — a service restart clears the crash and the app install itself succeeds, so this isn't worth a 0.3.5~1 release for the handful of arm64 servers still on it. The fix ships with the 0.4 package (#156). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Nextcloud on StartOS 0.3.5~1 goes down with 502s after any app install or update on aarch64 and stays down until the service is restarted — reported in the dev room, matches nextcloud/docker#2576 and linuxserver/docker-nextcloud#514 exactly.
The upstream image enables PHP's tracing JIT on every architecture (
opcache.jit=1255). On aarch64 it segfaults every php-fpm worker once an app install/update replaces files it has already compiled; respawned workers die too, so every request 502s until a restart flushes OPcache. The image maintainers consider it a PHP bug and won't change the default.Dockerfile: writesstartos-opcache-jit.iniinto$PHP_INI_DIR/conf.dwithopcache.jit=0andopcache.jit_buffer_size=0. conf.d loads alphabetically, so it lands after upstream'sopcache-recommended.ini— verified innextcloud:33.0.8-fpmwith the file mounted:php -ireports both as0.manifest.yaml:33.0.8→33.0.8.1, release note added.scripts/services/migrations.ts:currentbumped, no-op33.0.8.1entry, same as prior wrapper revisions.Disabled on every architecture rather than gated on aarch64: Nextcloud gains little from the JIT, and the same tracing JIT has open segfault reports on x86-64 (php/php-src#22084, #22558).
@Dominion5254 — this needs to go out to the 0.3.5~1 registry; CI doesn't build PRs against this branch, so it needs a manual build + publish. The same fix for 0.4 is in the companion PR against
master.🤖 Generated with Claude Code