The anisette server was serving unprovisioned data, so Apple rejected the login. Root cause: the plist-d C binding dlopens libplist-2.0.so.3 at runtime via dynamic-loader, but it was not in the package closure. The provisioning step threw LibraryLoadingException (swallowed by the server's empty catch block) and the server served invalid anisette data.
Wrap the binary with LD_LIBRARY_PATH pointing at libplist (it is dlopen'd, not linked, so buildInputs alone does not put it in the closure)
Verified: provisioning now logs "Provisioning done!" and the package closure includes libplist
Diagnosis used a temporary patch to log the swallowed exception (removed in this PR).
The anisette server was serving unprovisioned data, so Apple rejected the login. Root cause: the plist-d C binding dlopens libplist-2.0.so.3 at runtime via dynamic-loader, but it was not in the package closure. The provisioning step threw LibraryLoadingException (swallowed by the server's empty catch block) and the server served invalid anisette data.
- Wrap the binary with LD_LIBRARY_PATH pointing at libplist (it is dlopen'd, not linked, so buildInputs alone does not put it in the closure)
- Verified: provisioning now logs "Provisioning done!" and the package closure includes libplist
Diagnosis used a temporary patch to log the swallowed exception (removed in this PR).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The anisette server was serving unprovisioned data, so Apple rejected the login. Root cause: the plist-d C binding dlopens libplist-2.0.so.3 at runtime via dynamic-loader, but it was not in the package closure. The provisioning step threw LibraryLoadingException (swallowed by the server's empty catch block) and the server served invalid anisette data.
Diagnosis used a temporary patch to log the swallowed exception (removed in this PR).