Hacker News new | past | comments | ask | show | jobs | submit login
Google search was giving errors when searching “how many emojis on iOS” (google.co.nz)
473 points by wfme on Oct 16, 2022 | hide | past | favorite | 141 comments




Has anyone screenshoted this? For those of us who came late to the party.


Yes, here you go: https://imgur.com/a/c9a7VQD



Interesting.

"how many emojis on ios" - error

"how many emojis on apple" - error

"how many emojis on windows" - error

"how many emojis on macos" - working

"how many emojis on lumia" - error

"how many emojis lumia" - error

"how many emojis on linux" - working

"how many ios emoji" - working (albeit slowly)

"how many emojis on messages ios" - working

"how many emojis on ipados" - working

"how many emojis in ios" - error

"how many emojis inside ios" - error

"ios number of emojis" - working

"how many emojis on i" - working

"how many emojis on ios has" - error

"how many emojis on ios has does" - error

"how many emojis on ios has does how has does how has does how" - error

I'd hazard that a specific web page appearing in the results is probably causing this error - I would be very curious to find out which page this is.

Edit: Yep, a specific .com site seems to be causing it:

"how many emojis on ios site:com" - error

"how many emojis on ios site:aero" - works


It seems that this site (emojipedia.org) broke the Google.

"how many emojis on ios -inurl:emojipedia.org"

trying to exclude other sites does not work:

how many emojis on ios -inurl:cnet.com

how many emojis on ios -inurl:wikipedia.org


My guess is that it will be a problem with handling Unicode in some way. There will be a page on emojipedia with some Unicode emojis in the title or description that Google can’t handle while trying to extract the text to display a result.


I'm curious if we can weaponize this to take down google. lol.

Not that we should... but curiosity does lead to some interesting finds sometimes.


It's the opposite. You can weaponize it to kill other sites SEO by spamming the offending emoji in them.


It's both. A broken Google result page is a lost opportunity for ad revenue for Google.


> curious if we can weaponize this to take down google. lol.

I was thinking more of accessing the Google search binary or source code.


> Not that we should

relax with the disclaimers, I think we're all on the same side.


>Unicode emojis in the title or description

or url, or some other edge case like https://daniel.haxx.se/blog/2022/10/14/there-is-a-tab-in-my-...


searching for "emojipedia.com" breaks it

https://www.google.com/search?q=emojipedia.com


I can't reproduce this one, i.e. this url works fine for me.

At the same time I can reproduce the results from the grandparent comment.


I can reproduce that. Interesting, because the .com site redirects to the .org, and saearching for the org site on Google does not cause the error.


Yes, however searching for ““emojipedia.com””(quoted exact search) does work.


This site is on multiple domains, so you can try excluding emojipedia entirely (org,com). Works perfectly:

how many emojis on ios -emojipedia


how many emojis on ios inurl:emojipedia.org

is slow, but works, while

how many emojis on ios

still does not work.


Maybe it's multiple sites that would individually just cause a slowdown but together push it over the edge?

After all (at least for me) it doesn't crash immediately but it more seems to throw an error after a timeout because it keeps loading without result.


I wonder what's so special about that site that is able to break/timeout Google's index


Maybe they broke the back button so hard that even the google bot can't get out?


Probably a Unicode character whose bytes are misinterpreted by some weakly typed C++ or Java code.


why does it break when using "how many emojis on ios before:1969-12-31" though? what's the website emojipedia got to do with unix epoch time?


I don't think this filter works correctly since no record existed before that, so google still returns emojipedia result.

Check:

https://www.google.com/search?q=google%20before%3A1969-12-31

this one works:

https://www.google.com/search?q=google+before%3A2006-12-31


I think the .com version breaks it.


pretty clever narrowing down of the problem, well done


"How many emoji on ios" works.

Wonder why "emojis" itself throws an error? I would expect the query understanding model to have the same result for the singular and plural forms


> Yep, a specific .com site seems to be causing it:

If you add a start date filter (even since 2000 years ago) it will work.


Pre 1968 doesn't work


can't reproduce your results. works for me..


org - error

io, net, ru - ok


After seeing this, I can't be the only one who got curious as to how many emojis there actually are on iOS.

Obviously, a quick google doesn't work right now.

So I did this to try to figure out: emojipedia.org, the site that supposedly breaks google, has a page that appears to show all the available emojis on iOS [1]. On this page, all except the first 21 emojis are displayed in a way that uses lazy loading of the images. These images are contained in <li class="lazyparent"> elements. Assuming that there are no other <li class="lazyparent"> elements on the page, we should get the number of emojis on iOS simply by counting those elements.

Opening up the console and running

  document.getElementsByClassName('lazyparent').length
gives us 4037. So the total number of emojis on iOS should be 4037 + 21 = 4058. If the above method is correct, that is.

[1] https://emojipedia.org/apple/


You can also use `querySelectorAll` and also pass parent’s selector. Didn’t get to post while I was back at computer, so can’t recall exact selector, but number was same


Congratulations, your sentence "So the total number of emojis on iOS should be 4037 + 21 = 4058" is now used in the Google results.


I think my favorite part is that this is so outrageously unheard of that the error isn't even CSS-styled correctly. Zero left margin, just up against the edge of the window. Nobody even thinks about this case of an error being displayed because it's so rare.


It also makes me think that there's probably broken ownership of the plumbing around the obviously-novel routing/layout/presentation path taken when this error is shown.

A while back while poking around I landed on an interstitial page of some kind using an old 2005-era Google logo, which was cute. Obviously nobody'd noticed and submitted the page in question to whatever bit of internal gunk was presumably used to track where the logo needed updating.

But that makes me wonder - the glitch I saw was a platform-level thing easily missed - but is Search that much of a vast, not-particularly-cohesively-integrated expanse too?


Can't be that unheard of. Here it is in 2020 https://support.google.com/websearch/thread/29809009/google-...


Given amount of searches, your counterexample being from 2020 seems to be just proving the point.

But I would imagine in most cases, when there's backend error you could fall back on some simpler engine and display that without user having any clue.


All I can think about is the poor oncall engineer waking up to a latency alarm on a saturday night.


My prediction is that engineers at Google will have been notified via Hacker News well before any internal system notifies them.


Not for 500s on the main search page. That'll trip a monitor; they're supposed to be rarer than helium.


Ya somebody is getting paged right now.


and "ranked down"


Curious: are engineers at Google punished for mistakes? If so, in which cases?


No. That is insane to even think about. Google practices blameless postmortem processes that focuses on avoiding repeat incidents and fixing processes. This is not just something we write down in books but something we do on a daily basis and believe in it.

The only way I can think of someone being punished is, of course, it was maliciously done.

Disclaimer: I am a Google SRE, opinions my own, not an official comment.


Thank you for the clarification!


Google has offices in many timezones.


But the emoji search addin feature will be developed by a team in mountain view... So if emergency code changes need to be made for this bug HN has just found, they will still be woken up.


Possibly, but probably not. Google tends to have follow-the-sun rotations staffed by SRE as the first line of defense, with an escalation path to devs if necessary.

SREs may not have intricate knowledge of the code but they have an array of tools that can mitigate problems, and they're software engineers too, so they can debug this themselves if need be. Their focus however won't be on fixing the bug, it will be on stopping the bleeding. Typically they'll check if this is an issue introduced in a recent rollout and roll that back. In the case of Search they also have an array of tactical tools - someone mentioned that a specific website was causing this, they probably have a way to quickly and temporarily delist this specific result.

The focus will be on recovering ASAP, figuring out the details and the long-term fix later. That later can be during business hours on Monday.


Any major product at Google has an on-call team with offices in multiple time zones. Typically, two engineers from different time zones will be on-call at any given time—they switch back and forth between primary and secondary, so nobody is primary on-call during the middle of the night, local time.

For example, you might have an SRE team in Mountain View, and an SRE team in Dublin. Maybe the engineer in Mountain View is primary on-call until midnight, and then it switches to the engineer in Dublin, who starts their shift at 8:00 AM.

If it’s getting code changes, it’s not getting code changes right now. The software engineers may be in Mountain View, but they won’t patch this and push out a new version during the night. Someone (read: an SRE) may change a configuration or push out a temporary fix now, and any code changes will only go out after significant testing. Generally speaking, you don’t hotfix high-profile production services. You rollback, you set up filters, you disable features, you turn off component services, you run in a degraded capacity—but if you want to actually change the code, you take your time and do it right. Rushing out a code change in the middle of the night is liable to make things worse, and nobody wants to do it.


For the right definition of "major". Search, Ads, GMail, Docs, absolutely. If you only have 50 million DAU then you may not even have an SRE let alone one in multiple time-zones. Most teams have an on-call rotation and you get a phone-call an hour after you fall asleep unless you recently did a push or go to bed early. (Or you just forget all the pages that happened during normal hours and only remember the annoying ones.)


It really depends on what is happening behind the scenes. Is it killing an entire server process or just an error in a single thread? Even if it kills an entire server process, Google has lots of these running and the ratio may not be high enough to page.


That depends, I don't think that there needs to be anything emoji specific (at the character level). It could be a special handler for inline results, marketing filters, etc that's gated on some variation of that string.

Might be worth seeing if there's another "how many X on iOS" that faults as well, because I would be that it reports an ISE on timeouts, and you could easily imagine some service making a follow on request that now times out.


It's likely that there is some tool for blocking or rewriting certisn queries or results that trigger errors so that the code changes can be made with less rush, more testing and during business hours.


Why do you think so? Lots of important systems are developed in European offices at least, I wouldn't be surprised if some are in Asia as well. It isn't like Google search is only in MTV.


How do you know?


In some Sunday is a work day but not the most..


I already reported this bug a couple days ago based on a similar query that a friend of mine to dome about.



This looks like a timeout.

- same request with "s" removed from "emojis": works, but in 5.03 seconds (!)

- "how many emoji symbols on ios": 1.37 seconds

Other modifications further decrease the request time.


It blows my mind that after a decade or so of dominance, they don't have a fast 'fail and remove from results' implemented.


Of course they do, every large search implementation has done that if a node times out, since the 90's.

Something unusual about this query evidently triggered a bug in the somewhere. We will probably never know the specifics.


That's a great way to remove work for engineers, bit it's not a solution


Or they do have handling for errors and the extra code did not handle all types of failure modes and added new failure modes on its own.


how many emojis in iOS works instantly, 100ms on the search request


Strange, that one errors for me too


Fascinating. "How many bananas on iOS" and "how many emojis on Android", "emojis on iOS" work fine.

Maybe the quantity question is running into an error trying to make one of those cards? Incredible that it just crashes search though.


Including "how many" triggers an instant answer for sure.

Instant answer crawler tries to answer that question by parsing some site, fails in an unexpected way.

That'd be my theory.


"crash" here is likely just how the frontend reports a backend timeout.


Startpage, which uses Google's search API, returns no results for this query [1], so it may not be an issue relating to Instant Answers.

[1]: https://www.startpage.com/sp/search?query=how+many+emojis+on...


Would be definitely interesting to read a report on what triggers this error! I don’t think it is a tile error as presumably the backend that collects all the answers would be set up in a way that is resilient to upstream errors. So maybe the core results compiler?


I'm not sure exactly how it works but if you look at the network requests for "how many emojis ios" vs "how many emojis android" the html for the initial page contains an internal server error whereas the android version contains some more javascript which contains the search results.


The likeliest candidate is probably the final render step. Under the hood, search farms the query out to multiple backends, gathers partials from them, and then composites those partials into the final rendered page. For an actual 500 to surface to the user, that final compositing step is probably what fails; gathering and compositing are already robust against an individual backend failing to return a result.

I'm on board with other people's suggestions that asking a question like this is tripping over a site that surfaced an emoji in their site title that is choking the Unicode library that Google is relying upon.


I don't think the public will ever learn what went wrong here, but whichever Googler fixes this will have one heck of a war story to tell over drinks.


Server Error We're sorry but it appears that there has been an internal server error while processing your request. Our engineers have been notified and are working to resolve the issue. Please try again later.


Fixed in under three hours. Once again, the front page of HN is the most effective bug reporting mechanism.


We should put up Bug HN on the top head. And rank them for severity.


It appears to cause errors with my Google Home as well. Asking it "How many emojis on iOS?" (exactly the same as the OP string) causes my google home to stall for quite a bit (about 20 seconds or so).

All other queries resolve almost instantly.


Looks like it was just fixed as I got an infinite load a few minutes ago but now it works fine. My fanciful guess is that they use a LM (language model) to determine if something is an answerable question and then if it is parse certain pages with an LM if it is classified as an answerable question. Maybe the LM stuttered on something on emojipedia.


"how many emojis in ios" seems to trip it too

edit: so does "how many emojis ios" and "how many emojis apple" but not "how many emojis android"


Something to do with processing an unusually large number of emojis?

I wonder if processing emoji characters has any different performance characteristics than other UTF characters.


I would guess it has nothing to do with the index, and more with widgets - these special little result boxes that appear when you do a calculation, ask for the weather, and so on. Google has quite a few of them, and some are pretty whimsical. I read that new people on the search / frontpage team get to write on of those as a training task. They must be quite encapsulated from the rest of the system. But obviously at some point one of them is going to have a bug.

Just guessing, maybe it was supposed to show a certain emoji, like "hamburger emoji on iOS", and got tripped up by the result of a search like "how many site:emojipedia.org" which leads to the FAQ and that can't be parsed?


Server Error We're sorry but it appears that there has been an internal server error while processing your request. Our engineers have been notified and are working to resolve the issue.

Please try again later.


"That day, we found a way to fight back..."


Interestingly it crashes starting on "how many emojis on i"


"how many emojis on p" also takes 5 seconds


"how many emojis on e" takes 5 seconds


"how many emojis on x" loads in 5 seconds


"how many emojis on s" takes 5 seconds


"how many emojis on l" takes 5 seconds too


Fascinating! It may be trying to create that response panel on the top with the absolute number but maybe it's erroring out when trying to parse the actual Unicode points.


Counting Unicode characters is hard.


According to this https://news.ycombinator.com/item?id=32393051 , a couple years ago people were getting the "We're sorry but it appears that there has been an internal server error while processing your request. Our engineers have been notified and are working to resolve the issue." and it was because of a fireball?


Searching through Google translate loads the page but without content:

https://translate.google.com/translate?sl=de&tl=en&hl=en&u=h...


Same exact error message appearing on Google Scholar in 2015 https://stackoverflow.com/questions/33741372/google-server-g...


Must be fixed now, I don't get an error.


Not only on .nz ... this happens on the main site google.com too. Displaying the message "Server Error : Internal server error..." after spending a long time for the page to download.

That indicates every search we are making might be triggering a high CPU load somewhere before displaying the message.


Getting the following now:

Server Error We're sorry but it appears that there has been an internal server error while processing your request. Our engineers have been notified and are working to resolve the issue. Please try again later.


Seems to not crash for me - just takes several seconds to load the results.


Related discussion from a few months ago https://news.ycombinator.com/item?id=32393051


Also happens if you replace "iOS" with "Windows".


It takes a while to load, but it doesn't give me a server error like "ios" does.


Taking a while to load is probably indicative of the problem.... There's probably some O(n^3) memory or compute complexity going on somewhere of the number of emojis on the page.

For example, I imagine Google uses as a final ranking step some stuff based on the similarity of the pages about to be returned - to make sure you aren't about to show the user two pages that are practically identical. That logic might try to build similarity mappings between the pages, and has logic that fails badly for large numbers of emoji.


I would guess it's the time that is the problem - whatever service would produce an inline answer is presumably falling over, and the subsequent timeout is reported as an error.


My guess is this is related to instant answers section at the top of the search results. It's trying to figure out the count, but it's failing for one reason or another.


If a search engine returns the same quality of information with an error message as it does with the actual results, is it really an error?


Also works for "how many emojis iphone" but strangely not other platforms like Windows or Android.


Sounds like they are recognizing and redirecting searches to specific functions. It is obvious but with this error we can make a conjecture that some of these functions are written as multiple code snippets without too much engineering responsability.

Just my two cents remembering Google acquisition of Freebase and a quest for understanding content at a higher level (e.g. number of retweets in a tweet).


