| ▲ | dotancohen a day ago |
| > recently we had a particularly bad case: a customer sent us an approximately 1 GB project file which was corrupt, for a game already published to Steam, which they'd spent months working on. They told us all their backups were corrupt too... Predictably, WinRAR's repair tool produced a 1 GB ZIP file that contained nothing.
Thirty years of creating and storing zip files on every major and some minor OSes, filesystems, sketchy transfer protocols, and unreliable media make me think that the huge number of issues this company has with corrupted ZIP files has nothing to do with the format or with its customers' bad practices. I think their software might just produce bad zip files. |
|
| ▲ | matja a day ago | parent | next [-] |
| The more popular your software is, the more likely you'll get bug reports from people with just bad hardware. I know a few applications now that perform a simple memory/CPU test when sending a bug report and reject those that are basically impossible. E.g.: 10% of Firefox crashes are caused by bitflips : https://news.ycombinator.com/item?id=47252971 |
| |
| ▲ | ranger_danger a day ago | parent | next [-] | | Firefox was the only program that was crashing on my "Vmin Shift Instability" bugged CPU. Before I even knew what the culprit was, I filed a bug report with Firefox and the first question they asked me was if my CPU was a Raptor Lake (it was). | | |
| ▲ | exe34 19 hours ago | parent [-] | | It's mind blowing for me whenever the hardware abstraction leaks like this. You (ie Firefox) had to call the instructions in a specific order to cause the hardware to fail. | | |
| ▲ | ranger_danger 11 hours ago | parent [-] | | It does make sense that a browser, being the thing most people would be running all day, basically fuzzes CPUs for free... they generate their own CPU instructions at runtime from the JIT engine(s), and different styles of webpages could cause every possible combination of instructions to appear throughout the day on every machine. |
|
| |
| ▲ | akoboldfrying a day ago | parent | prev [-] | | This is right. There's a reason people squat domain names that differ from well-known ones by a single bit flip. Think of how many old, shitty phones there are in the world, built using the cheapest available components and running in someone's crumb-filled, humid pocket right next to their magnetic key fob thing. |
|
|
| ▲ | AshleysBrain 14 hours ago | parent | prev | next [-] |
| Author here: we write zip files with the widely-used library zip.js [1], so if that's writing bad zip files, the problem is going to be widespread across many web apps. But I'd argue that zip.js is thoroughly battle-tested (current open issue count: 0) and not the cause of the problem. [1] https://gildas-lormeau.github.io/zip.js/ |
| |
| ▲ | dotancohen 12 hours ago | parent [-] | | Thank you for replying back with relevant details. Are you perhaps zipping something that other zip.js apps are not? Perhaps you have stumbled upon some edge case. |
|
|
| ▲ | toast0 a day ago | parent | prev | next [-] |
| There's tons of marginal hardware out there, and game developers sometimes push hardware pretty hard and may run early drivers, etc. |
|
| ▲ | BatFastard a day ago | parent | prev | next [-] |
| As the old saying goes, an untested backup is a non backup. |
|
| ▲ | shuwix 18 hours ago | parent | prev | next [-] |
| Only time .zip failed me was like in early 90's because floppy discs failed, not the .zip part. |
|
| ▲ | drfloyd51 a day ago | parent | prev [-] |
| They said as much in their intro. Due to a rare defect in our software, sometimes the zip is corrupted. We blame the user for not backing up, or backing up corrupted files. That is when I stopped reading. |
| |
| ▲ | AshleysBrain 13 hours ago | parent [-] | | I think you misunderstood: the point was sometimes project corruption is due to a defect in our software, in which case it is definitely our fault and we race to fix it. But most reports of corruption are bad zip files, which aren't our software (unless you think the widely used and battle-tested library zip.js is writing bad zip files, which I don't think is the case). My best guess is it's faulty hardware or system-level issues. |
|