Skip to content

Exporter: 1.4.0 #168

Closed
Closed

Description

@fabiopedrosa

How are you running it?

The window, from a downloaded release

Version, or commit

1.4.0

Operating system

Windows

Which route?

Signing in to iCloud

What happened

Get an error after i do 2FA

The log

2026-08-30 00:14:22,594 INFO     exporter.version: OpenTagViewer exporter 1.4.0
2026-08-30 00:14:22,594 WARNING  exporter.privacy: ========================================================================================
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   This log is for debugging and is NOT safe to publish as-is.
2026-08-30 00:14:22,594 WARNING  exporter.privacy: 
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   It names your devices by name, model and serial, records keychain item attributes
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   as Apple stores them, and identifies every device in your account's trust circle.
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   No key, password or passcode is written here, and payloads appear only as byte
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   counts - but nothing can promise a given identifier never appears, because the text
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   comes from a library reading Apple's own structures.
2026-08-30 00:14:22,594 WARNING  exporter.privacy: 
2026-08-30 00:14:22,594 WARNING  exporter.privacy:   READ THIS FILE AND REMOVE ANYTHING THAT IDENTIFIES YOU BEFORE SENDING IT ANYWHERE.
2026-08-30 00:14:22,594 WARNING  exporter.privacy: ========================================================================================
2026-08-30 00:14:22,594 INFO     __main__: Starting OpenTagViewer AirTag Exporter 1.4.0
2026-08-30 00:15:01,521 INFO     findmy.reports.account: Attempting authentication for user fabi...@gmail.com
2026-08-30 00:15:01,545 INFO     findmy.reports.anisette: The Anisette engine will download libraries required for operation, this may take a few seconds...
2026-08-30 00:15:01,546 INFO     findmy.reports.anisette: To speed up future local Anisette initializations, provide a filesystem path to load the libraries from.
2026-08-30 00:15:01,957 INFO     anisette.anisette: Provisioning...
2026-08-30 00:15:04,441 INFO     findmy.reports.account: Detected 2FA requirement: trustedDeviceSecondaryAuth
2026-08-30 00:15:04,441 INFO     findmy.reports.account: Transitioning login state: LoginState.LOGGED_OUT -> LoginState.REQUIRE_2FA
2026-08-30 00:15:17,155 INFO     findmy.reports.account: Attempting authentication for user fabi@gmail.com
2026-08-30 00:15:17,663 ERROR    __main__: Reading accessories failed
Traceback (most recent call last):
  File "wizard.py", line 349, in _load
  File "exporter/asyncui.py", line 153, in run_with_progress
  File "exporter/asyncui.py", line 111, in _work
  File "asyncio/runners.py", line 196, in run
  File "asyncio/runners.py", line 119, in run
  File "asyncio/base_events.py", line 726, in run_until_complete
  File "wizard.py", line 443, in _read_icloud
  File "exporter/icloud.py", line 397, in log_in
  File "exporter/icloud.py", line 442, in _submit_code_with_retries
  File "findmy/reports/twofactor.py", line 223, in submit
  File "findmy/reports/account.py", line 996, in td_2fa_submit
  File "findmy/reports/account.py", line 1443, in _gsa_authenticate
  File "findmy/reports/account.py", line 1651, in _gsa_request
findmy.errors.UnhandledProtocolError: Error response for GSA request: 503

Before you post

  • I have read the log and taken out anything personal I did not want public.