> number of retweets in a tweet

Interesting- the goal was to use that information for page ranking?


Obviously, Google is aware of content beyond the text: https://www.theverge.com/2022/9/28/23377358/google-search-re...


I see 'Server Error' for "how many emojis on ios"

Works fine for "how many emojis in ios"


Seems to be working now, not sure if it's just me or whether it's working for everyone?


Seems to be fixed indeed.


DuckDuckGo is the answer then.


DDG is my default browser, this is the search result: https://duckduckgo.com/?q=how+many+emojis+on+iOS&t=fpas&ia=w...

The third sesrch result attempts to answer the question. The 1st and 2nd are related but not perfectly relevant.


https://search.brave.com/search?q=how+many+emojis+on+ios

the emoji list is the #1 match on brave


Kagi finds the emoji list just fine as well! https://kagi.com/search?q=how%20many%20emojis%20on%20ios

Hilariously, the third result on Kagi is a direct link to the google search that crashes, I wonder where it pulled this from: https://imgur.com/a/sCmeADy


That is funny. It is Kagi's own news crawler.


For me the query timed out on first attempt, but worked on the subsequent ones.


This is a good reminder for everyone to switch to other search providers.


maybe this is a google joke. there are so many that they cannot calculate.


Have you tried to ask "show me the set of emojis which cannot be found by Google Search"? :-)


If you add a start date filter (even since 2000 years ago) it will work.


Searching for "emojipedia.com" causes it to hang as well


Too many, clearly.


Also breaks for

how many emojis are there on iphone


Works on Kagi. Must be superior.


Neeva for Safari loads with no problem. Wonder what makes Google wig out.


Bloody does too!


[flagged]


following is shown to users:

> Server Error

> We're sorry but it appears that there has been an internal server error while processing your request. Our engineers have been notified and are working to resolve the issue.

> Please try again later.

this is a handled crash, but still a crash


Well in Europe google.com returns a 500 error for that query, so crashes is the correct term for this.


I love how "hackers" are defending evil-corp-with-happy-face-logo


Where are you seeing a defense? I only see attempts to explain it or reproduce the error with different inputs, aka things hackers tend to do. You can find Google bad without losing your mind about it.


Yeah the HN culture isn’t really the hacker culture of yore, which was pretty anti-establishment.


My guess: when you search, google fires up several background processes/threads for that query.

Not only search, but also for a quick answers, maps, ads. These services might be slower than the search query or a max response time, in which case they get ignored.

When the search query finished, they might wait a few milliseconds for the other services, if it’s still under the target response time. After that google will render the results with all info that completed.

My guess is that one of these services crashes, most likely the main search one. This way you can wait forever for it to finish.

So it’s probably a bug in the way it’s yielding/waiting for the spawned processes.

Other option is that for certain processes they don’t spawn a background process, because it’s faster to run locally/direct/in-memory, because the data is quite small and just rums on every node. they’d start this after spawning the other processes, so if this service returns an error, it might screw up the yielding/waiting/collecting, although I’d expect an exception/error page instead of the indefinite waiting that’s happening


Not sure why I got downvoted but whatever


Because you are just stating what is obviously happening on a very high-level ("it crashes because something crash"), it’s generic and is applicable to any website. Your comment is empty regarding why it happens only to that query specifically.


It's not that obvious. Most (99.99+%) applications don't spawn queries in parallel to run in parallel.

The site didn't crash but was hanging. And I specifically described how this could happen -> an error the code that waits for futures to finish

The whole thread is pretty obvious, right? Some website not working. big deal.


I didn’t downvote you, but if folks are coming here looking for answers then a simple “my guess” based (apparently at least) on pure speculation and without inside knowledge of how Google’s setup _actually_ works, doesn’t add much to the conversation.

If your post had included something like “I used to work on Google search”, “I used to work on Bing search”, or “I’ve spotted this piece of data in the network responses being sent to my browser and therefore” you might have gotten a more favourable reception.


Doesn't match my experience here on HN. As far as I can tell educated outsider guesses are generally welcome and - to me personally - sometimes even enlightening.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: