If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.
SENTRY EVENT
Version Number: 9.4.67 / 9.4.68 / 9.4.69
Reproducible in staging?: Needs to be confirmed
Reproducible in production?: Yes — crash is live in production
If this was caught during regression testing, add the test name, ID and link from BrowserStack: N/A — found via Sentry production crash scan
Email or phone of affected tester (no customers): N/A
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause / Sentry production crash scan
Slack conversation (hyperlinked to channel name): N/A
Action Performed:
- Open the Expensify app on iOS (HybridApp build).
- Use the app until a screen backed by a
WKWebView loads, then navigate back and forward between web-backed screens.
- Keep the session going for a few minutes.
Expected Result:
Navigation works and the app stays up.
Actual Result:
The app crashes on the main thread with EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x100000001.
The crashing thread is inside WebKit IPC: WebKit::WebProcessProxy::didReceiveMessage → WebKit::WebBackForwardList::didReceiveMessage → IPC::Decoder::decode → WTF::AtomStringImpl::addSlowCase / WTF::StringImpl::hashSlowCase. The web process sends a back/forward list update and decoding it dereferences a bad string pointer.
Workaround:
Unknown. The app must be relaunched.
Platforms:
Select the officially supported platforms where the issue was reproduced:
Screenshots/Videos
Sentry details
Sentry issue: https://expensify.sentry.io/issues/APP-2SC
Impact (snapshot at filing, 2026-09-03):
- Users (total since first seen): 44
- Events (total): 176
- Users in scanned releases (9.4.67–9.4.69): 1
- First seen: 2025-12-11
- Last seen: ongoing
- Platform: iOS native (HybridApp,
com.expensify.expensifylite), iOS 26.x
- Mechanism:
mach, level fatal
- Seer actionability: medium
Stack trace (crashing thread, top frames):
main
UIApplicationMain
-[UIApplication _run]
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
IPC::Connection::dispatchIncomingMessages
IPC::Connection::dispatchMessage
WebKit::WebProcessProxy::didReceiveMessage
WebKit::WebBackForwardList::didReceiveMessage
IPC::Decoder::decode<T>
WTF::AtomStringImpl::addSlowCase
WTF::StringImpl::hashSlowCase
Suspected cause: the crash is in WebKit's back/forward list IPC decoding, with no Expensify frames on the crashing thread. Likely a WKWebView that is used or released across threads, or a web view kept alive past its owning controller. Symbolicated Expensify frames are missing, so the first step is finding which web-backed screen is on top when it fires.
View all open jobs on GitHub
Issue Owner
Current Issue Owner: @jmusial
If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.
SENTRY EVENT
Version Number: 9.4.67 / 9.4.68 / 9.4.69
Reproducible in staging?: Needs to be confirmed
Reproducible in production?: Yes — crash is live in production
If this was caught during regression testing, add the test name, ID and link from BrowserStack: N/A — found via Sentry production crash scan
Email or phone of affected tester (no customers): N/A
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause / Sentry production crash scan
Slack conversation (hyperlinked to channel name): N/A
Action Performed:
WKWebViewloads, then navigate back and forward between web-backed screens.Expected Result:
Navigation works and the app stays up.
Actual Result:
The app crashes on the main thread with
EXC_BAD_ACCESS/KERN_INVALID_ADDRESS at 0x100000001.The crashing thread is inside WebKit IPC:
WebKit::WebProcessProxy::didReceiveMessage→WebKit::WebBackForwardList::didReceiveMessage→IPC::Decoder::decode→WTF::AtomStringImpl::addSlowCase/WTF::StringImpl::hashSlowCase. The web process sends a back/forward list update and decoding it dereferences a bad string pointer.Workaround:
Unknown. The app must be relaunched.
Platforms:
Select the officially supported platforms where the issue was reproduced:
Screenshots/Videos
Sentry details
Sentry issue: https://expensify.sentry.io/issues/APP-2SC
Impact (snapshot at filing, 2026-09-03):
com.expensify.expensifylite), iOS 26.xmach, levelfatalStack trace (crashing thread, top frames):
Suspected cause: the crash is in WebKit's back/forward list IPC decoding, with no Expensify frames on the crashing thread. Likely a
WKWebViewthat is used or released across threads, or a web view kept alive past its owning controller. Symbolicated Expensify frames are missing, so the first step is finding which web-backed screen is on top when it fires.View all open jobs on GitHub
Issue Owner
Current Issue Owner: @jmusial