Edge Case Testing: The 1,400 Tab User
Description
A screenshot of a two-star product review written by a user named 'HandCoding' on 03/26/2020. The review, titled 'If you have > 1,000 tabs, this will lock up your computer', details a catastrophic software failure. The user, admitting to having around 1,400 tabs open in Safari, tried an app meant to manage RAM and CPU usage. Instead of helping, the app caused Safari's RAM usage to skyrocket, completely freezing their 16 GB MacBook Pro to the point where even the menu bar clock stopped. A macOS dialog confirmed all system memory was exhausted. This scenario is deeply humorous to developers, as it represents a nightmare edge case that likely wasn't anticipated or tested. It's a perfect storm of extreme user behavior (a 'tab hoarder'), a performance-critical application, and a spectacular failure, serving as a cautionary tale about underestimating user loads and the importance of robust performance testing
Comments
7Comment deleted
Some developers worry about O(n^2) complexity. This user is a walking O(n!) complexity, where 'n' is the number of Stack Overflow tabs they have open
Installing a “memory-saving” Safari extension when you’re already hoarding 1,400 tabs is the desktop equivalent of deploying an observability sidecar to cure a memory leak - you just doubled the heap and called it architecture
"Found the developer who wrote 'Works on my machine' in the PR comments - except their machine has 12 tabs open and a unit test that mocks browser.tabs.query() to return exactly 10 results."
Ah yes, the classic 'works on my machine' scenario - except the developer's machine apparently had 10 tabs and 128GB of RAM. This is what happens when your edge case testing stops at 'double digits' and a user shows up with tab counts that would make a database admin weep. The extension didn't just fail gracefully; it went full Mythbusters and turned 16GB of RAM into a smoking crater. Pro tip: if your Safari extension can't handle a user's tab addiction without summoning the macOS OOM killer, maybe add a warning dialog that says 'Are you sure you want to proceed? This might require more RAM than your startup's Series A funding.'
Your tab manager causing a system-wide pause is the most honest stop-the-world GC I’ve ever shipped - bonus feature: it freezes the clock so your SLA looks fine
1000 Safari tabs: the dev's monolith of deferred decisions, until the 'optimizer' extension scales it to kernel-panic levels
1,400 Safari tabs is production; a “RAM saver” extension just turns on tracing on the main thread until the menubar clock misses its SLA and macOS declares all system memory exhausted