Activity

  1. added
    bugSomething isn't working
    @exporter-toolIssues regarding the desktop export tool (wizard and CLI)
    on Aug 29, 2026
  2. parawanderer commented on Aug 30, 2026

    @parawanderer
    Owner

    findmy.errors.UnhandledProtocolError: Error response for GSA request: 503

    From empirical testing, this looks like the Apple login server having a temporary issue. Just try logging in again from scratch.

    For me, I just had this experience:

    1. Logged in (username & password) -> saw 2FA devices -> chose a 2FA device -> got a code -> entered the code -> got this issue Error response for GSA request: 503
    2. Tried logging in again from scratch: some login related error about wrong password (the password wasn't wrong; probably Apple throttling the account or machine identity?)
    3. Did the first thing again and this time 2FA succeeded.

    What I will do with this is create a fix that handles this in a more intuitive way by making this logic above the instruction for what you should do next.

  3. added a commit that references this issue on Aug 30, 2026
  4. crishpeen commented on Sep 2, 2026

    @crishpeen

    Hey @parawanderer, I keep getting this error and i can log in. I tried all 2fa methods, tried to clear up the device-identity.json etc.

    It is exactly the same error as the original issue here, if I should open new issue, let me know, thanks!

    Version 1.4.1, MacBook m5 pro

    2026-09-02 21:43:34,826 INFO     findmy.reports.account: Attempting authentication for user crishpeen@gmail.com
    2026-09-02 21:43:34,853 INFO     findmy.reports.anisette: The Anisette engine will download libraries required for operation, this may take a few seconds...
    2026-09-02 21:43:34,853 INFO     findmy.reports.anisette: To speed up future local Anisette initializations, provide a filesystem path to load the libraries from.
    2026-09-02 21:43:37,625 INFO     findmy.reports.account: GSA authentication successful
    2026-09-02 21:43:37,625 INFO     findmy.reports.account: Transitioning login state: LoginState.LOGGED_OUT -> LoginState.AUTHENTICATED
    2026-09-02 21:43:37,625 INFO     findmy.reports.account: Logging into com.apple.mobileme
    2026-09-02 21:43:38,456 INFO     findmy.reports.account: Transitioning login state: LoginState.AUTHENTICATED -> LoginState.LOGGED_IN
    2026-09-02 21:43:38,470 INFO     findmy.cloudkit.client: Opening CloudKit container com.apple.icloud.searchparty
    2026-09-02 21:43:39,046 INFO     findmy.reports.account: Re-authenticating to obtain a fresh PET
    2026-09-02 21:43:39,046 INFO     findmy.reports.account: Attempting authentication for user crishpeen@gmail.com
    2026-09-02 21:43:39,345 ERROR    __main__: Reading accessories failed
    Traceback (most recent call last):
      File "wizard.py", line 319, in _load
      File "exporter/asyncui.py", line 153, in run_with_progress
      File "exporter/asyncui.py", line 111, in _work
      File "asyncio/runners.py", line 196, in run
      File "asyncio/runners.py", line 119, in run
      File "asyncio/base_events.py", line 726, in run_until_complete
      File "wizard.py", line 446, in _read_icloud
      File "exporter/icloud.py", line 452, in open_client
      File "findmy/keychain/session.py", line 271, in open
      File "findmy/reports/account.py", line 1034, in request_pet
      File "findmy/reports/account.py", line 1406, in _gsa_authenticate
      File "findmy/reports/account.py", line 1635, in _gsa_request
    findmy.errors.UnhandledProtocolError: Error response for GSA request: 503
    
  5. parawanderer commented on Sep 12, 2026

    @parawanderer
    Owner

    @fabiopedrosa @crishpeen — could you both try signing in again and say whether this still happens?

    Asking because the picture is unclear. Five people have reported this 503 and only I have confirmed it clearing. @crishpeen, your report says the opposite: every attempt, every 2FA method, device-identity.json cleared. If that is still the case for you, this is not the transient outage it looks like from the other reports, and the difference matters for what we do about it.

    What is useful to know:

    • whether it fails now, on 1.4.1
    • if it worked, roughly how long after the first failure
    • if it still fails, the last twenty lines of the log — the traceback names which call it died on, and yours died on a different one from everyone else's

    @crishpeen, to answer your question: no need for a new issue, #176 and #181 are the same thing and this thread is fine.

    For what it is worth, your log shows the sign-in itself succeeding — GSA authentication successful, then LOGGED_IN — and only the request_pet call afterwards getting the 503. Nothing is wrong with your password.

    Interactively co-authored by Claude Code and @parawanderer

  6. crishpeen commented on Sep 12, 2026

    @crishpeen

    @fabiopedrosa @crishpeen — could you both try signing in again and say whether this still happens?

    Asking because the picture is unclear. Five people have reported this 503 and only I have confirmed it clearing. @crishpeen, your report says the opposite: every attempt, every 2FA method, device-identity.json cleared. If that is still the case for you, this is not the transient outage it looks like from the other reports, and the difference matters for what we do about it.

    What is useful to know:

    • whether it fails now, on 1.4.1
    • if it worked, roughly how long after the first failure
    • if it still fails, the last twenty lines of the log — the traceback names which call it died on, and yours died on a different one from everyone else's

    @crishpeen, to answer your question: no need for a new issue, #176 and #181 are the same thing and this thread is fine.

    For what it is worth, your log shows the sign-in itself succeeding — GSA authentication successful, then LOGGED_IN — and only the request_pet call afterwards getting the 503. Nothing is wrong with your password.

    Interactively co-authored by Claude Code and @parawanderer

    AttributeError: module 'secrets' has no attribute 'choice' (consider renaming '/Users/<USER>/Documents/Codex/2026-09-12/https-github-com-parawanderer-opentagviewer-pull/work/OpenTagViewer/python/exporter/secrets.py' since it has the same name as the standard library module named 'secrets' and prevents importing that standard library module)
    2026-09-12 22:54:12,871 INFO     exporter.version: OpenTagViewer exporter 1.4.1 (from source, 3a70a20)
    2026-09-12 22:54:12,872 WARNING  exporter.privacy: ========================================================================================
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   This log is for debugging and is NOT safe to publish as-is.
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   It names your devices by name, model and serial, records keychain item attributes
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   as Apple stores them, and identifies every device in your account's trust circle.
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   No key, password or passcode is written here, and payloads appear only as byte
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   counts - but nothing can promise a given identifier never appears, because the text
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   comes from a library reading Apple's own structures.
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:
    2026-09-12 22:54:12,872 WARNING  exporter.privacy:   READ THIS FILE AND REMOVE ANYTHING THAT IDENTIFIES YOU BEFORE SENDING IT ANYWHERE.
    2026-09-12 22:54:12,872 WARNING  exporter.privacy: ========================================================================================
    2026-09-12 22:54:12,872 INFO     __main__: Starting OpenTagViewer AirTag Exporter 1.4.1
    2026-09-12 22:54:29,663 INFO     findmy.reports.account: Attempting authentication for user <EMAIL REDACTED>
    2026-09-12 22:54:29,688 INFO     findmy.reports.anisette: The Anisette engine will download libraries required for operation, this may take a few seconds...
    2026-09-12 22:54:29,688 INFO     findmy.reports.anisette: To speed up future local Anisette initializations, provide a filesystem path to load the libraries from.
    2026-09-12 22:54:30,304 INFO     anisette.anisette: Provisioning...
    2026-09-12 22:54:32,255 INFO     __main__: Apple declined the request: The Grand Slam request was refused with HTTP 503. This is Apple declining to serve the request rather than a response this library cannot read, and it usually clears on its own -- wait and try again.
    2026-09-12 22:54:59,969 INFO     findmy.reports.account: Attempting authentication for user <EMAIL REDACTED>
    2026-09-12 22:54:59,996 INFO     findmy.reports.anisette: The Anisette engine will download libraries required for operation, this may take a few seconds...
    2026-09-12 22:54:59,997 INFO     findmy.reports.anisette: To speed up future local Anisette initializations, provide a filesystem path to load the libraries from.
    2026-09-12 22:55:00,520 INFO     anisette.anisette: Provisioning...
    2026-09-12 22:55:02,132 INFO     __main__: Apple declined the request: The Grand Slam request was refused with HTTP 503. This is Apple declining to serve the request rather than a response this library cannot read, and it usually clears on its own -- wait and try again.
    2026-09-12 22:55:15,396 INFO     findmy.reports.account: Attempting authentication for user <EMAIL REDACTED>
    2026-09-12 22:55:15,420 INFO     findmy.reports.anisette: The Anisette engine will download libraries required for operation, this may take a few seconds...
    2026-09-12 22:55:15,421 INFO     findmy.reports.anisette: To speed up future local Anisette initializations, provide a filesystem path to load the libraries from.
    2026-09-12 22:55:15,939 INFO     anisette.anisette: Provisioning...
    2026-09-12 22:55:17,548 INFO     __main__: Apple declined the request: The Grand Slam request was refused with HTTP 503. This is Apple declining to serve the request rather than a response this library cannot read, and it usually clears on its own -- wait and try again.
    2026-09-12 22:57:15,012 WARNING  exporter.privacy: ========================================================================================
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   This log is for debugging and is NOT safe to publish as-is.
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   It names your devices by name, model and serial, records keychain item attributes
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   as Apple stores them, and identifies every device in your account's trust circle.
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   No key, password or passcode is written here, and payloads appear only as byte
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   counts - but nothing can promise a given identifier never appears, because the text
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   comes from a library reading Apple's own structures.
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:
    2026-09-12 22:57:15,012 WARNING  exporter.privacy:   READ THIS FILE AND REMOVE ANYTHING THAT IDENTIFIES YOU BEFORE SENDING IT ANYWHERE.
    2026-09-12 22:57:15,012 WARNING  exporter.privacy: ========================================================================================
    
  7. parawanderer commented on Sep 13, 2026

    @parawanderer
    Owner

    Cause found, and fixed. Apple's edge refuses any Grand Slam request whose X-MMe-Client-Info names com.apple.dt.Xcode, before any credential is examined — it returns a 190-byte HTML page from Server: Apple rather than a GSA plist, which reaches clients as HTTP 503 and reads like an outage. Reporting the client as com.apple.akd instead, which is the daemon that actually performs this request on macOS, is answered normally.

    Nothing to do with your account, your password, your network or your setup. It broke for everyone at once.

    Verified here end to end: a sign-in that had failed for days now completes. The fix is a single header value, and it is on its way into the app and the exporter.

    Not our diagnosis — AltStore found it in altstoreio/AltStore#1790, shipped in AltServer 1.7.6. The same block took out SideStore, Macless Haystack and OpenBubbles. Upstream fix for the library this app uses: malmeloo/FindMy.py#271.

    Apologies for the delay, and for the earlier suggestion that a bug report was needed — 1.1.0 already stops treating this as one.

    Interactively co-authored by Claude Code and @parawanderer

  8. crishpeen commented on Sep 17, 2026

    @crishpeen

    Cause found, and fixed. Apple's edge refuses any Grand Slam request whose X-MMe-Client-Info names com.apple.dt.Xcode, before any credential is examined — it returns a 190-byte HTML page from Server: Apple rather than a GSA plist, which reaches clients as HTTP 503 and reads like an outage. Reporting the client as com.apple.akd instead, which is the daemon that actually performs this request on macOS, is answered normally.

    Nothing to do with your account, your password, your network or your setup. It broke for everyone at once.

    Verified here end to end: a sign-in that had failed for days now completes. The fix is a single header value, and it is on its way into the app and the exporter.

    Not our diagnosis — AltStore found it in altstoreio/AltStore#1790, shipped in AltServer 1.7.6. The same block took out SideStore, Macless Haystack and OpenBubbles. Upstream fix for the library this app uses: malmeloo/FindMy.py#271.

    Apologies for the delay, and for the earlier suggestion that a bug report was needed — 1.1.0 already stops treating this as one.

    Interactively co-authored by Claude Code and @parawanderer

    hey, I'm just confirming that the fix worked for me. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    @exporter-toolIssues regarding the desktop export tool (wizard and CLI)bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions