Live data from Hacker News

The weirdest bug I've seen yet

engineering.gusto.com

321–330 of 334 posts

Re: The weirdest bug I've seen yet

#321

Earlier quoted context omitted.

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.

> 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],…

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/

Re: The weirdest bug I've seen yet

#322
post #297

Earlier quoted context omitted.

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

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…

> 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.

Re: The weirdest bug I've seen yet

#323
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 ...

Re: The weirdest bug I've seen yet

#324
post #163

Earlier quoted context omitted.

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 , or a , or a .gif .) 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.…

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.

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 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.

Re: The weirdest bug I've seen yet

#325

Earlier quoted context omitted.

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.

It would be nice if the author would at least publish the .gif file. I want to dig into this.

Second this. Also, I'd like to know what was different in the new gif.

Re: The weirdest bug I've seen yet

#327

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.

Update: After writing this comment, me and my wife started getting Grammarly ads. Awful.

Re: The weirdest bug I've seen yet

#328

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 deco…

It's not an uncommon problem unfortunately. On Windows the OS lets programs inject DLLs into each other's address spaces, and this is actually a very common programming technique for various reasons. Apps don't expect it to happen of course, and so this is a fertile field of bugs.

Chrome does in fact attempt to block some apps from doing this because they're known to cause crashes. You can see the blacklist here:

https://source.chromium.org/chromium/chromium/src/+/main:chr...

They don't like apps doing it but you can apply for an exception:

https://sites.google.com/a/chromium.org/dev/Home/third-party...

So my guess is that Grammarly is injecting code into other processes, probably to try and gain access to their text controls so it can Grammarlyze stuff, and somewhere along the line corrupts the heap or stack in some way. The GIF aspect might be a red herring, as the crash was IIUC never reliably reproducible. Random crashes that happen sometimes but not others is strongly indicative of something being randomly corrupted.

Or it could be something else. Chrome moved to blocking third party injects by default some time ago, so maybe that's also a red herring.

Re: The weirdest bug I've seen yet

#329

Earlier quoted context omitted.

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.

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.

TIL: Thanks for that. https://en.wikipedia.org/wiki/No_soap_radio

Re: The weirdest bug I've seen yet

#330

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,…

Expecting every developer to be able to patch a binary is, to put it politely, unrealistic.

The world of software engineering is enormous, and knowing all parts of the software stack hasn't been remotely feasible for a very long time.

Also consider the fact that software engineering is a journey of learning, and every one of us is on a different part of that journey.

Post reply on HN