[HN Gopher] The weirdest bug I've seen yet
___________________________________________________________________
The weirdest bug I've seen yet
Author : jevans
Score : 576 points
Date : 2023-11-30 18:29 UTC (1 days ago)
(HTM) web link (engineering.gusto.com)
(TXT) w3m dump (engineering.gusto.com)
| wobblyasp wrote:
| Such a tease. At least upload the gif so people can poke at it!
| yuck39 wrote:
| Agreed!
|
| I have absolutely no idea how a combination of grammarly and a
| specific gif would cause a browser crash though...
|
| Anyone here use the grammarly desktop app? Any additional
| clues?
| hyperhello wrote:
| I would guess the gif triggers a specific edge case that
| would crash, and grammarly is just a common enough addition
| to chrome with a lot of edge case triggers that it was
| identified. I'd guess this is on the Chrome team to fix soon,
| but yeah, at least post the spinner file for us!
| fifafu wrote:
| I'd guess it's because Grammarly enables full accessibility
| support in Chrome to be able to access the browser elements
| similar to e.g. a screen reader. This is off by default and
| has caused me various issues in the past when enabled (e.g. h
| ttps://bugs.chromium.org/p/chromium/issues/detail?id=136448..
| . ). However it's probably good that the Accessibility
| functions get more exposure due to this.
| 12_throw_away wrote:
| Well, this is a fascinating murder mystery that establishes 3
| compelling suspects - Grammarly, Chrome, and a gif - and then
| just ... ends, right before the big reveal.
| 0xNotMyAccount wrote:
| I have a friend who worked at Gusto, and my wife tried using
| Gusto for her small business (they handle payroll for small
| business, got a big boost from the pandemic). The lack of
| technical resolution here is so Gusto, it hurts.
| Andrex wrote:
| They nuked my account after trying to charge an expired card
| three times.
|
| The customer response team was extremely quick and responsive
| telling me their hands were tied.
|
| Fuck Gusto.
| Kognito wrote:
| Hate that.
|
| "Sorry, the system says no"
|
| Had similar situations with PayPal and Uber recently where
| their support have absolutely no information or ability to
| take a decision.
|
| Support essentially becomes a glorified text-to-speech
| system.
| robocat wrote:
| That's unfair: isn't this is exactly how most strange bugs
| get "fixed" by most companies?
|
| It is an abnormal developer and an even more abnormal
| business that actually spends enough time to find the root
| cause of outre glitches. Especially when you start having to
| debug complex third party systems to debug them properly -
| requires skills and motivation plus a company that will
| encourage a developer to do that.
|
| The story is not specific to Gusto - it is the story of every
| developers life. I have chased down bugs in my OS and my
| browser - it is rarely well rewarded! Fixing a compiler bug
| should be on my bucket list! A long time ago I worked around
| a compiler bug by inserting a label: (I think the label
| prevented certain optimisations where the label was put).
| tclancy wrote:
| I mean, this story is a hell of a rundown of debugging. The
| fact they don't have insight into the ways Chrome or
| Grammarly work isn't something to apologize for.
| Maxion wrote:
| I feel so unsatisfied
| fifafu wrote:
| Maybe it's because Grammarly enables full accessibility support
| in Chrome to be able to access all elements in the browser
| (similar to a screen reader). This has caused me various issues
| in the past (e.g.
| https://bugs.chromium.org/p/chromium/issues/detail?id=136448...
| ). However it's probably good that the Accessibility functions
| get more exposure due to this.
| chrismorgan wrote:
| The GIF _cannot_ be responsible: as untrusted web content, if
| it can trigger a crash, the responsibility lies with the local
| software stack. So you have only two suspects: Chrome and
| Grammarly. The GIF is at most an accomplice.
| sfink wrote:
| more like a murder weapon
| chrismorgan wrote:
| Thanks, that's _much_ better. I wasn't at all happy with
| "accomplice" but my mind was blanking on what it should be.
| azlev wrote:
| Hash collision?
| sapiogram wrote:
| What?
| tru3_power wrote:
| Is there a copy of the gif available? That's interesting
| digging wrote:
| I wouldn't even know how to look for something unusual in a
| gif's source code but I also feel this is the most compelling
| part. I wish they'd uploaded it.
| guessmyname wrote:
| > _I wouldn 't even know how to look for something unusual in
| a gif's source code but I also feel this is the most
| compelling part. I wish they'd uploaded it._
|
| GIF stands out as a widely understood file format [1][2].
|
| To kick things off, delve into the GIF file using a
| hexadecimal editor. HexFiend [3], for instance, offers a
| template for visualizing GIF file structures [4]. Another
| excellent option is Synalyze It! [5], which comes pre-loaded
| with an extensive list of file formats, encompassing GIF
| among others.
|
| These visualizations serve as a guide to pinpoint any
| irregular byte clusters that might pose issues when loading
| the file into an application with an image reader lacking
| support for that specific byte group or its arrangement. Once
| you've identified such a cluster, consider it the bug.
|
| [1] https://en.wikipedia.org/wiki/GIF#Example_GIF_file
|
| [2] https://www.w3.org/Graphics/GIF/spec-gif89a.txt
|
| [3] http://hexfiend.com
|
| [4] https://github.com/HexFiend/HexFiend/blob/master/template
| s/I...
|
| [5] https://www.synalysis.net
| spuz wrote:
| Another good option is ImHex which is an open source hex
| editor that supports file patterns. The gif pattern is one
| of the patterns already available:
|
| https://github.com/WerWolv/ImHex
| tchebb wrote:
| Kaitai Struct[1] is my preferred tool for parsing binary
| files. It's open-source (unlike Synalize It! and 010
| Editor) and cross-platform (unlike HexFiend). Not sure how
| it compares to ImHex's pattern language, though--I've been
| put off by ImHex's UI the few times I've tried it.
|
| My favorite thing about the Kaitai Web IDE is that it
| instantly updates the parsed tree as you make changes to
| the format specification, which makes it viable for
| reversing unknown formats instead of just specifying known
| ones.
|
| [1] https://ide.kaitai.io/
| dblitt wrote:
| > For security reasons, we do not have Chrome crash reporting
| enabled.
|
| > We also confirmed with many of our affected users that they had
| Grammarly installed on their computers.
|
| Ironic.
| roozbeh18 wrote:
| haha, that was questionable for me as well. It's ok for
| Grammarly to read your stuff, but crash metadata is a no no.
| JohnMakin wrote:
| Welcome to security in 2023 :)
| madeofpalk wrote:
| > Unfortunately, with access to neither the Chrome source code
|
| I mean, you basically do! You can just go check out the chromium
| source.
| flutas wrote:
| > I mean, you basically do! You can just go check out the
| chromium source.
|
| It's mentioned in the bullet points in the "trouble reproducing
| the bug" section that chromium wasn't affected.
|
| > Using open-source Chromium instead of Chrome did not cause
| crashes, so we couldn't see what Chrome code was failing
| either.
| j1mmie wrote:
| I wonder what version of Chromium they used. If it was a
| nightly, it could be weeks before the fix makes it into
| Chrome. They might've tested at a time when latest Chrome had
| the bug and Chromium didn't.
| orbv wrote:
| Google provides symbols for Chrome release builds, including
| source indexing so source code should be available. See
| sections symbol server and source indexing at
| https://www.chromium.org/developers/how-tos/debugging-on-
| win...
| trelliscoded wrote:
| I wish this was upvoted more. This is the correct way to
| troubleshoot the bug, full stop. You can get symbolic stack
| traces with full arguments and source code on Windows in
| about 5-10 minutes for any Chrome crash by following these
| instructions. I always have a last change exception handler
| that fires up a WinDBG script on Windows for our chromium-
| based test runners, which reduces troubleshooting time to
| just a couple minutes in order to find the symbol in their
| bug database. Playing blackbox what-if games like the Gusto
| team is a waste of time and doesn't contribute any
| situation-specific knowledge to bugs.chromium.org.
| saagarjha wrote:
| Only for Windows. For some reason they don't make their
| symbols for Mac public...
| simion314 wrote:
| I am using chromium to print web pages to pdf, and I have some
| images that will crash chrome's to pdf process, I found nothing
| wrong with this images, the metadata is fine (nothing weird in
| it). The other bad thing it does not reproduce n my dev machine
| only on the production server , so nothing I can do, in rare
| cases an image will always crash crhomium, I find it, open it and
| re-export it and then it works.
| LgWoodenBadger wrote:
| This sounds more like a hardware fault than something wrong
| with the software, especially since it doesn't seem to be
| deterministic.
|
| But stranger things have happened, and given the enormous
| surface area of a modern computer (hardware, software, drivers,
| state, etc.) can anything truly be deterministic?
| simion314 wrote:
| It happens with that image no matter what. I can have a html
| with 100 images and one bad image, I make one new html only
| with that image and it still has the problem. My guess is
| that probably a bug in a low level image decoder. My local
| machine has different kernel, different libs, plus I have
| different cpu,gpu and X11 on top so too much difference and I
| do not have the expertese to do aremote debug(or local)
| saagarjha wrote:
| If you can grab a crash log I am sure the Chrome team would
| be happy to look at it.
| saagarjha wrote:
| Most bugs are software issues, though.
| lloydatkinson wrote:
| Discord suffered (suffers?) from a similar thing with gifs. It is
| or was common for people to post specifically crafted gifs in
| channels, anyone viewing the channel immediately had their client
| crash.
|
| Discord client uses Electron, which is in turn Chromium.
| j1mmie wrote:
| What an interesting conflux of tech to create this bug. That's
| the web in 2023. I would love to know if it was a Chromium bug
| that got resolved, but navigating this is tough:
| https://bugs.chromium.org/p/chromium/issues/list?can=1&q=gif...
|
| Also, I am fully here for Gusto posting this to say "wasn't our
| fault" and to throw some shade at Grammarly in the process
| thenoblesunfish wrote:
| Seems like they're posting it because it was a fun story, and
| it's free advertising - this wasn't externally visible so I
| don't see where fault comes into it.
| nonethewiser wrote:
| They should definitely publish the gif
| j16sdiz wrote:
| Something like this
| https://bugs.chromium.org/p/chromium/issues/detail?id=129770...
| computerfriend wrote:
| If they can figure it out, they're sitting on potentially a very
| valuable exploit.
| jdminhbg wrote:
| One that's been patched already, though, as they say that in
| current versions of Chrome and Grammarly it doesn't crash.
| chatmasta wrote:
| Yes, I too would like to read more details about this. It's a
| great writeup from an engineer who got stuck debugging this.
| But I hope some experts in security or reverse-engineering can
| replicate it and take a closer look. There's definitely a more
| interesting story here, probably regarding the localhost bridge
| between Grammarly extension and desktop.
|
| (Grammarly has a bug bounty btw... and their chrome extension
| has quite a large surface area...)
|
| If OP is here: can you provide the raw .gif file? (And if
| you're feeling generous, maybe even a minimal ruby example that
| replicates that templating setup, although it sounds like that
| wasn't required to reproduce it in the end.)
|
| P.S. "For security reasons, we do not have Chrome crash
| reporting enabled" - maybe consider disabling Grammarly
| extension for the same reasons ;)
| saulpw wrote:
| It wasn't the Grammarly extension, it was the desktop app.
| chatmasta wrote:
| I guess I just assumed the extension was installed too, and
| communicating with the desktop app. But now I see the post
| doesn't mention the extension. If it was triggered even
| without the presence of the extension then that's quite
| strange, and even more suspicious - is that gif triggering
| a call to a localhost endpoint? Is the grammarly desktop
| app interacting with browser elements without using the
| extension? (IIRC the grammarly app uses some accessibility
| privileges to inject into textareas across all apps)
|
| Grammarly is honestly insane, I can't believe corporations
| allow it to run on employee machines.
| nonethewiser wrote:
| > Is the grammarly desktop app interacting with browser
| elements without using the extension? (IIRC the grammarly
| app uses some accessibility privileges to inject into
| textareas across all apps)
|
| It seems like that must be the case. If we have the
| details right about desktop app only (which seemed pretty
| clear).
| Sophira wrote:
| I'd also be interesting in seeing the raw .gif file - as a
| hobbyist wannabe researcher myself, I'd love to investigate
| this.
| Modified3019 wrote:
| The true bug in the photo is a "candy-striped leafhopper",
| Graphocephala coccinea, which is tiny but has very striking
| coloration.
|
| The Larvae of leafhoppers are commonly known as spittlebugs,
| which create protective bubble nests while feeding on plant stems
| barbegal wrote:
| A disappointing ending to the tale. I really want to know how
| Grammarly desktop works now. It must have interfered with the
| Chrome process in some bad way.
| whirlwin wrote:
| Shared library like libgif used by both Chrome and Grammarly but
| different versions?
| JohnMakin wrote:
| I have a saying that isn't perfectly true but often will apply to
| "fixes" like this -
|
| If you don't know why the fix worked, you may not have actually
| fixed it.
| bicijay wrote:
| But you may have
| lbhdc wrote:
| Ahhh, Schrodinger's patch.
| HPsquared wrote:
| Schrodinger's bug?
| gwbas1c wrote:
| But they couldn't fix the bug: The bug was in another product
| that they couldn't access source code or submit patches.
|
| The best they could do was work around it.
|
| Sometimes workarounds are the best you can do until your vendor
| provides a real fix.
| JohnMakin wrote:
| I didn't mean literally fix the underlying bug. They also
| don't really know why their workaround worked, which means it
| could not really be fixed at all.
| tetha wrote:
| Someone once said, there is accidental function, and deliberate
| function.
|
| If your system doesn't work, and you just plonk around at
| values, until, very surprisingly, the system starts behaving
| well and you the call it working... well it might be working
| now. But it's just accidental correctness. As soon as something
| causes the system to bank left, something's gonna break and no
| one knows how to fix it - and you're back to square one.
|
| On the other hand, as hard as it is, if you can clearly tell
| why your fix will restore function to the system without even
| applying it, you have deliberate correctness and function. If
| done right, it is very boring, because exactly and only the
| expected thing will happen. You should know about the unknowns
| and plan around those as well, so even if an unknown bites you,
| it's a known and handled unknown. This can be exhausting to
| make happen, because it is much harder, but those systems will
| just work.
|
| But this is a fight I have with some development teams probably
| forever. "But we poked at the values, and that stopped the
| flames. It is fixed!" "but why?" "Dunny. But no fire anymore.
| All good." And then 2 weeks pass, and there is more fire and
| everyone is like "Oh but why would this happen? How should we
| have known for this to happen again"
| saulpw wrote:
| On the other hand, I've spent weeks with a team looking for a
| bug, and by the time we found something that appeared to fix
| it, we were way behind on everything else that really needed
| to get done. How long would it take to find the root cause?
| We tried. It wasn't worth weeks or months of effort, to
| anyone. This isn't JPL and human lives weren't on the line.
| We just needed it not to crash so we could all get on with
| the "real" task of shipping useful and profitable software.
| tetha wrote:
| Yeah, that is why software engineering and system
| operations is hard.
|
| For example, the article doesn't get to a root cause in an
| absolute way. There is no absolute SEGFAULT of the OS
| causing the misbehavior. However, they nail down the crash
| to a gif, and if the gif is in, it crashes, and if the gif
| is out it doesn't. If the gif is loaded otherwise it
| crashes, too. At that level, to me, that would be enough,
| because we're users of the browser's rendering there.
|
| Finding a solid cause that can demonstrate and reproduce a
| problem, and basing a workaround around that at a boundary
| you're unwilling to cross can be fine. If it's within the
| company, it absolutely is fine as long as you escalate
| beyond that boundary.
|
| However, I have enough teams who are like "Oh, we set all
| values to 25 one by one and when we arrived at flum-value
| at 25 it stopped crashing. Fixed." Why 25? Who knows. Why
| flum? Who knows. Maybe the other value changed at the same
| time fixed it? Who knows. Do we use 26 once it starts
| crashing again? Fuck knows. Maybe 24 is better?
|
| We have no explanation for 25, so why would 25 be a good
| fix?
| derefr wrote:
| And in fact, I don't think they _have_ fixed it. I 've seen
| "Error 5" plenty of times in Chrome. It seemingly occurs
| whenever I have a lot (100+) of tabs open for any site where
| each page allocates at least one accelerated drawing canvas (a
| literal <canvas>, or a <video>, or a .gif <img>.) I've seen it
| happen on Reddit (but only new reddit, not old reddit!) and on
| a number of other sites.
|
| I hypothesize that Chrome simply has a global (i.e. cross-tab)
| per-toplevel-origin limit to the number of allocated
| accelerated drawing canvases it's willing to allow; and that
| when you go over it, Chrome forcibly _de_ -allocates all the
| existing drawing canvases used by other tabs that have that
| toplevel origin loaded, thereby causing them to crash. It's
| _probably_ a measure designed to prevent a site from from
| DoSing your computer by just allocating an infinite number of
| canvases.
| nonethewiser wrote:
| They said it also crashes when they just load the gif. It
| seems hard to believe they always had tons of tabs open for
| these tests.
| derefr wrote:
| It doesn't _have_ to be tons of open tabs; it can just as
| well be one tab that makes tons of accel draw contexts all
| on its own -- maybe temporary hidden <canvas> draw
| contexts that it never cleans up. But a dev would usually
| end up hitting _that_ kind of problem during development;
| whereas, if the problem never arises through "normal use"
| but instead requires having 100+ open tabs on the site to
| trigger, that bug might go unnoticed all throughout the QA
| process.
|
| I can also extend my speculation about all the times I've
| personally seen "Error 5", although this is probably
| dipping into superstition territory: I think the per-
| toplevel-origin draw-context limit isn't static, but is
| influenced by the amount of VRAM available on the computer
| as a whole.
|
| So on an extremely VRAM-constrained system like a Raspberry
| Pi (or on a system that's running Cyberpunk 2077 on one
| display and Chrome on another, sharing a GPU) the per-
| toplevel-origin limit on accel draw contexts might be
| dropped as low as, say, 5: an amount low enough that just
| having one extra .gif on the single tab of the site you
| have open might be enough to make the tab fall over.
| nonethewiser wrote:
| I agree 100% and the observe this all the time with things that
| "magically fix themselves." But Im not sure it applies here
| since they seemed to have actually quarantined it.
|
| I suppose since they dont know the root cause it's impossible
| to say. But I think the saying would fit better if they kept
| the gif but made some change that seemed to fix it without
| knowing why.
| JohnMakin wrote:
| Maybe, but they don't know another GIF couldn't eventually
| cause the same issue again.
| djbusby wrote:
| Thought this was going to be about Gusto "remember this device"
| which keeps failing. Reported like 2 years ago
| sonicanatidae wrote:
| Twirly prompts have sucked, for weird reasons, since the WWIV BBS
| days.
|
| I guess some things never change.
| zwieback wrote:
| Left me hanging, would not post something like this from my
| engineering blog. They don't have deeep debugging skills at
| gusto?
| golergka wrote:
| Sounds like they have good time management and prioritisation
| skills. They found the source of the problem and fixed it.
| KerrAvon wrote:
| No, they didn't. They figured out a workaround. Since they
| didn't find the root cause of the problem themselves and
| apparently didn't take it up with the Chrome or Grammarly
| development teams, they don't actually know what happened or
| when it might bite their customers again.
| jdminhbg wrote:
| They say it no longer reproduces on current
| Chrome/Grammarly, so taking it up with them is fruitless.
| They're not going to investigate crashers from old
| versions.
| dhritzkiv wrote:
| :( I would've tried to determine the cause of the crash with
| that specific file in my off time, provided that I could
| isolate the code in the Grammarly extension in Chrome.
|
| The main reason -other than curiousity- is to ensure that a
| future regression (in Chrome/Grammarly) wouldn't lead to it
| again.
| cyco130 wrote:
| The weirdest one I saw was this: User claims that the _wording_
| of the info they enter into a certain form changes when they
| save. At first I suspected someone else editing the same form at
| the same time unbeknownst to each other but it wasn 't the case
| according to the logs. And I saw the correct wording on my own
| computer.
|
| Then I noticed in their screenshots that some of the menus had
| weird wording too. Turns out they had Chrome's "Translate this
| page" option on. Problem went away when we showed them how to
| properly switch languages in the app.
| bee_rider wrote:
| What was translating from English to American or something?
| cyco130 wrote:
| From English to Turkish but Google won't just leave the parts
| that are already in Turkish alone and subtly reword them
| instead for some reason.
| robocat wrote:
| I added <meta name="google"
| content="notranslate">
|
| to all pages in a single-page-web-app after discovering some
| bug or other with Chrome screwing up the page.
|
| Apparently the new incantation to fix an app (can be applied to
| an element) is (ugly: I presume it isn't CSS to avoid
| supporting dynamically changing it): <html
| translate="no">
|
| https://developer.mozilla.org/en-US/docs/Web/HTML/Global_att...
|
| Every now and then I would look at the meta tags for a major
| single page app and discover some new horror when searching for
| the reason for the meta tag!
| michaelcampbell wrote:
| I know what you mean, but this caused me a second of "wait,
| what?"
|
| > all pages in a single-page-web-app
| robocat wrote:
| Good point. This was the Elizabethan days when computers
| ran on coal: IE when we were explorers of The Internet.
|
| We were bleeders, but there still existed a vestigial login
| page, and some other evil cthulic pages (I know whence they
| were begat for I was their father).
| callalex wrote:
| In the USA, 20% of computers still run on coal!
|
| https://www.eia.gov/energyexplained/electricity/electrici
| ty-...
| jonathrg wrote:
| <html translate="no">
|
| I first read this as "translate to Norwegian"
| anitil wrote:
| It's the reverse-Norway problem -
| https://news.ycombinator.com/item?id=26671136
| elygre wrote:
| In Norway, the word "subject" translates to "fag". Back in
| the Usenet days there was a Norwegian group or hierarchy
| named "no.fag", which of course regularly got
| misunderstood.
| cyco130 wrote:
| I wouldn't want to disallow translation, but in this case it
| was unnecessary anyway.
| lifthrasiir wrote:
| This is really annoying. I often rely on Google Translate to
| read Japanese websites (I _can_ read Japanese but only very
| slowly), and it breaks every website using React [1] because
| both React and Google Translate try to update DOM nodes without
| knowing each other. I even seriously looked at Google Translate
| to see how they are implemented, so that maybe I can recreate
| the web widget without this issue in the future.
|
| [1]
| https://bugs.chromium.org/p/chromium/issues/detail?id=872770
| NooneAtAll3 wrote:
| you should submit this story to DaylyWTF or smth
|
| it's hilarious
| jrockway wrote:
| Did they open a bug against Chrome with the image file? I feel
| like any crash on user-provided data is a big deal, always a
| correctness problem, but potentially a security problem. "We
| deleted the image so the problem is fixed for us" is OK (I
| wouldn't waste time writing a blog post about it personally), but
| I think that Chrome needs to fix this bug.
| tedivm wrote:
| Was it actually a Chrome bug though? It only happened when the
| Grammerly desktop app was installed. My guess is grammerly is
| doing something sketchy.
| bayindirh wrote:
| Maybe adding Grammarly created enough of a lag causing the
| GIF file to be shown?
| nonethewiser wrote:
| That doesnt hold when you consider they opened the gif in
| the browser with and without grammarly and it only crashed
| with. So its not simply a bad gif and chrome.
| AnimalMuppet wrote:
| Does Grammerly hook something in Chrome? If not, then it's
| still probably a Chrome bug, even if some second-order effect
| of Grammerly is necessary to trigger it.
| majormunky wrote:
| It looks like the desktop Grammerly app hooks into all
| sorts of things, "An all-in-one writing assistant that
| works on your desktop and in your browser. Use it in apps,
| word processors, email clients, and more."
| MattDaEskimo wrote:
| I'm thinking the same thing. It could be that Grammerly
| injects it's own loading spinner with the same filename
| into the HTML.
|
| I wish they tried to simply rename the file instead of
| remove it.
| meandmycode wrote:
| The pr seems to suggest it's not the filename though
| given the new file was named the same and didn't crash.
|
| I would guess grammarly is hooking chrome and potentially
| trying to read metadata about images, and the particular
| gif had metadata in a format they hadn't expected.
| nonethewiser wrote:
| But only in Chrome. Not necessarily inconsistent with
| what you're saying, just an interesting wrinkle.
| isleyaardvark wrote:
| While something like that is worth a shot, the PR they
| shared showed the file as being 'assets/images/loader-
| spinner.gif'. If the file name was the cause that bug
| would be everywhere.
| user3939382 wrote:
| Reminds me of the story I read where the guy's car wouldn't start
| depending on what flavor of ice cream he picked and when
| investigated he was right. Some kind of evaporation/vacuum leak
| or something that was dependent on time and some flavors were
| farther away in the store and took more time to buy.
| nudgeee wrote:
| Vapor lock. Legend here: https://www.snopes.com/fact-
| check/cone-of-silence/
| RajT88 wrote:
| I heard a similar tale in high school.
|
| A friend of mine had an aunt who passed away, and so he ended
| up inheriting her car. The car came with a petrified apple
| pie in the back. He was insistent that the car would not
| start without the pie in the back window.
|
| Several of his friends who he played in a punk band with
| confirmed this, that they had tested it. Take the pie out,
| car won't start. Put the pie back in, the car starts.
|
| I don't think anyone ever figured out what was going on, I
| graduated a couple of months after hearing the story, and
| fell out of touch. But - timing and vapor lock makes sense,
| if they were always testing it by first starting the car,
| removing the pie, and then putting the pie back in.
|
| As an aside, the aunt who had passed away was one Aunt Martha
| (after which the car was also named), which in honor of the
| strange car and its strange pie was what their garage punk
| band was named after. There's some totally unrelated band now
| called Aunt Martha - any evidence of their band is not on the
| internet.
| superfrank wrote:
| Up there with the "I can't send an email over 500 miles" story
|
| https://web.mit.edu/jemorris/humor/500-miles
| suzzer99 wrote:
| I love this one so much.
| gostsamo wrote:
| This one is a legend. I love it, but you can find the debunking
| on the fact checking sites.
| trehalose wrote:
| The Snopes page doesn't really seem to _debunk_ it, but
| merely points out that the legend 's been retold with many
| variations and contradictory explanations. Suspicious,
| definitely, but it doesn't seem clear that none of the
| variations could ever have happened?
| IshKebab wrote:
| It's a just-so story. The null hypothesis is that it's not
| true.
| sfink wrote:
| That is the definition of null hypothesis, yes.
|
| Not to be blunt, but you might get a closer shave with
| Occam's Razor.
| IshKebab wrote:
| The null hypothesis isn't "it's not true" it's "what's
| has the highest prior probability?".
|
| If my wife said "I'm going to the shops" I wouldn't
| assume she was lying until proven otherwise.
| mgaunard wrote:
| The main reason for tabs to crash is running out of RAM.
|
| Never do you see the guy investigating memory usage, which is
| weird.
| marcellus23 wrote:
| Yeah, that would have been a good first step, but he does admit
| to not really knowing much about browsers:
|
| > This was fairly far outside the usual scope of our on-call
| issues. Our team is generally well-insulated by other teams
| from issues like browser compatibility, so I didn't know the
| first thing about browser debugging.
| gwbas1c wrote:
| If that were the case, I think the bug would be much easier to
| reproduce; and be a lot more widespread.
| neilv wrote:
| Why would they disable crash reporting for security reasons
| (which might actually help solve the root cause of their
| availability problem, which they never did solve)... yet run
| Grammarly (which I'd guess, security-wise, is less trustworthy
| than Google, in how they secure data themselves once they've
| inevitably stolen it from the customer)?
| Zetobal wrote:
| Maybe they have the enterprise licence with grammarlys pinky
| swear that they won't train on your data.
| hilux wrote:
| What a cool mystery-solving post! I wish all technology writing
| were this clear and explanatory.
|
| For another fun debugging tale, google: Mazda radio Seattle NPR
| bug
| EdwardDiego wrote:
| Holy hell lol.
| realmike33 wrote:
| This reminds me of similar issues I've encountered as a software
| engineer. I first ran into this issue about a decade ago, albeit
| not because of Grammerly,but due to some specific gif causing web
| app to crash. Both times the gifs were animated. Happened years
| apart and at different companies.
|
| I see some comments highlighting RAM, which could totally have
| been the issue. Totally looking forward to a follow up to this
| later down the road, I am sure this isn't going to be the last
| time we hear of this.
| neilv wrote:
| > _Using open-source Chromium instead of Chrome did not cause
| crashes, so we couldn't see what Chrome code was failing either._
|
| They don't address why they didn't just run Chromium. Or Firefox.
|
| (This is potentially better than the 'solution' they much later
| ended up with, in which they probably only relieved a symptom of
| an underlying problem that can exhibit again, and in the meantime
| is a zero-day exploit waiting to happen. At least, with a
| different browser, there's a chance that the vulnerability
| doesn't actually exist, when it's known to exist in their Chrome
| configuration.)
| Etheryte wrote:
| What makes this doubly frustrating is that they also didn't
| report the bug to Chrome. It's super easy to do, plus they're
| very responsive if you have a repro case which in this case
| they do. I think I'm now up to three or four Chrome bugs
| reported that their team has subsequently fixed.
| ncann wrote:
| They said it wasn't reproducible anymore though. So if they
| make a bug report now and say "this used to cause a crash in
| an old version of Chrome while also having an old version of
| another software installed, but is no longer reproducible in
| latest builds", most people would probably just ignore it.
| masto wrote:
| It was reproducible at the time they found it, and
| trivially so: install Grammarly, drag this GIF into Chrome,
| and it crashes. I understood everything up to the point
| where they just changed the GIF and moved on without ever
| telling the Chrome or Grammarly folks about it.
| gwbas1c wrote:
| > They don't address why they didn't just run Chromium. Or
| Firefox.
|
| The article implies that Gusto's employees can whatever browser
| they want.
|
| And, honestly, telling your employees to run a browser that
| only techies have heard of sounds like a really dumb idea.
| neilv wrote:
| > _The article implies that Gusto 's employees can whatever
| browser they want._
|
| For users of their security-sensitive internal software?
|
| > _And, honestly, telling your employees to run a browser
| that only techies have heard of sounds like a really dumb
| idea._
|
| Sounds like they're using this for internal tools, as a kind
| of thin-client layer. They could recommend or mandate a
| particular browser, and people would just use it. ("Click
| this icon, and a window opens with our internal tool. It's
| pretty much the same as any other browser, as far as you
| care.")
| saagarjha wrote:
| As an employee I would be really upset if you forced me to
| use a specific browser to do my work.
| laurent_du wrote:
| I have been forced to use IE for some internal apps when
| I was working in investment banking. It's not that bad.
| kube-system wrote:
| > They don't address why they didn't just run Chromium. Or
| Firefox.
|
| Probably:
|
| 1. Because it is reasonable to expect the application to work
| in Chrome.
|
| 2. Chromium isn't intended for production use cases.
|
| Back when IE and Chrome had about equal market share, I worked
| somewhere that had one team insisting that all employees must
| use IE for one of their applications, and another team
| insisting that all employees use Chrome for their application.
| 50%+ of support calls were employees confusing the two
| browsers.
| MattDaEskimo wrote:
| I don't think the post you quoted is implying that they
| should've closed their eyes.
|
| It makes much more sense to try a different browser first and
| see if the problem persists. Instead of test versions and
| extensions.
| kube-system wrote:
| The post I quoted itself quoted the article saying they did
| test in Chromium. The article also says they tested Firefox
| and Safari.
| hbn wrote:
| > As urgency waned because our users were using other
| browsers as a workaround, progress on this bug slowed to
| make way for other priorities. We didn't have much left to
| go on without being able to reproduce the bug. However, we
| wanted to resolve it since users had
| bookmarks/settings/preferences in Chrome. We believed that
| we shouldn't have to ask our users to avoid the world's
| most popular browser, and we were also still getting
| periodic pings from various users asking whether we had
| made any progress on this bug.
| lobf wrote:
| You must not have read the article because he literally
| addresses this.
| mplewis wrote:
| *She - the author's name is Amy
| mplewis wrote:
| You really want to change an entire company's mandated browser
| every time a bug causes a problem with an extension?
| nabakin wrote:
| They say in the article that the bug became a much lower
| priority because their employees simply switched browsers
| cristeigabriel wrote:
| Maybe Grammarly doesn't work for Chromium? (guessing)
| 1123581321 wrote:
| How could you write all this and not post the gif so we can try
| it?
| andrewfromx wrote:
| oh and there's this one:
| https://web.mit.edu/jemorris/humor/500-miles
| tgsovlerkhgsel wrote:
| Extremely disappointing that they seem to have neither
| investigated nor enabled others to investigate (e.g. by filing a
| bug against Chrome).
|
| This smells like a potential security vulnerability.
| ljm wrote:
| I was hoping for a bit more of a payoff. Like, if the gif was
| broken, why did the grammarly extension trigger it reliably?
| jiveturkey wrote:
| I'm guessing this is the webp bug.
|
| The auto conversion to webp on the backend, signaled by chrome,
| resulted in a bad image that crashes the browser due to grammarly
| parsing of said bad webp.
|
| Safari doesn't tell the server it does webp and so it downloads
| the actual gif, and doesn't crash.
| saagarjha wrote:
| GIFs don't get automatically converted to webp files.
| jiveturkey wrote:
| says who? any web server (nginx, whatever) can be told to do
| this
| saagarjha wrote:
| Yes, but why would it?
| jiveturkey wrote:
| because it's super convenient, and improves performance?
| romanhn wrote:
| Another favorite bug investigation of you're into this sort of
| thing: https://www.pagerduty.com/blog/the-discovery-of-apache-
| zooke...
| ecshafer wrote:
| I don't think I would believe myself if I found this being a
| specific gif. This is a great amount of coincidences in code to
| cause this.
|
| Grammarly is an application that I don't get. The fact that
| people are installing, basically spyware, on their computers just
| to get grammar suggestions to make their writing more boring and
| add a spellchecker (which is already inside web browsers) is
| pretty astounding to me. The fact companies allow employees to
| have it, despite obvious security issues of sending everything
| one types to a saas, is even more wild.
| eichin wrote:
| I worked with someone who _really_ needed it, but we had the
| usual "keep sales users as far from the actual product as
| possible" organizational isolation so it worked out in
| practice. (For engineering, it was on the "don't install this
| in particular" list.)
| _jal wrote:
| > Grammarly is an application that I don't get.
|
| You write like a native speaker, so I'm not surprised. But
| imagine having a few years of school-German, and then taking a
| German language job. I'd bet there would be times you'd want a
| writing assistant, too.
|
| There are also plenty of native English speakers who for
| whatever reason got a crappy education, and didn't get a lot of
| writing feedback.
|
| As far as corporate security goes, you are correct, and we ban
| it. But I get why people want it.
| ryandrake wrote:
| > As far as corporate security goes, you are correct, and we
| ban it. But I get why people want it.
|
| That is what stuck out to me: Installing rando applications
| on your corporate computer that has access to internal
| stuff... Whoooaaaa Baby! That's just a security disaster
| waiting to happen. It's stuff like this that eventually leads
| to draconian and crappy "Nobody gets admin access to their
| machines" corporate policies coming down.
|
| Most TechCorp places I worked, if someone installed something
| like that on their corporate device, they'd get at least a
| stern talking-to and probably sent back to security training.
| generationP wrote:
| Learning a language at school, you will soon be better than
| natives at grammar. It's the vocabulary, idioms and
| implicatures that will be tripping you up. Does grammarly
| really help with those?
| willsmith72 wrote:
| hah better than a German at German grammar? don't think so
| natbennett wrote:
| There are a lot of people whose professional outcomes are
| meaningfully constrained by their ability produce clear
| business English.
|
| I know a guy who used to get inexplicable feedback about his
| communication that boiled down to "write better." This limited
| his ability to get promoted. He runs all his comms through
| ChatGPT and asks it to "make this more professional" and
| doesn't get that feedback anymore.
| ianlevesque wrote:
| I get that people don't care or understand this, but that's
| also saying he cc's OpenAI, and therefore probably Microsoft,
| and therefore almost definitely the NSA, on all his business
| communications. What a world.
| beebeepka wrote:
| I've seen people do this on the same week as mandatory
| trainings featuring this exact scenario. At multiple
| companies
| gnulinux wrote:
| People won't care until something major happens and after
| that they'll implement some draconian half-measure that
| doesn't fix anything like snooping on office WiFi.
| exikyut wrote:
| How's that even supposed to work, given that the average
| corporate ecosystem is so vastly cloud-based now that the
| majority of services use desktop and mobile apps that pin
| HTTPS certificates?
| almostnormal wrote:
| > [...] and therefore probably Microsoft [...]
|
| Where it will go through teams, outlook/exchange, or O365.
|
| Not leaking data is no longer as easy as it used to be.
| Just some forms are more accepted than others.
| pixl97 wrote:
| As good as the average corporate IT security is that I've
| witnessed via my work, passing said data to NSA/OpenAI is
| the least of their issues. Far less scrupulous hackers are
| running amok as it is.
| zztop44 wrote:
| About 0.1% (0.001%??) of business communication might have
| adverse consequences for you/your company if forwarded to
| Microsoft or OpenAI or the NSA. The rest is absolutely
| fine. And you're probably already using Gmail or Android or
| Chrome or Exchange365 or iOS or *something* that could
| theoretically forward your comms to a tech company (and the
| security state).
|
| Compared to the alternative of having your colleagues think
| you're a bit stupid just because you were raised speaking a
| language other than English, or your parents weren't middle
| class... using Grammarly or ChatGPT is a no brainer. I'd
| support anyone using whatever tools they can to overcome
| discrimination and thrive.
|
| The alternatives are:
|
| 1. Educate everyone in the company to stop discriminating
| against people based on language ability (impossible??)
|
| 2. Provide a local self-hosted version of the tools
| (although as a worker at RandomCorp, I would probably
| prefer to forward all my comms to Microsoft than to
| management!)
|
| 3. Tell people facing discrimination to just shut up and
| deal with it.
| jeremyjh wrote:
| Given the context of an _engineer_ with such poor writing
| skills that they can 't be promoted I'd say the odds
| anything they write mattering to Microsoft or the NSA are
| quite a lot closer to 0%. In the only circumstances that
| it did matter, I'd guess you're not unlikely to be better
| off with them in the loop anyway since we're talking deep
| cover industrial espionage.
| bongodongobob wrote:
| Man, I don't know where most of the people here work, but
| the shit most people write about in their jobs is
| inconsequential and not super secret. It's performance
| reviews and meeting notes. 99.99% of the workforce isn't
| writing about the company's secret sauce... Ever. Maybe
| director level and up. Also, most companies make physical
| things, not software, so there's no secret sauce to share
| through email anyway.
| Georgelemental wrote:
| > most companies make physical things, not software, so
| there's no secret sauce to share through email anyway.
|
| The conclusion does not follow from the premises.
| bongodongobob wrote:
| Sure it does. There's no secret to making boxes, or
| installing glass windows, or making frozen pizzas, or
| ordering gravel, or installing breakers, or paving
| sidewalks. Very very few companies make something that
| actually sets them apart via a trade secret. And sure,
| there might be some tricks in those examples but it's not
| putting anyone out of business via _being accidentally
| found a year from now in accidentally leaked partial
| training data_.
|
| My last job was Director of IT and I'm absolutely sick
| and tired of security fear mongering. Turn on MFA for
| everything. Boom. You are now secured from 99.9999% of
| attacks. Chat GPT is absolutely the least of my concerns.
| natbennett wrote:
| I'm not sure how to explain this but Microsoft doesn't need
| OpenAI to get access to business emails.
| Muromec wrote:
| I suspect it all started with two Ukrainian who got tired of
| checking how much of "a" and "the" they forgot to sprinkle
| into their texts.
| notpachet wrote:
| I have far more understanding and patience for non-native
| English speakers making those sorts of mistakes than I do
| for native speakers.
| pavel_lishin wrote:
| I read comments online, and in my experience the most
| difficult writing to parse isn't from foreign speakers who
| drop articles or mis-conjugate things - it's from people
| whose writing is just, for the lack of a better term,
| _bad_. This is very common on places like Nextdoor or
| Facebook.
|
| It's things like:
|
| - total stream-of-consciousness gibberish that could
| probably be assembled into a coherent statement if the
| writer would re-read what they wrote and edit it
|
| - A complete lack of punctuation, or even understanding of
| sentence and paragraph structure; at a glance, it looks
| like what I described above, but it's different because
| there's definitely a topic and a point they're looking to
| make, but they can't put the words together correctly.
|
| - spelling so bad, that even with context, it's unclear
| what word they're intending to use.
|
| - A wild misunderstanding of how to start and stop
| conversations online. (One recent example is me asking
| someone on Facebook if I could stop by to check out a
| garage sale, and a clarifying question about a term they
| used, only to get the response "ok." Note that in their
| post, they didn't specify an address beyond the name of the
| town they live in.)
|
| You can definitely point out flaws in the way I grew up -
| somewhat solitary, spending a lot of time alone in my room
| on a computer connected to the internet - but I think that
| it at least taught me how to make myself understood in
| written form.
| jvanderbot wrote:
| > - total stream-of-consciousness gibberish that could
| probably be assembled into a coherent statement if the
| writer would re-read what they wrote and edit it
|
| This drives me _nuts_. Did anyone see this [1] on HN the
| other day? People in comments were springing up to defend
| this atrocious writing style.
|
| Make a paragraph. Make a point.
|
| 1. https://news.ycombinator.com/item?id=38275905
| pavel_lishin wrote:
| I'm not a huge fan of that, but it looks like poetry, and
| what's more, it looks _intentional_. The author was going
| for something, and is probably aware that some folks won
| 't like it.
|
| That's a whole different beast from an email I'll get
| from a coworker/neighbor where I cannot parse what's even
| being asked of me, and where the writing is so confusing
| I don't even know how to ask them to clarify their
| statement other than to tell them to start over, possibly
| all the way from kindergarten.
| mattnewton wrote:
| I think that writing style has a point in _realtime_ text
| chat, where you are racing to get your comment in and
| turn in the conversation. It's like a way of streaming
| your thoughts, not unlike voice conversation - many of
| the defenses seemed to be talking about that. Not
| defending it in non-realtime scenarios though.
| pavel_lishin wrote:
| Oh yeah, I didn't even think about context switching for
| different communication mediums - maybe my complaints are
| mostly about people who are used to texting people a
| series of text messages, in a more conversational way,
| that doesn't really translate to something like an email
| or a Facebook/forum post?
| thaumaturgy wrote:
| People that are comfortable with text-based forums may not
| realize the extent of illiteracy and semiliteracy in the US.
| Decades ago, a small company was able to convince most of the
| education system (public and sometimes private) to use a
| teaching method based on junk science. The end result is that
| there are many millions of adults in the current workforce who
| can barely read, and many of them work in office settings. Some
| of those would install anything that would help them through
| text-based communications.
|
| [1]: "How a flawed idea is teaching millions of kids to be poor
| readers" https://www.apmreports.org/episode/2019/08/22/whats-
| wrong-ho...
|
| [2]: "Sold a Story: How Teaching Kids to Read Went So Wrong"
| https://features.apmreports.org/sold-a-story/
|
| [3]: "According to the U.S. Department of Education, 54% of
| U.S. adults lack proficiency in literacy, reading below the
| equivalent of a sixth-grade level"
| https://old.reddit.com/r/todayilearned/comments/rqulik/til_t...
| mardifoufs wrote:
| I'm not sure that's specific to the US, and I don't even
| think that particular teaching method has been used here in
| Quebec, yet we still see broadly similar literacy rates and
| levels.
|
| Last I checked US students rank well and are near the top in
| most education global rankings, so I think bad education is
| more of a global problem than Americans think it is. Maybe
| that's outdated though, I'll do my research.
| Aerbil313 wrote:
| That's definitely outdated. Literacy rate of my "third
| world" country is %16 higher than US atm.
| Retric wrote:
| Be careful trying to compare countries or even historical
| numbers when standards vary. The US has a 99% literacy
| rate based on some metrics, but as often happens when
| metrics become useless the people tracking them raise the
| bar.
|
| Thus the US's "Level 1" literacy rate, which represents
| being able to follow basic written instructions, was 92%
| in 2014. But in 2020 the standard changed yet again to:
| "54% of adults in the United States have English prose
| literacy below the 6th-grade level." Noticeably being
| literate in a non English language suddenly doesn't
| count, the prose at 6th grade level is also higher than
| it's been in the past.
|
| Or as Wikipedia puts it: _In many nations, the ability to
| read a simple sentence suffices as literacy, and was the
| previous standard for the U.S. The definition of literacy
| has changed greatly; the term is presently defined as the
| ability to use printed and written information to
| function in society, to achieve one 's goals, and to
| develop one's knowledge and potential.[3]_ https://en.wik
| ipedia.org/wiki/Literacy_in_the_United_States
| mardifoufs wrote:
| What's the functional literacy rate though?
| gumby wrote:
| > Last I checked US students rank well and are near the top
| in most education global rankings, so I think bad education
| is more of a global problem than Americans think it is.
|
| US is at the bottom of the OECD PISA rankings (as it is
| with life expectency too), though on a global basis you're
| right (better than Morocco or Indonesia on both criteria).
|
| Shockingly Australia has fallen quite a bit from the
| initial PISA study where it was ranked #4, now almost as
| bad as USA.
|
| https://www.datapandas.org/ranking/pisa-scores-by-country
| mardifoufs wrote:
| Honestly what surprised me the most from your very
| informative link was that France is lower than the US!
| I'm probably biased but I've always considered the French
| education system to be quite rigorous and well rounded,
| with a few different education paths to fit different
| student profiles from a pretty early stage. Especially
| compared to canada, which in my experience has a rather
| weak and rigid curriculum.
|
| (Though I dislike the way french and European higher
| education in general works. You're basically boxed in to
| your specific domain or degree that you often don't even
| really choose and changing or switching careers is almost
| impossible. The choices you make in high school basically
| define what you can even study in, and thus what you can
| do for the rest of your life. I think that's one thing
| the US does super well, even more so considering that
| degrees are less important there in the first place.)
| jacquesm wrote:
| > You're basically boxed in to your specific domain or
| degree that you often don't even really choose and
| changing or switching careers is almost impossible.
|
| This was true 50 years ago but hasn't been true since the
| 90's or so. France may well be the exception in this, but
| then again, France is an exception in many ways.
| mardifoufs wrote:
| Isn't it still true in Germany? With the different high
| school tiers that can even make it impossible to enroll
| for a university degree? Though you are right that I
| shouldn't say that Europe as a whole is like Germany or
| France even if it's sometime easy to assume so haha.
| Jakob wrote:
| There are different tiers of highschools and different
| tiers of higher education.
|
| The first tiers are more targetted towards craftsmanship
| (e.g. arithmetic and trigonometry you can quickly do in
| your head, you start working earlier in life, as early as
| 16) while the latter tiers are more universal and
| abstract (e.g. math concepts that have better use for
| computer science, you start working much later, around 25
| years old).
|
| You can switch between tiers or fetch later.
| mardifoufs wrote:
| Thanks for the details! If you wanted to switch from
| craftsmanship to say, a more abstract field. Would you
| have to do the entire 10 years (ish?) of "missed"
| education?
|
| I know that here in Quebec, you can enroll in university
| no matter what as long as you are 21 years old and
| finished high school. Does that happen in Germany? Or is
| it rare to actually be able to switch between "paths"?
| jacquesm wrote:
| Germany tends to be more focused on paperwork, there
| isn't a German that is even moderately active in business
| that I know that doesn't have a 'steuerberater', it's
| overly complicated and the paper tends to be in the lead.
| Germany has fewer free professions than other EU
| countries as far as I know, lots of things are regulated
| and it can definitely be harder to switch. But it isn't
| impossible and I know more than one German who
| successfully switched careers, even between regulated
| industries and academic / business careers.
|
| In France, from what I know there is a fairly strong
| culture of secondary education that creates an 'in-
| group', not unlike what you see in the UK or the USA with
| their top-tier universities, and you are either 'on the
| plan' or you won't be able to get in unless you are of
| exceptional abilities and that rarely happens later in
| life, so I think that alone is sufficient to explain the
| discrepancy.
|
| In NL you can enroll in higher education basically
| whenever you want, quota permitting and with the intense
| competition for such spots from abroad by very qualified
| young people this too can be tricky, depending on the
| field. But in NL a university degree isn't a pre-
| requisite for many jobs outside of academia (and
| teaching) itself.
|
| Anything to do with technology tends to be more merit
| based, and achievement there tends to trump formal
| education, and by the time you are 40+ that formal
| education tends to be weighted far less than when you are
| say 25 and just out of school.
|
| Other countries would add more to the pattern of
| variability, there is a huge difference between say
| Poland or Romania or the Nordics or the Baltics, further
| reflected in the weight that which a diploma or degree
| from such institution would carry, especially abroad. For
| instance, right now in the Baltics there is something of
| a brain drain happening with the younger generation
| moving West in droves and so as an older person it is
| stupidly easy to enroll in a university program. But that
| degree isn't going to help you much unless you remain in
| the local economy and the degrees from a decade or more
| ago are given more weight than the ones that you get
| there right now because they are fairly desperate for
| students just to keep the departments up and running.
| akira2501 wrote:
| It's odd to read the story of an adult who believes they're a
| poor reader, still to this day apparently, because of what
| happened to them 30 years ago. Odder still that the article
| leaves itself the only conclusion of going all the way back
| to grade school and trying an entirely different strategy and
| hoping that just "works out" in the end.
|
| The lack of "continuing education" in the era of the internet
| is baffling to me.
| thaumaturgy wrote:
| I think about this a lot, too. My academic interests are
| pretty broad, and I could improve in every subject, so why
| don't I? I think there are two reasons: a lack of _focused_
| effort, and the steadily increasing demands of adulthood.
|
| I do reasonably okay at self-guided education when I want
| to, but there's definitely a difference vs. a structured
| secondary education environment, where there is
| accountability and other people to guide each other through
| the process. And, that's coming in to those subjects with
| already a better-than-average literacy and numeracy; I have
| to expect that for people who struggle with grade school
| reading comprehension or math, trying to bootstrap those
| abilities alone would be daunting.
|
| Also, there's just less room for pursuing those now. Lots
| of people are getting squeezed by concerns that aren't part
| of most childrens' awareness -- housing costs, bureaucracy,
| the treadmill of maintaining all the machines that get us
| through daily life. Those add enormous pressure to dedicate
| more time towards professional development and "getting
| ahead", or at least not falling further behind, and that
| has been eroding all of the unstructured time that I would
| spend working my way through a textbook (or online class).
| People with poor literacy are probably more likely to have
| lower-paying positions, so all of those demands are even
| more severe.
|
| Not that it's impossible. Lots of people do manage to self-
| educate their way out of poorer circumstances, and
| certainly the internet has made that far more accessible
| than it was before the turn of the century. But, let's not
| underestimate how challenging it is, either.
| WarOnPrivacy wrote:
| > My academic interests are pretty broad, and I could
| improve in every subject, so why don't I?
|
| My suspected culprits:
|
| 1) The massively increased complexity of ordinary living
| is overconsumining our personal resources. and
|
| 2) For post-GenX and later, the erasure of childhood
| (free-roaming & peer-only hours) sabotages[1] the reward
| systems (joy) that supercharge early learning.
|
| The less joy there is to facilitate learning, the more
| effort is required (from otherwise overly depleted
| resources).
|
| [1] similar to what abuse and neglect do
| djhn wrote:
| Isn't the opposite true with regards to complexity of
| ordinary living? We've specialised so far that most
| people aren't required to or even capable of sewing their
| own clothes, hunting/growing/foraging their own food,
| building their own shelter and furniture. Something our
| great grandparents would find unbelievable.
|
| Modern living is so monotonously boring and devoid of any
| challenge that people are find more and more creative
| ways to try and get an ounce of that physical and mental
| stimulation back in their lives (hobbies, exercise,
| gaming, etc).
| pixl97 wrote:
| >The lack of "continuing education" in the era of the
| internet is baffling to me.
|
| It's all about incentives. That is companies are
| incentivised to give continuing entertainment for ad
| clicks, rather than building a world of the educated that
| may have a better all outcome for society (but probably not
| the ad companies at all).
| robocat wrote:
| To reinforce your point: I have dyslexic friends and family
| that have learnt to write over time. Very difficult, but
| they have learnt because they had to for high paying jobs.
|
| One friend literally couldn't read. He took himself through
| adult reading courses. He ain't no Shakespeare, but I can
| now txt him and get a written reply.
|
| Tech is helping, but the underlying reason for the change
| is their own initiative.
|
| I would judge that none of the friends or family illiteracy
| was actually caused by our schooling system in New Zealand.
| Some people just struggle and our pedagogy will always be
| imperfect. Certainly I can see some failures in my own
| schooling that still exist and I would like to see fixed
| (mostly get rid of 99% of the deep crap).
| melagonster wrote:
| she had known thant she has disease, so she can't read well
| when childhood. but the main point is why her normal
| daughter was taught same strategy by school.
| NautilusWave wrote:
| Between the whole language approach to literacy and
| undiagnosed ADHD, I was very slow at learning how to read.
| Fortunately, my parents were able to force my grade school to
| put me into special ed for a couple of years and I rapidly
| acquired the skill. I have no idea how the teaching methods
| differed though, beyond classes being half the size and the
| special ed teacher being accompanied by an aide
| mckn1ght wrote:
| I didn't see a direct mention of it in the links, but is the
| junk method referred to called Reading Recovery? First I've
| ever heard of it, at least by name. Found it by googling the
| name Marie Clay that I did see mentioned in one of these
| links. (Annoying how hard they work to bury the lede.)
| thaumaturgy wrote:
| If I remember right (it has been a while since I dived into
| this topic), Reading Recovery was one of the programs
| mentioned. It was _supposed_ to be a supporting approach to
| teaching reading to kids who were struggling otherwise.
|
| The mainstream approach that really made a hash of things
| though was "Whole Language" learning, largely
| commercialized by Fountas and Pinnell, which eventually
| provided the program and associated materials to classrooms
| around the world. This program relied, in part, on
| guessing: if a child got stuck on a word, they would be
| asked to guess what word might fit in the sentence.
| Sometimes they were given context clues, like a picture on
| the page. Any efforts to associate individual letters or
| letter combinations with sounds was abandoned.
|
| Wikipedia has something of a watered-down overview of this
| at https://en.wikipedia.org/wiki/Whole_language, but I
| really recommend listening to the podcast in the second
| link in my parent comment
| (https://features.apmreports.org/sold-a-story/), APM
| Reports put together a compelling examination of what
| happened, and it's explained well. (I do wish it was also
| available in a more typical article format.)
| CobrastanJorji wrote:
| I have to wonder whether Grammarly's "Enterprise" tier and its
| underspecified "advanced security features" involve installing
| it on-site and offering am "all of your company's words don't
| get sent across the Internet to another company" feature.
| Szpadel wrote:
| that.
|
| especially what is puzzling me is:
|
| > For security reasons, we do not have Chrome crash reporting
| enabled.
|
| so we do not want to have stack traces or whatever else this
| includes for security reasons, but installing basically
| keylogger that does spell check is ok
|
| there are companies that forbid using chatgpt for even html
| development because this could leak company secrets, but
| grammarly on confluence/jira is just fine
| bongodongobob wrote:
| The vast majority of companies don't write _any_ code ever.
| Not everyone is developing "apps".
|
| If you're going to generalize "everyone" you need to
| understand your business type is a tiny tiny minority of what
| most people do.
| ozr wrote:
| I really like Grammarly as a product, but I exclusively use
| their web editor. I wonder what their web vs desktop usage is.
| mrweasel wrote:
| Grammarly is perfectly reasonable product, the major issue is
| that no adults seems to be in charge at Grammarly This is
| clearly a product that should never ever be sold a service.
| This needs to exist solely as a local installation, there is no
| way to justify the current implementation and someone in charge
| at Grammarly should have pull the emergency break and demanded
| a re-implementation.
|
| I understand why Grammarly sells their product as a service,
| but it's irresponsible and they are just waiting for their Okta
| moment.
| hartator wrote:
| Maybe the name was odd `loader-spinner.gif`
| FrankWilhoit wrote:
| Error code 5, on Windows, means that the code tried to
| dereference a null pointer. I'm guessing that the GIF content is
| corrupt, containing some 0x00 bytes where they shouldn't be. Then
| the question becomes, whose responsibility is it to program
| defensively against things like that? If, as may well be, Chrome
| is using some third-party library nested several layers deep to
| render GIFs, then would there be any action that the chrome devs
| could take, aside from replacing that library with a better one
| and adding a malformed-GIF test case? (Why don't they already
| have a malformed-GIF test case...?)
| londons_explore wrote:
| Lets be honest, it was probably some grammarly .dll that had
| been injected...
| saagarjha wrote:
| Considering they're trying Safari I suspect they're on macOS.
| Night_Thastus wrote:
| I've actually seen something like this in the wild myself. For
| awhile there were some GIFs that if placed in Discord, would
| cause it to crash for everyone who was looking at the chat.
|
| Admins had a fun day when that was found!
| sethammons wrote:
| > The code for our main navigation bar has a fair amount of
| metaprogramming, and chasing down threads here was often more
| confusing than not.
|
| One more point for Don't Be Clever. As Brian Kernighan put it:
| "Debugging is twice as hard as writing the code in the first
| place. Therefore, if you write the code as cleverly as possible,
| you are, by definition, not smart enough to debug it."
| ja5087 wrote:
| We used to develop software that used the Windows Accessibility
| APIs (UI Automation). On certain versions of Excel with some
| files it would crash the client application with a null pointer
| exception once you try to read the window name/class. It would be
| interesting to see the cause of the crash e.g. a core dump/user-
| mode dump/event viewer log.
| bluesmoon wrote:
| Reminds me of the time back in 2010 when a piece of CSS on the
| Yahoo Search page would cause a complete desktop crash on Red Hat
| Linux: https://tech.bluesmoon.info/2010/04/can-website-crash-
| your-r...
|
| To the author, did you ever consider contacting the Chrome dev
| team about this? They're pretty responsive to bug reports.
| rvanlaar wrote:
| Ah, Chrome and slow spinners.
|
| Python tests were taking ages on VSCode due to an SVG spinner:
|
| https://bugs.chromium.org/p/chromium/issues/detail?id=103626...
|
| https://github.com/microsoft/vscode-python/issues/9216
| boringuser2 wrote:
| The blink debug logs would probably be pretty useful for the
| engineers involved...
| rootsudo wrote:
| For security reasons, your organization disables Chrome crash
| reports but allows the use of Grammarly, an app that essentially
| functions as a keylogger. Consented or not, it's a keylogger.
|
| https://support.grammarly.com/hc/en-us/articles/360003816032...
| crazygringo wrote:
| tl;dr: a certain GIF would crash a Chrome tab, but only when the
| desktop version of Grammarly was installed. (Not a Chrome
| extension.)
|
| That's insane!
|
| Can anyone think by what _possible_ mechanism the installation of
| Grammarly could affect whether a .gif file would crash Chrome?
|
| The company seems to be on Macs since they report that the
| problem doesn't surface in Safari.
|
| Is there some kind of dynamically-linked GIF decoding library
| used by macOS that Chrome relies upon, and Grammarly somehow
| installs one that takes precedence for all applications? I didn't
| think this would be possible -- I thought image decoding was done
| natively in the browser and not outsourced to the OS, for
| security reasons.
| saagarjha wrote:
| This would be strange since macOS should not let Chrome load
| libraries that aren't signed by Google.
| masswerk wrote:
| Maybe, the GIF contains a text comment and Grammarly not only
| accesses this, but also alters it (for whatever reason), thus
| overwriting the file in a way in memory that offsets in the GIF
| file or its in-memory representation are violated?
| hcrean wrote:
| I wonder if they checked for exploit code in the image the they
| likely originally found somewhere on Google.
| toddmorey wrote:
| Once my college professor was working on her research paper and
| told me she was struggling get text to stay underlined. Assuming
| a simple user error, I expected to help her out in 5 minutes.
|
| Over three hours later, we discovered that the combo of her
| specific video card driver version along with her specific
| printer driver version would keep text from printing out
| underlined.
| generationP wrote:
| Huh? How does a video card affect printing?
| jfoutz wrote:
| A lot of rendering will go through the video card if
| available, like the jvm does this as an optimization.
| toddmorey wrote:
| Ah interesting. That makes sense. I had no idea.
| shever73 wrote:
| It often did, particularly on older versions of Windows. I
| helped uncover a bug in Epson printer drivers ~20 years ago
| that was caused by a specific graphics card.
| shermantanktop wrote:
| 20+ years ago I was in tech support and had to help someone
| figure out an issue where her document wouldn't print on a
| Brother printer. Turns out a section divider line would
| block the entire doc from printing (by crashing the app) if
| the line's end-cap style was set to square rather than
| rounded.
| to11mtm wrote:
| One of the ways to print things (especially on windows) is
| Via GDI. [0]
|
| Basically using the OS's rendering to make a raster that is
| then sent to the printer. The main thing the printer's driver
| does in this case is know how to take the bitmap and tell the
| printer to print the bitmap (i.e. chunking data and/or
| sliding the right commands into the bitmap stream)
|
| Contrast to, say, PostScript which allow for more compact and
| better scaling definition of what to print. This obviously
| works better for quality, however for a long time the issue
| was you then had to have sufficient processing power on the
| printer itself to handle it.
|
| [0] - Search for 'GDI Printer' for a little more info.
| generationP wrote:
| Interesting! So that's why I used to get crappily
| rasterized printouts of PDFs in Chrome a few years ago.
|
| I had thought printers could be trusted with their own
| rendering, but of course that is another can of worms...
| userbinator wrote:
| More relevant to the bug is the fact that GDI can do its
| own rendering, or send commands to a driver, usually for
| GPU hardware acceleration, but the same applies to
| printers.
| issung wrote:
| How does one discover something that niche in ~3 hours?
| toddmorey wrote:
| Lots of internet searching and even a few calls to HP
| support. To be honest, we dismissed some of the earlier
| suggestions to upgrade the other drivers from other
| vendors... so maybe most of the time was us getting past
| ourselves and our disbelief.
| 29athrowaway wrote:
| Much better than the Xerox bug that caused numbers in scanned
| documents to get changed.
|
| https://www.zdnet.com/article/xerox-scanners-alter-numbers-i...
|
| Ouch
| b3lvedere wrote:
| I kind of remember this one. It wasn't really a bug. I think
| Xerox used software that was known to not be 100% trustworthy
| to recognize numbers when used at a certain compression
| level. It was even in the manual if i'm not mistaken.
| calessian wrote:
| The manual pointed out this can happen at higher
| compression levels, but they were able to reproduce it at
| all levels.
| nialv7 wrote:
| I feel the author might have missed out on a multi-thousand
| dollar bug bounty.
| aaaronic wrote:
| This is _so_ familiar!
|
| I have seen accessibility tools in Chrome lead to this kind of
| issue in the past with a dropdown menu -- to the point where it
| could be replicated with a miniscule amount of HTML. The
| particular bug I hit 2 years ago was in Chromium-Edge, but the
| symptoms and cause were very similar.
|
| Grammarly almost certainly leans on some of the accessibility
| tools in Chrome. These tools are somewhat different in the
| various Chromium flavors (Edge, Brave, Chrome, etc.).
| nonethewiser wrote:
| So the theory would be that grammarly desktop sees the gif
| (what? How?) and calls some browser accessibility function on
| it (or?) which chrome cant handle and it crashes?
| saagarjha wrote:
| Perhaps it has an extension that it installs that does this?
| codethief wrote:
| They did try disabling browser extensions, according to the
| blog post.
| aaaronic wrote:
| With the bug I saw years ago, just having certain
| accessibility features of the browser enabled _at all_ caused
| the bug (we were able to temporarily mitigate by disabling
| some obscure Edge accessibility feature via a launch
| parameter). So, my theory here is Grammarly is just enabling
| an optional accessibility feature in Chrome that has this bug
| when trying to "read" the gif.
| gelatocar wrote:
| As I was reading this I was thinking to myself "I wonder if it is
| grammarly related" because I experienced a bug some time ago that
| presented itself in a similar way. It was impossible to reproduce
| but affecting lots of people internally within certain
| departments. Eventually we figured out the thing they had in
| common was that they had the Grammarly extension installed.
|
| The other key thing was that the bug only appeared on our staging
| preview urls, not on the live website. It turned out it was
| because of a bad regex in the grammarly extension that caused the
| page to hang if the domain name was more than about 100
| characters. Our staging domains were pretty long, I think they
| contained a few subdomains and had a job number or something in
| there.
|
| This one is more crazy though if it is really caused by the
| desktop app - that's pretty scary!
| codethief wrote:
| > It turned out it was because of a bad regex in the grammarly
| extension that caused the page to hang if the domain name was
| more than about 100 characters.
|
| Just today I debugged a regex that would DoS our backend
| whenever the user enters the wrong thing in a form.
|
| Now I'm reading up on regex engines:
| https://swtch.com/%7Ersc/regexp/regexp1.html
| dev_slash_null wrote:
| Just in case you haven't seen the postmortem of the
| Cloudflare outage which also was caused by a regex based DoS:
| https://blog.cloudflare.com/details-of-the-cloudflare-
| outage...
| radiojosh wrote:
| That was a great read, but there was one thing I didn't
| understand: Why would the regex string have ". _" twice in
| a row? What does "._. _" find that "._" doesn't find?
| Does that just mean "at least two characters"?
| rjbwork wrote:
| It means specifically 2 characters, and is equivalent to
| .{2}
|
| ..+ or ...* are ways of writing "at least two
| characters".
| bn-usd-mistake wrote:
| A single `.` matches exactly one character. `..` matches
| exactly two characters (not more, not less).
| beaugunderson wrote:
| I had a ReDoS issue at a prior company many years ago; at
| least they're lintable now: https://ota-
| meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-
| move.html https://www.npmjs.com/package/eslint-plugin-
| redos/v/1.2.0
| karmakaze wrote:
| I was so disappointed that the story ended with we can't look
| inside Grammerly or Chrome to know why the gif decode/rendering
| causes it to crash. This isn't interesting at all. Many
| problems get narrowed down to some combination but not knowing
| really why is unsatisfying.
| chatmasta wrote:
| It would be nice if the author would at least publish the
| .gif file. I want to dig into this.
| jsunderland323 wrote:
| Agreed. I was on the edge of my seat. I wouldn't do a write
| up for something like this. I feel no-soap radio'd.
| jolux wrote:
| The Chromium source code is also available, not sure why they
| said they couldn't look at it. If it replicates with Chromium
| you can dig right in.
| rhaps0dy wrote:
| If you read carefully you will see that they said the bug
| didn't replicate with Chromium
| rezonant wrote:
| They did yeah, but did they try Chromium with Grammarly?
| bongodongobob wrote:
| Holy shit. I had a similar thing happen with some web based
| video surveillance software maybe 5 years ago.
|
| A manager of some sort had his aging laptop replaced due to a
| company wide Windows 10 upgrade project. Super friendly older
| guy, probably in sales. IT went through all the procedures of
| inventorying software and network needs, backing up user
| profile and docs, etc. Great processes in place. I remember
| this because I saw the device assessment and it was like a 10
| year old Thinkpad with 4G of RAM and a note saying he had to
| keep it plugged in at all times or it would shut down. Who puts
| up with that? Patience of a saint. Anyway.
|
| Laptop was deployed by onsite IT to verify everything was
| gravy. All checked out except for Grammarly. License didn't get
| transferred properly or something so they had to put in a
| request to get his licensing working.
|
| Fast forward a week and he gets his license key and Grammarly
| is tested good to go. He's checked off the list.
|
| Later that day we get a call about not being able to see
| security cameras because the web page is crashing. Helpdesk
| tries the basics, reboot, clear cache, reinstall browser,
| rebuild profile, etc., nothing works and it gets escalated to
| me. I check the network, firewall logs, log into another PC,
| onsite, off-site, etc. All working for me, no one else having
| issues.
|
| I tell him "I'm completely baffled here, have there been any
| changes lately? In your office? With your PC?" He jokingly says
| "Well yeah they installed Grammarly today maybe that's it?" We
| both laugh and I say well, I'm literally out of ideas, fuck it
| let's try it.
|
| I remote in and uninstall Grammarly. "Ok go ahead and try the
| cameras lol". I then watch him open up Outlook, go to a folder
| named "Cameras", and open an email with a link to his cameras
| "home page". It fuckin worked. I turned Grammarly back on and
| clicked the link and sure enough it failed.
|
| I made him a browser shortcut, moved his "email shortcuts" into
| his browser, blew his mind, and closed the ticket, but it
| definitely bugged me.
|
| This tracks because it was some very dated camera software
| (you'll know what I mean if you've seen it) and the link was to
| his customized homepage with a super long php (or something)
| generated url. He was the only one at the site with Grammarly
| as well so it was the only time we saw the problem.
|
| Thank you, I can finally close this cold case out in my brain.
| leptons wrote:
| If a website bug is not easily solved, first order of
| troubleshooting is to disable all extensions. Devs don't often
| think an extension could be causing the problem, but extensions
| can do wild things to a webpage. I've caught a few bugs caused
| by extensions this way.
| SonOfLilit wrote:
| This is not an extension. It's some other kind of plugin or
| weird hook. They tried disabling all extensions first thing.
| aquafox wrote:
| I randomly had the issue that after booting up Linux, I didn't
| have any sound. Turns out it was related to my Windows dual-boot
| setup!
|
| When restarting from Windows, Windows doesn't shut down my
| realtek audio device, but only puts it to sleep and Linux fails
| to start it. Only solution is to always do a shutdown from
| Windows and then hitting the power button. The issue is still
| there: https://askubuntu.com/questions/1032543/no-sound-in-
| ubuntu-1...
| nightfly wrote:
| I've seen the opposite-ish: Someone who was dual booting
| windows and linux only had working wifi if they booted into
| windows and rebooted into linux. The linux install didn't have
| the firmware package for their wifi card installed, so when
| rebooting from windows into linux it was still all primed and
| ready to go but not when cold booting into linux directly.
| sodality2 wrote:
| This is my exact problem with a HP envy X360. HP refuses to
| fix the bug in BIOS. :/
|
| https://bugzilla.redhat.com/show_bug.cgi?id=2107845
| 6510 wrote:
| Every other day I read some fascinating HP adventure. I've
| done some questing myself, cant really tell if I did well,
| are they new multiple issues or the good old same?
|
| Your comment had me wonder if a kickstarter for an rpg game
| called HP printers would take off. The potential fan base
| is HUGE, I imagine even people who would never play a game
| would want to see it.
|
| Let the GUI be like little computer people (only an office)
|
| https://youtu.be/SkTgX1mGmDg?t=17
|
| Then the player has to go though rituals depending on the
| HP printer type, swap old for new then new for old then old
| for new ink cartridges after finding the instant ink
| package in storage, if any spawned of course.
|
| If you try to go to fast the hero starts destroying the
| office, starting with the printer. Then a new different
| model is delivered. Ready for setup.... or maybe not?
|
| In some laps of consciousness I purchase one more some
| years ago. The hours of configuring it made me feel dumber
| than the wrath of the HP dungeon master.
|
| The ISP has a wifi router fixed on channel 11, half the
| neighborhood sits on channel 11, range is about 4 meters,
| the printer doesn't reconnect unless unplugged first. But
| there is wifi direct, this doesn't have 50 cm of range, it
| wants to use channel 11.
|
| in the game our hero at least at first doesn't know about
| channels. The next printer arrives: _Something seems off,
| there is no usb cable in the box? Do you want to A) order a
| cable B) we will use wifi!_ Of course if you order the
| cable the boss will complaint that it takes to long to set
| up the printer but when you eventually get the cable the
| boss wants to print from his phone...
|
| https://freesound.org/people/InspectorJ/sounds/402095/
| lostlogin wrote:
| > Your comment had me wonder if a kickstarter for an rpg
| game called HP printers would take off.
|
| The thing is, a lot form people are already playing this
| game, which limits the appeal of the simulation version.
| genpfault wrote:
| Had the same thing going the other way: rebooting from Linux
| caused Windows 10 to bluescreen during boot.
| trinsic2 wrote:
| turning off fast user switching didnt fix it?
| roflmaostc wrote:
| once observed similar behavior with my bluetooth device years
| ago.
| sfink wrote:
| Next time this happens, I recommend just letting people use a
| different browser. Firefox in particular has gotten much better
| at importing bookmarks, passwords, etc. from Chrome.
|
| It was a Sign from the universe that it was time to make the
| switch. Who are we to reject Signs?
|
| (Full disclosure: I'm an engineer on Firefox. But that has
| nothing whatsoever to do with my advice here, no siree Bob, not
| in the least.)
| OsrsNeedsf2P wrote:
| As an engineer, yes Firefox is a good solution
|
| As a PM, we spent 4 months making the onboard easier, and now
| you want people to install a new browser?
| noizejoy wrote:
| Having multiple browsers as a standard installation and
| employee training is an investment in business continuity.
|
| And business continuity investment is like insurance: A waste
| until you need it.
|
| Too much monoculture is short sighted and long term
| expensive.
| hirsin wrote:
| Do you ship them extra computers too? Dual boot? There's
| gotta be a limit somewhere, and browser choice is a fair
| one.
|
| For engineers, absolutely, two browsers because some are
| liable to hit (self or team induced) bugs. But for sales?
| Support? Nah.
| Shaanie wrote:
| I run into Firefox compatibility issues waaay more frequently
| than chrome compatibility issues, for obvious reasons. Even
| extremely obvious issues, like 2fa login not working on
| mobile Firefox, are surprisingly common to find, so I'd never
| install Firefox as a primary browser for non-techies
| nowadays. I use Firefox myself for ideological reasons,
| though.
| mplewis wrote:
| This is explicitly stated as a workaround in the linked
| article.
| langsoul-com wrote:
| Chrome is over half the market. Not a good sign for a browser
| based product to not properly work on the most used browser on
| the world...
| denton-scratch wrote:
| Awww. I was really enjoying that; I like detective stories and
| rabbit-holes.
|
| Then we get to the punchline: "Uh, we fixed the bug, but sorry
| folks; we didn't solve the puzzle". So I guess we'll never know
| why that particular anigif crashed Crome but only Chrome, and
| only if Grammarly was installed (or had been installed during the
| same session).
|
| I hope Amy Lai lets us know if the story ever gets an ending!
| lantry wrote:
| > Turbo is a gem we added to speed up our Rails application, but
| it turned out to be a red herring: it was only introduced after
| the bug had already been reported, and we learned that the
| engineer who introduced it had actually been experiencing these
| Chrome crashes for months prior to Turbo being introduced, and
| months prior to the bug being escalated to us.
|
| lolol I can just imagine the engineer working on this: "huh, it
| keeps crashing, that's weird. Oh well, it was like that when I
| got here. ship it"
| CGamesPlay wrote:
| I love the corporate security policy that disables Chrome crash
| reporting for security reasons, but allows employees to install
| Grammarly.
| NautilusWave wrote:
| This reminds me of an old Chrome bug we ran up against involving
| the auto fill feature. All day, our software users are entering
| patient data, including address information. Chrome would grind
| to a halt on certain pages trying to provide all their previous
| entries as auto fill options to the form fields. Our sysadmins
| disabled the Chrome feature for all of our internal users and the
| issue disappeared.
| numitus wrote:
| Interesting advertisment, but not really a tech article.
| EdwardDiego wrote:
| Wrong article?
| resonious wrote:
| I gotta say, the ending was pretty disappointing. I was so hyped
| to learn _why_ Grammarly crashes when Chrome loads a particular
| gif. What about the gif was different? What part of Grammarly
| made that happen? I hate to say it but this is modern web dev in
| a nutshell. Remove stuff until you find where the bug is, tweak
| it randomly until it 's fixed, done. No root cause analysis or
| anything deep.
|
| This is a great post anyway. Well written and still quite
| intriguing right up until the end. And it seems lots of comments
| on here seem to also know about this problem, so I think I can
| still satisfy my curiosity.
| eyelidlessness wrote:
| > I hate to say it but this is modern web dev in a nutshell.
| Remove stuff until you find where the bug is, tweak it randomly
| until it's fixed, done.
|
| I've alternated between frontend, "full stack", and backend
| roles for over 20 years. It's my experience that what you're
| describing is "dev in a nutshell"--neither "modern" nor "web"
| in the sense you seem to mean. And in any case it's highly
| situational and variable depending on the dev and their team.
| randshift wrote:
| They never root caused the bug! They know a symptom (Grammarly
| and this gif cause things to crash) but still no root cause. I
| was pretty disappointed at the end.
| sanderjd wrote:
| It was like reading a Sherlock Holmes story where they just
| decide to put Moriarty in jail and that fixes everything, but
| Holmes doesn't actually figure out what was going on.
| karim79 wrote:
| > When I removed loader-spinner.gif, the placeholder we display
| while the menu options load, the page stopped crashing. Eureka!
| It's the gif! We swapped in a different gif and the page did
| not crash.
|
| I would love to have the original and the un-crashy gifs
| mentioned. It's super easy, generally, and even without an
| extensive knowledge of image formats to get a grasp of what
| might be going on and then going down some really exciting
| rabbit-hole of image encoding/decoding issues.
|
| Just take the two gifs and run them (one by one) through
| ImageMagick or GraphicsMagick to print out the details of
| what's in them, and look for differences.
|
| Assuming ImageMagick is installed (or GraphicsMagick)
| installed, something like:
|
| #imagemagick
|
| $ diff <(identify -verbose loader-spinner-CRASHY.gif)
| <(identify -verbose loader-spinner.gif)
|
| #graphicsmagick
|
| $ diff <(gm identify -verbose loader-spinner-CRASHY.gif) <(gm
| identify -verbose loader-spinner.gif)
|
| ...and rabbit-hole away
|
| EDIT: formatting
| alpb wrote:
| Agreed.
|
| > Unfortunately, with access to neither the Chrome source code
| nor the Grammarly source code, we can only guess.
|
| Chromium source code is open. They could also certainly try
| different versions of Chrome to bisect when the issue has
| started to happen. Isn't there a chance perhaps this crash
| might actually be disguising a buffer overflow vulnerability as
| well? Typically user inputs aren't supposed to crash
| browser/renderer processes.
| alexeldeib wrote:
| They allegedly tried chromium without luck.
| Sxubas wrote:
| > I hate to say it but this is modern web dev in a nutshell
|
| I'd rather call it scientific method: observe, form a
| hypothesis, experiment and analyze results.
|
| I agree it is anticlimatic to not know the root cause, but the
| rant about the current state of web dev seems out of place. We
| dont even know if it was because a web technology.
|
| Some folks were mentioning issues from printers being caused by
| graphic cards drivers. One would love to blame printers, but it
| turned out they were not the culprit.
| robocat wrote:
| > No root cause analysis or anything deep.
|
| Spending time to create a test case and sending it to the
| browser bug team gets the bug fixed? Riiiiiiiiight.
|
| Actually I did that for a while and the Chromium team would
| occasionally fix some fairly subtle issues: assuming I could
| make a demo of the problem and took the time to write up a good
| bug report. Maybe they just liked me! The Chromium team also
| wrote fantastic public followup to bug reports (whether fixed
| or not).
|
| Certainly I never had any luck getting even _extremely serious_
| browser bugs fixed by anyone else (Apple, Mozilla, Microsoft)
| regardless of how much time I wasted trying to give good
| informative bug reports. And you never found out anything
| further - talking to walls is more productive.
|
| It feels good trying to help the world be a better place, but
| it wasn't worth it.
|
| Don't waste your time fighting windmills. Find a workaround,
| document it with a comment, forget about it. Do something that
| makes your business successful instead.
| flippinfloppin wrote:
| And when you consider they end with the pitch "If you also
| enjoy collaborating with relentlessly curious people, we are
| hiring!"
|
| What is effectively guessing which is what this article entails
| - without knowing the actual cause - hardly qualifies one as
| "relentlessly curious".
|
| Personally I deeply dislike the random walk towards insanity
| that modern dev takes with the constant churn and layers of
| fixes upon fixes - react state is no good! use redux! use this!
| use that! And before you know it knowing what is actually going
| on becomes nearly impossible!
| userbinator wrote:
| I agree with the others here about the ending being a total
| letdown.
|
| _Unfortunately, with access to neither the Chrome source code
| nor the Grammarly source code, we can only guess._
|
| Is this what the "open source" movement has created ---
| developers who are totally lost without source code and refuse to
| dig deeper? Of course the corporate interests who don't want us
| to know the truth, because their profit depends on it, would
| absolutely adore such propaganda...
|
| I still remember a time when a lot of people would disassemble,
| understand, and patch programs without source --- and many of
| them weren't even career developers; it was just a way to get
| software to do what one wanted, and driven by that motivation,
| one would naturally learn enough to do so.
|
| The article also touches on another point worth mentioning: the
| amount of complexity in the whole stack is insane. Seeing all the
| frameworks upon frameworks being name-dropped, I can't help but
| feel like a lot of this is self-inflicted.
|
| _When I removed loader-spinner.gif, the placeholder we display
| while the menu options load, the page stopped crashing._
|
| Do menu options take long enough to load that they need a loading
| animation?
| hmry wrote:
| Presumably they make a network request to get the options. So
| it makes sense to have a loading spinner just in case it takes
| a long time, even if it's usually near-instant.
| windowsworkstoo wrote:
| Very well said - even with open source there seems to be a
| general lack of willingness to actually read code, let alone
| crack open the disassembler or attach a debugger - the skill is
| apparently not taught anymore
| andershaig wrote:
| I can't remember the details anymore but the craziest bug I ever
| found was one that would crash the page whenever Chrome's
| Developer Tools were opened. I ended up having to use an embedded
| JS-based dev tool to figure out what was going on (I was a pretty
| junior developer and didn't have any better ideas at the time).
| DaleCurtis wrote:
| Even if you have crash reporting disabled there should be a .dmp
| generated somewhere in the user profile directory. Manually
| uploading that to a bug at https://crbug.com/new would allow a
| Chrome developer to debug it.
|
| If you can't share the dump for similar reasons to why you have
| crash reporting disabled, you can build minidump_stackwalk from
| Chromium and use it to generate an unsymbolized stack trace that
| you can post to the bug. A Chrome developer can then symbolize
| it.
|
| https://www.chromium.org/developers/decoding-crash-dumps/ has
| some more details.
| LASR wrote:
| I discovered a bug like this with GIFs too. It turns out some
| gifs can be encoded such that it is animated and a single frame
| long.
|
| Can't remember the exact event name now, but the browser fires a
| play event when gifs loop.
|
| This particular gif was issuing too many of these play events
| that made the app super slow and freeze since it was doing some
| work in those handlers.
|
| We had a bunch of crash reports and bug reports. None of those
| showed the actual gifs our customers were using. When we asked
| for the actual gif, we immediately spotted the problem.
| 1letterunixname wrote:
| _Spoiler alert_ But if you read the article... ;@)
|
| Improper animated GIF decoding is potentially a bug and
| potentially a security vulnerability. The reality is this leads
| to duck-tape workarounds and greater tech debt on the production
| side of the web. Sigh. There are standards, there are
| expectations, there quirks across N implementations, and MxN
| layers of duck tape in M consuming implementations. Just one
| implementation intentionally or unintentionally being different
| causes M headaches.
|
| Also fun Chromium-derived browserisms:
|
| - Updating while open is allowed and leads to silent and not-so-
| silent breakage.
|
| - MSFT MDE causes unexpected breakage in fun ways every now and
| then, including the cause of a crash while dragging a tab on
| Windows.
|
| - Some flavors of Chromium browsers are broken with IPv6 enabled,
| leading to an ERR_NETWORK_CHANGED on every nth page visit.
| slavboj wrote:
| Grammarly is an ipso facto security hole that is extremely likely
| to be pwned or controlled outright by a number of state security
| services. It should be treated like malware.
| jtokoph wrote:
| It's hard blocked on any corporate devices where I work.
| fijiaarone wrote:
| Ah, Tsutomo, my learned disciple!
| jongjong wrote:
| Grammarly is awful. I remember adding custom grammarly attributes
| to sensitive password fields so that Grammarly would not read and
| store our users' passwords inside their service. So nasty.
|
| This company would sure make a great asset for the FBI, NSA and
| CIA given that they're so interested in snooping in on foreign
| language speakers; which happen to be grammarly's main
| demographic. The thing is malware.
| socketcluster wrote:
| The weirdest bug I've seen yet was a concurrency race condition
| which led to 'spooky action at a distance'. Every time I tried to
| console.log() to observe some value to see the cause of the bug,
| the bug would go away.
|
| But alas, I hadn't discovered some new quantum effect... It turns
| out to have been because the race condition was close within
| maybe 1 millisecond and adding the console.log() statement there
| meant that one part of the code would take a bit longer to
| execute and so the race condition would not occur.
| KevinMS wrote:
| https://en.wikipedia.org/wiki/Heisenbug
| ghosty141 wrote:
| In Qt QML using print can lead to different behavior very very
| quickly since their engine creates bindings on whatever it
| comes by so using two variables in a print statement can lead
| to different behavior than just using one. QML in general is
| just awful.
| hrtk wrote:
| Can you share the `loader-spinner.gif` ? Preferably over a
| service that does not recompress it.
| 6510 wrote:
| alert(banana++)
|
| Should lock things up and not continue until OK is clicked.
|
| If it is just you and your application you can just spray paint
| from the hip the alerts from top to bottom. After each line of
| html you can have one more <script>alert(banana++)</script>, in
| the middle of your css
| </style><script>alert(banana++)</script><style> etc
|
| If there are uhh thousands(?) of people actively using the page
| you put just one alert some place in the middle.
|
| Everyone will have to click on OK, the page crashes. You ask the
| crashee: Did it crash before or after the _" make America great
| again"_ alert message. (call it something they would remember)
|
| Now you know the issue is in the top or bottom half. You move the
| alert to half way the half with the issue in it. If you can get
| some sort of reasonably consistent crashing you will find it
| pretty quick even in production.
|
| Hope this helps, or maybe it is a stupid idea and you could
| explain why.
| jspaetzel wrote:
| I've run into something similar to this a few years ago where
| chrome randomly introduced a rendering bug that resulted in a
| similar crash and only affected our application in seemingly
| random fashion. I don't remember the full context but I think it
| was something involving layers & transparency.
|
| We finally figured it out when a coworker couldn't replicate and
| we noticed they were a version of chrome behind. We were able to
| track down the specific commits in chrome that broke & fixed it
| in our case which was pretty cool to see at the time.
|
| If you have any more time I recommend reading through the commit
| log and see if you can find the changes that broke/fixed this for
| you. I'd bet on another rendering bug.
| cristeigabriel wrote:
| If Chrome is able to generate a crash-report, nothing would
| prevent you to intercept it.
|
| > Unfortunately, with access to neither the Chrome source code
| [...]
|
| I mean, it's still very possible to debug (especially with the
| fact in mind that Chromium is open-source, and for me has been a
| very useful source when reverse-engineering and debugging
| Chrome), but I understand why web developers would not be trained
| in reverse-engineering techniques.
| bradley13 wrote:
| It is so satisfying to finally identify the root cause of such an
| obscure bug. Of course, along the way, you will shed tears.
| Sometimes literally.
|
| I had a funny one a couple of weeks ago: Text on a button would
| sometimes not display. After much experimentation, it turned out
| that the text would display unless the character 'D' was present.
| It turned out that the sizing of the buttons was just barely
| large enough for the font-size selected, and apparently the 'D'
| in the selected font was microscopically taller than other
| characters.
|
| FWIW I have to thank ChatGPT for helping solve that one. I
| explained the problem, and it gave me a list of things to try...
| jon-wood wrote:
| The thing that struck me here is that Chrome crash reporting is
| disabled for security reasons, presumably not wanting to risk
| customer information being sent to a third party, but Grammerly
| is apparently fine? How is a tool that sends literally everything
| you type to a third party ok, but one that maybe sends something
| if the browser crashes isn't?
| jaggirs wrote:
| Because doing that is a core part of Grammarly, i.e. they can
| argue in court that the user should obviously expect grammarly
| to send the data to their servers. Sending crash report data is
| not so, as it is not essential to using the service.
| SonOfLilit wrote:
| When I reached the "Stroke of Good Luck" title, I put down my
| phone and tried to think what it could be based on what I know
| before the reveal.
|
| It was really hard to generate thoughts of the form "subsystem x
| causes the crash" and not of the form "try to do experiment x
| next", but here's what I came up with:
|
| - a headache trying to think about it - if it's not an extension,
| it's likely another piece of software that has code running in
| the browser, like PDF plugins used to before Chrome started
| handling PDFs itself - the crash is in one of the browser
| subsystems, so either in the JS engine, the GPU code, the layout
| engine, the parser, some format plugin (video? pdf?) or the
| network code. Some format plugin is most likely of these to only
| crash for tech support and remote developers but not devs
|
| Seems I was pretty close. After doing this exercise I would
| probaply have compared lists of installed software between staff
| who see the bug and those who don't, which would have solved it.
| My takeaway is that Zen debugging (just thinking what possible
| causes the seen behavior could have, without atking any new
| actions or measurements) is useful even when it seems completely
| useless and causes a headache.
| butz wrote:
| And that's yet another reason that we must have several different
| browser engines.
| Fanmade wrote:
| Ah yes, the great fun of bug-hunting. Probably most people in
| working IT have some stories to tell about this.
|
| One thing that comes to my mind happened in a company where they
| used a simple software to create medical reports. One clerk
| suddenly started creating "broken" PDF files. I debugged this for
| hours and could not find anything. At some point, I just copied
| the full raw text content that the clerk had written into one of
| those files out of the database into Sublime Text and I suddenly
| saw a small box appear between two characters of one word. It
| turned out that this clerk had created a Word document with text
| templates. Some of those texts were copied (at least partially)
| from other documents or websites. Apparently, either something
| went wrong while copying some text, or there was some control-
| character embedded for whatever reason in that text. I don't even
| remember what we did to prevent this from happening anymore, but
| one single "invisible" character can really cause a lot of
| trouble.
|
| Another point is of course if you have strange side-effects just
| by combining specific software. Back in the day when Crysis 1 was
| new and popular, I was a little involved in the modding-scene. At
| some point, my CryEngine editor would refuse to start up. I
| reinstalled it and tried to debug it, but I could not find
| anything myself. So I turned to the forums and found a thread
| where a small group of people had the exact same problem. We all
| shared our setups and - basically by accident - found out that we
| all had Wacom tablets plugged-in to our computers. I don't
| remember if it was enough to unplug the devices or if we also had
| to uninstall the Wacom drivers, but one of those things fixed the
| issue and we could all continue to build beautiful maps in the
| CryEngine.
|
| Btw, I am now suddenly constantly aware of my Grammarly plugin
| ...
___________________________________________________________________
(page generated 2023-12-01 23:02 UTC)