zlacker

[parent] [thread] 3 comments
1. epolan+(OP)[view] [source] 2025-03-27 14:16:18
The worst bug I've ever encountered was a JS file that kept not running, with very cryptic and hard to understand trace that made no sense. TypeScript and others parsed it fine without any issues.

After 3 days of literally trying everything, I don't know why, I thought of rewriting the file character by character by hand and it worked. What was happening?

Eventually opened the two files side by side in a hex editor and here it is: several exotic unicode characters for "empty" space.

replies(2): >>skeake+cx >>wglb+GI
2. skeake+cx[view] [source] 2025-03-27 17:42:22
>>epolan+(OP)
I've seen this happen as the result of errant copy-pasting.
replies(1): >>shoo+RD
◧◩
3. shoo+RD[view] [source] [discussion] 2025-03-27 18:16:56
>>skeake+cx
I've seen this happen in enterprise systems integration work, where some data interchange spec is authored as a Word document, and it has tables defining valid string values for certain fields, and Word helpfully replaces plain ascii dashes in the string constants with pretty long dashes, and team A builds their side hand-typing these constants as plain ascii, and team B builds their side by copy-pasting the exact unicode strings out of the Word doc.

Not a hard thing to debug once the issue is noticed, and completely preventable (write specs in plain text).

4. wglb+GI[view] [source] 2025-03-27 18:41:01
>>epolan+(OP)
So curious if this added a trick to your debugging toolbox?
[go to top]