[10.11.1] Jellyfin segfaults #7596

Closed
opened 2026-02-07 05:13:26 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @tibequadorian on GitHub (Oct 27, 2025).

Description of the bug

Running Jellyfin 10.11.1 with Podman segfaults on my ARM64 machine.
Could not reproduce on my x86_64 machine.
This doesn't happen with 10.11.0.

Reproduction steps

$ podman run --rm docker.io/jellyfin/jellyfin:10.11.1
...
$ echo $?
139

What is the current bug behavior?

Jellyfin stops

What is the expected correct behavior?

Jellyfin runs

Jellyfin Server version

10.11.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

10.11.1

Specify the build version

can't see

Environment

- OS: Debian 13
- Linux Kernel: 6.12.48+deb13-arm64
- Virtualization: Podman
- Clients:
- Browser:
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- GPU Model:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Jellyfin Data Storage:
- Media Storage:
- External Integrations:

Jellyfin logs

[18:48:58] [INF] [4] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache
[18:48:58] [INF] [12] Jellyfin.Server.ServerSetupApp.SetupServer: Kestrel is listening on 0.0.0.0
[18:48:58] [INF] [12] Main: Jellyfin version: 10.11.1
[18:48:58] [INF] [12] Main: Environment Variables: ["[JELLYFIN_DATA_DIR, /config]", "[JELLYFIN_WEB_DIR, /jellyfin/jellyfin-web]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_CONFIG_DIR, /config/config]", "[JELLYFIN_CACHE_DIR, /cache]", "[JELLYFIN_FFMPEG, /usr/lib/jellyfin-ffmpeg/ffmpeg]"]
[18:48:58] [INF] [12] Main: Arguments: ["/jellyfin/jellyfin.dll"]
[18:48:58] [INF] [12] Main: Operating system: Debian GNU/Linux 13 (trixie)
[18:48:58] [INF] [12] Main: Architecture: Arm64
[18:48:58] [INF] [12] Main: 64-Bit Process: True
[18:48:58] [INF] [12] Main: User Interactive: True
[18:48:58] [INF] [12] Main: Processor count: 6
[18:48:58] [INF] [12] Main: Program data path: /config
[18:48:58] [INF] [12] Main: Log directory path: /config/log
[18:48:58] [INF] [12] Main: Config directory path: /config/config
[18:48:58] [INF] [12] Main: Cache path: /cache
[18:48:58] [INF] [12] Main: Temp directory path: /tmp/jellyfin
[18:48:58] [INF] [12] Main: Web resources path: /jellyfin/jellyfin-web
[18:48:58] [INF] [12] Main: Application directory: /jellyfin/
[18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/config/data` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 2GiB.
[18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/config/log` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 512MiB.
[18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/cache` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 2GiB.
[18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/config` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 2GiB.
[18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/tmp/jellyfin` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 512MiB.
[18:48:59] [INF] [12] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache
[18:48:59] [INF] [12] Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider: SQLite connection string: Data Source=/config/data/jellyfin.db;Cache=Default;Pooling=True
[18:48:59] [INF] [12] Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider: SQLITE connection pragma command set to: 
PRAGMA locking_mode=NORMAL;
PRAGMA journal_size_limit=134217728;
PRAGMA synchronous=1;
PRAGMA temp_store=2;

[18:48:59] [INF] [12] Jellyfin.Database.Implementations.Locking.NoLockBehavior: The database locking mode has been set to: NoLock.
[18:48:59] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Initialise Migration service.
[18:48:59] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: System initialisation detected. Seed data.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-CleanMusicArtist.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration ef103419-8451-40d8-9f34-d1a8e93a1679-CreateUserLoggingConfigFile.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 4124c2cd-e939-4ffb-9be9-9b311c413638-DisableTranscodingThrottling.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration cf6fabc2-9fbe-4933-84a5-ffe52ef22a58-FixAudioData.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-FixDates.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 615dfa9e-2497-4dbb-a472-61938b752c5b-FixPlaylistOwner.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 3793eb59-bc8c-456c-8b9f-bd5a62a42978-MigrateActivityLogDb.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 5bd72f41-e6f3-4f60-90aa-09869abe0e22-MigrateAuthenticationDb.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 06387815-c3cc-421f-a888-fb5f9992bea8-MigrateDisplayPreferencesDb.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateKeyframeData.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateLibraryDb.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateLibraryDbCompatibilityCheck.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateLibraryUserData.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateRatingLevels.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 5c4b82a2-f053-4009-bd05-b6fcad82f14c-MigrateUserDb.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MoveExtractedFiles.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-RefreshInternalDateModified.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration a81f75e0-8f43-416f-a5e8-516ccab4d8cc-RemoveDownloadImagesInAdvance.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration acbe17b7-8435-4a83-8b64-6fcf162cb9bd-RemoveDuplicateExtras.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 96c156a2-7a13-4b3b-a8b8-fb80c94d20c0-RemoveDuplicatePlaylistChildren.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-ReseedFolderFlag.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 9b354818-94d5-4b68-ac49-e35cb85f9d84-CreateNetworkConfiguration.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration a8e61960-7726-4450-8f3d-82c12daabbcb-MigrateEncodingOptions.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration a6dcacf4-c057-4ef9-80d3-61cef9ddb4f0-MigrateMusicBrainzTimeout.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 4fb5c950-1991-11ee-9b4b-0800200c9a66-MigrateNetworkConfiguration.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration e73b777d-cd5c-4e71-957a-b86b3660b7cf-RenameEnableGroupingIntoCollections.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Migration system initialisation completed.
[18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: There are 0 migrations for stage PreInitialisation.
[18:49:03] [INF] [12] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache
[18:49:03] [INF] [12] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Defined LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions: []
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Used LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["127.0.0.1", "192.168.157.2"]
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Bind Addresses ["0.0.0.0"]
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Remote IP filter is Allowlist
[18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Filtered subnets: []

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

No response

Originally created by @tibequadorian on GitHub (Oct 27, 2025). ### Description of the bug Running Jellyfin 10.11.1 with Podman segfaults **on my ARM64 machine**. Could not reproduce on my x86_64 machine. This doesn't happen with 10.11.0. ### Reproduction steps ``` $ podman run --rm docker.io/jellyfin/jellyfin:10.11.1 ... $ echo $? 139 ``` ### What is the current _bug_ behavior? Jellyfin stops ### What is the expected _correct_ behavior? Jellyfin runs ### Jellyfin Server version 10.11.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number 10.11.1 ### Specify the build version can't see ### Environment ```markdown - OS: Debian 13 - Linux Kernel: 6.12.48+deb13-arm64 - Virtualization: Podman - Clients: - Browser: - FFmpeg Version: - Playback Method: - Hardware Acceleration: - GPU Model: - Plugins: - Reverse Proxy: - Base URL: - Networking: - Jellyfin Data Storage: - Media Storage: - External Integrations: ``` ### Jellyfin logs ```shell [18:48:58] [INF] [4] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache [18:48:58] [INF] [12] Jellyfin.Server.ServerSetupApp.SetupServer: Kestrel is listening on 0.0.0.0 [18:48:58] [INF] [12] Main: Jellyfin version: 10.11.1 [18:48:58] [INF] [12] Main: Environment Variables: ["[JELLYFIN_DATA_DIR, /config]", "[JELLYFIN_WEB_DIR, /jellyfin/jellyfin-web]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_CONFIG_DIR, /config/config]", "[JELLYFIN_CACHE_DIR, /cache]", "[JELLYFIN_FFMPEG, /usr/lib/jellyfin-ffmpeg/ffmpeg]"] [18:48:58] [INF] [12] Main: Arguments: ["/jellyfin/jellyfin.dll"] [18:48:58] [INF] [12] Main: Operating system: Debian GNU/Linux 13 (trixie) [18:48:58] [INF] [12] Main: Architecture: Arm64 [18:48:58] [INF] [12] Main: 64-Bit Process: True [18:48:58] [INF] [12] Main: User Interactive: True [18:48:58] [INF] [12] Main: Processor count: 6 [18:48:58] [INF] [12] Main: Program data path: /config [18:48:58] [INF] [12] Main: Log directory path: /config/log [18:48:58] [INF] [12] Main: Config directory path: /config/config [18:48:58] [INF] [12] Main: Cache path: /cache [18:48:58] [INF] [12] Main: Temp directory path: /tmp/jellyfin [18:48:58] [INF] [12] Main: Web resources path: /jellyfin/jellyfin-web [18:48:58] [INF] [12] Main: Application directory: /jellyfin/ [18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/config/data` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 2GiB. [18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/config/log` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 512MiB. [18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/cache` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 2GiB. [18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/config` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 2GiB. [18:48:59] [INF] [12] Jellyfin.Server.Startup: Storage path `/tmp/jellyfin` (Fixed) successfully checked with 44.1GiB free which is over the minimum of 512MiB. [18:48:59] [INF] [12] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache [18:48:59] [INF] [12] Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider: SQLite connection string: Data Source=/config/data/jellyfin.db;Cache=Default;Pooling=True [18:48:59] [INF] [12] Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider: SQLITE connection pragma command set to: PRAGMA locking_mode=NORMAL; PRAGMA journal_size_limit=134217728; PRAGMA synchronous=1; PRAGMA temp_store=2; [18:48:59] [INF] [12] Jellyfin.Database.Implementations.Locking.NoLockBehavior: The database locking mode has been set to: NoLock. [18:48:59] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Initialise Migration service. [18:48:59] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: System initialisation detected. Seed data. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-CleanMusicArtist. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration ef103419-8451-40d8-9f34-d1a8e93a1679-CreateUserLoggingConfigFile. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 4124c2cd-e939-4ffb-9be9-9b311c413638-DisableTranscodingThrottling. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration cf6fabc2-9fbe-4933-84a5-ffe52ef22a58-FixAudioData. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-FixDates. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 615dfa9e-2497-4dbb-a472-61938b752c5b-FixPlaylistOwner. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 3793eb59-bc8c-456c-8b9f-bd5a62a42978-MigrateActivityLogDb. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 5bd72f41-e6f3-4f60-90aa-09869abe0e22-MigrateAuthenticationDb. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 06387815-c3cc-421f-a888-fb5f9992bea8-MigrateDisplayPreferencesDb. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateKeyframeData. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateLibraryDb. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateLibraryDbCompatibilityCheck. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateLibraryUserData. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MigrateRatingLevels. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 5c4b82a2-f053-4009-bd05-b6fcad82f14c-MigrateUserDb. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-MoveExtractedFiles. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-RefreshInternalDateModified. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration a81f75e0-8f43-416f-a5e8-516ccab4d8cc-RemoveDownloadImagesInAdvance. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration acbe17b7-8435-4a83-8b64-6fcf162cb9bd-RemoveDuplicateExtras. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 96c156a2-7a13-4b3b-a8b8-fb80c94d20c0-RemoveDuplicatePlaylistChildren. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration null-ReseedFolderFlag. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 9b354818-94d5-4b68-ac49-e35cb85f9d84-CreateNetworkConfiguration. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration a8e61960-7726-4450-8f3d-82c12daabbcb-MigrateEncodingOptions. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration a6dcacf4-c057-4ef9-80d3-61cef9ddb4f0-MigrateMusicBrainzTimeout. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration 4fb5c950-1991-11ee-9b4b-0800200c9a66-MigrateNetworkConfiguration. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Seed migration e73b777d-cd5c-4e71-957a-b86b3660b7cf-RenameEnableGroupingIntoCollections. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: Migration system initialisation completed. [18:49:03] [INF] [12] Jellyfin.Server.Migrations.JellyfinMigrationService: There are 0 migrations for stage PreInitialisation. [18:49:03] [INF] [12] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache [18:49:03] [INF] [12] Emby.Server.Implementations.ApplicationHost: Loading assemblies [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Defined LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions: [] [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Used LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["127.0.0.1", "192.168.157.2"] [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Bind Addresses ["0.0.0.0"] [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Remote IP filter is Allowlist [18:49:03] [INF] [12] Jellyfin.Networking.Manager.NetworkManager: Filtered subnets: [] ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information _No response_
OVERLORD added the bug label 2026-02-07 05:13:26 +03:00
Author
Owner

@tibequadorian commented on GitHub (Nov 3, 2025):

Turns out this is was due to a bug in pgzip on my very specific hardware (ROCKPro64). I fixed it by installing pigz which podman will prefer to pgzip if installed.
Podman gave me errors on podman pull like almost every time:

Error: unable to copy from source docker://ghcr.io/jellyfin/jellyfin:10.11.2: copying system image from manifest list: writing blob: adding layer with blob "sha256:5fc462b172d49ffa71ac6eb7089c116fcdb406432e9b8cff6d7435b82b787a3b"/""/"sha256:4e996d79fa10b2c5fc810189276ecf04d92619e19fc9388c2b73680ba778f911": ApplyLayer stdout: {"layerSize":183821964}
 stderr:  gzip: invalid checksum

I don't know how I managed to pull it in the end but the image was corrupted somehow so jellyfin segfaulted.

Reproduce the error in pgzip:

skopeo copy docker://ghcr.io/jellyfin/jellyfin:10.11.2 dir:jellyfin-image

Copy the layer that fails to extract (in my case 5fc462b172d49ffa71ac6eb7089c116fcdb406432e9b8cff6d7435b82b787a3b)
to a folder.

Put this code inside the folder.

check_checksum.go:

package main

import (
        "io"
        "log"
        "os"

        gzip "github.com/klauspost/pgzip"
)

func main() {
        f, err := os.Open("5fc462b172d49ffa71ac6eb7089c116fcdb406432e9b8cff6d7435b82b787a3b")
        if err != nil {
                log.Fatal(err)
        }
        defer f.Close()

        r, err := gzip.NewReader(f)
        if err != nil {
                log.Fatal(err)
        }
        defer r.Close()

        if _, err := io.Copy(io.Discard, r); err != nil {
                log.Fatal("Checksum failed:", err)
        }

        log.Println("Checksum OK")
}

Test

$ go run check_checksum.go
2025/11/03 14:40:41 Checksum failed:gzip: invalid checksum
exit status 1
$ taskset -c 0 go run check_checksum.go
2025/11/03 14:40:31 Checksum OK

Using multiple cores results in invalid checksum -> there is bug in the parallel implementation

@tibequadorian commented on GitHub (Nov 3, 2025): Turns out this is was due to a bug in pgzip on my very specific hardware (ROCKPro64). I fixed it by installing `pigz` which podman will prefer to `pgzip` if installed. Podman gave me errors on `podman pull` like almost every time: ``` Error: unable to copy from source docker://ghcr.io/jellyfin/jellyfin:10.11.2: copying system image from manifest list: writing blob: adding layer with blob "sha256:5fc462b172d49ffa71ac6eb7089c116fcdb406432e9b8cff6d7435b82b787a3b"/""/"sha256:4e996d79fa10b2c5fc810189276ecf04d92619e19fc9388c2b73680ba778f911": ApplyLayer stdout: {"layerSize":183821964} stderr: gzip: invalid checksum ``` I don't know how I managed to pull it in the end but the image was corrupted somehow so jellyfin segfaulted. ### Reproduce the error in pgzip: ``` skopeo copy docker://ghcr.io/jellyfin/jellyfin:10.11.2 dir:jellyfin-image ``` Copy the layer that fails to extract (in my case `5fc462b172d49ffa71ac6eb7089c116fcdb406432e9b8cff6d7435b82b787a3b`) to a folder. Put this code inside the folder. #### `check_checksum.go`: ``` package main import ( "io" "log" "os" gzip "github.com/klauspost/pgzip" ) func main() { f, err := os.Open("5fc462b172d49ffa71ac6eb7089c116fcdb406432e9b8cff6d7435b82b787a3b") if err != nil { log.Fatal(err) } defer f.Close() r, err := gzip.NewReader(f) if err != nil { log.Fatal(err) } defer r.Close() if _, err := io.Copy(io.Discard, r); err != nil { log.Fatal("Checksum failed:", err) } log.Println("Checksum OK") } ``` Test ``` $ go run check_checksum.go 2025/11/03 14:40:41 Checksum failed:gzip: invalid checksum exit status 1 $ taskset -c 0 go run check_checksum.go 2025/11/03 14:40:31 Checksum OK ``` Using multiple cores results in invalid checksum -> there is bug in the parallel implementation
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#7596