Pumpkin-MC/Pumpkin · error · TextureError
Failed to parse JSON from player texture
Error message
Failed to parse JSON from player texture: {0} What it means
Thrown by TextureError in the Mojang authentication flow when the base64-decoded player texture payload cannot be parsed as JSON, i.e. the textures property in the authenticated game profile is corrupt or not a valid JSON object.
Solutions
- Continue login with default textures
- Log the JSON parse error with the player name for diagnosis
- Validate the decoded payload against the texture JSON schema
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/pumpkin/src/net/authentication.rs:421 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of Pumpkin-MC/Pumpkin@8d4639e25a (2026-09-09).
Data as JSON: /api/errors/eb5047d8afe70294.
Report an issue: GitHub.
Appendix: source
Thrown at crates/pumpkin/src/net/authentication.rs:421
#[error("You have disallowed actions from Authentication servers")]
DisallowedAction,
#[error("Failed to parse JSON into Game Profile")]
FailedParse,
#[error("Unknown Status Code {0}")]
UnknownStatusCode(StatusCode),
}
#[derive(Error, Debug)]
pub enum TextureError {
#[error("Invalid URL")]
InvalidURL,
#[error("Invalid URL scheme for player texture: {0}")]
DisallowedUrlScheme(String),
#[error("Invalid URL domain for player texture: {0}")]
DisallowedUrlDomain(String),
#[error("Failed to decode base64 player texture: {0}")]
DecodeError(String),
#[error("Failed to parse JSON from player texture: {0}")]
JSONError(String),
}
#[cfg(test)]
mod tests {
use super::ProfileTextures;
// Third-party auth servers (drasl, Blessing Skin, littleskin.cn) don't send
// `signatureRequired`. The profile must still parse. See issue #301.
#[test]
fn parses_profile_without_signature_required() {
let json = r#"{
"timestamp": 0,
"profileId": "069a79f444e94726a5befca90e38aaf5",
"profileName": "Notch",
"textures": {}
}"#;
let profile: ProfileTextures =View on GitHub (pinned to 8d4639e25a)