this post was submitted on 19 Sep 2024
728 points (97.8% liked)

196

16591 readers
2154 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
 
top 39 comments
sorted by: hot top controversial new old
[–] [email protected] 99 points 2 months ago (3 children)

That can happen with any program, and should be a simple fix on the dev side

[–] [email protected] 83 points 2 months ago (3 children)

It is also something that can happen easily. Just program to log an error and then the error happens unexpected every frame.

[–] [email protected] 73 points 2 months ago* (last edited 2 months ago) (2 children)

So

300×1024×1024= 314,572,800kb

Assuming something like 200 bytes per log line

x5 = 1,572,864,000 logs

Assuming this is your standard console port with a 60fps frame rate lock:

÷60fps ÷ 60 seconds ÷ 60 minutes ÷ 24h = 303.407... days

You would need to play for nearly a year solid to generate that many logs at a rate of one per frame.

Given that's probably not what's happened, this is a particularly impressive rate of erroring

[–] [email protected] 51 points 2 months ago (1 children)

Yeah, that does not add up, you are right. There must be several error or it must include the stacktrace or something.

[–] [email protected] 31 points 2 months ago (1 children)

It's possible that the log writer wanted to fseek to the end of the file and write something, but the target pointer value was somehow corrupted. Depending on the OS, the file might end up having a fuckton of zeroes in the skipped part.

[–] [email protected] 10 points 2 months ago (1 children)

That should result in a sparse file on any sane filesystem, right?

[–] [email protected] 9 points 2 months ago (1 children)

Theoretically, yes. Theoretically NTFS supports sparse files, but I don't know if the feature is enabled by default.

[–] [email protected] 2 points 2 months ago

It supports it, but it's opt-in by apps.

Enabling compression is another option (Though with a speed and size penalty), it's user visible at least.

[–] [email protected] 8 points 2 months ago

If you're getting a stack trace every frame youd be there much sooner. Maybe like a week.`

[–] [email protected] 37 points 2 months ago

It's a crash log, not an error log. It's probably dumping the entire memory stack to text instead of a bin dump every time it crashed. I would also suspect the crash handler is appending to the log instead of deleting old crashes and just keeping the latest. At several dozen gigas of RAM it would just take a couple of game crashes to fill up the 300GB.

[–] [email protected] 23 points 2 months ago

To happen every frame without crashing the game, it's more likely a warning ⚠️ "Warning, the texture is named 1.png instead of 1.PNG"

[–] [email protected] 16 points 2 months ago

It happened to my cousin awhile back with Photoshop. She’s a professional photographer and it shut her down for a few days. I found it pretty quickly and an update stopped it from happening. It wasn’t removing temporary files and totally filled her drive up.

Poor thing was ready to buy a new hard drive.

[–] [email protected] 5 points 2 months ago

I vaguely remember the Nvidia driver generating tons of log files, so many that they piled up over years and filled my drive

[–] [email protected] 82 points 2 months ago* (last edited 2 months ago) (6 children)

Ok, but the second tweet is a bit redundant

Like what else would a .log file be? A video file? A Word Document? An executable?

Do you really need to inspect the properties to be told: "This .log file is certainly containing text. Thank you for installing Windows 10. Save 5% on your Office 365 subscription with code 'ILOVEMICROSOFT'"

[–] [email protected] 76 points 2 months ago* (last edited 2 months ago) (3 children)

You should have rolling log files of limited size and limited quantity. The issue isn't that it's a text file, it's that they're not following pretty standard logging procedures to prevent this kind of thing and make logs more useful.

Essentially, when your log file reaches a configured size, it should create a new one and start writing into that, deleting the oldest if there are more log files than your configured limit.

This prevents runaway logging like this, and also lets you store more logging info than you can easily open and go through in one document. If you want to store 20 gb of logs, having all of that in one file will make it difficult to go through. 10 2 gb log files is much easier. That's not so much a consumer issue, but that's the jist of it.

[–] [email protected] 14 points 2 months ago (1 children)

Fully agree, but the way it's worded makes it seem like log being a text file is the issue. Maybe I'm just misinterpreting intent though.

[–] [email protected] 24 points 2 months ago (2 children)

200GB of a text log file IS weird. It's one thing if you had a core dump or other huge info dump, which, granted, shouldn't be generated on their own, but at least they have a reason for being big. 200GB of plain text logs is just silly

[–] [email protected] 8 points 2 months ago (1 children)

no, 200gb of plain text logs is clearly a bug. I run a homelab with 20+ apps in it and all the logs together wouldn't add up to that for years, even without log rotation. I don't understand the poster's decision to blame this on "western game devs" when it's just a bug by whoever created the engine.

[–] [email protected] 5 points 2 months ago

Agreed, and there's a good chance that log is full of one thing spamming over and over, and the devs would love to know what it is.

[–] pancakes 1 points 2 months ago

It could be a matter of storing non-text information in an uncompressed text format. Kind of like how all files are base 0s and 1s in assembly, other files could be "logged" as massive text versions instead of their original compressed file type.

[–] [email protected] 12 points 2 months ago (1 children)

As a sysadmin there are few things that give me more problems than unbounded growth and timezones.

[–] [email protected] 1 points 2 months ago

Printers. Desk phones. Wmi service crashing at full core lock under the guise of svchost.

[–] [email protected] 5 points 2 months ago (1 children)

Essentially, when your log file reaches a configured size, it should create a new one and start writing into that, ~~deleting~~ archiving the oldest

FTFY

[–] [email protected] 4 points 2 months ago

Sure! Best practices vary to your application. I'm a dev, so I'm used to configuring stuff for local env use. In prod, archiving is definitely nice so you can track back even through heavy logging. Though, tbh, if you're applications getting used by that many people a db logging system is probably just straight better

[–] [email protected] 26 points 2 months ago

if you assume the second post has ulterior meaning it could be that someone might not know what a crash log is, but most people who have interacted with computers at least once would be at least vaguely familiar window's file description and understand that text file icon + >200 gb size is not normal

this is, of course, a rather big assumption.
most people don't put that much though in a post and expecting them to will make your online experience a confusing mess.

[–] [email protected] 20 points 2 months ago (2 children)

Like what else would a .log file be? A video file? A Word Document? An executable?

I think their point is that a 200gb text file is a wild size usage for a crash log, and there's probably accidentally some binary data in that log. There's no way a crash log can exceed 2x the size of the game binary itself.

[–] [email protected] 22 points 2 months ago

Could be a bug in their crash handler, just like, infinitely looping and printing something over and over.

[–] [email protected] 3 points 2 months ago

Binary data is almost always more compact than text data

[–] [email protected] 10 points 2 months ago

It could be a binary file, though that would probably make it smaller if anything.

I'm guessing the point was the developer didn't invent some proprietary log that also contained a dump and other things that could conceivably be very large. That would also be terrible design, but managing to create hundreds of gigs of text in a game crash log is a special kind of terrible.

[–] [email protected] 9 points 2 months ago

Most people have zero understanding of how programs work. I have slightly more understanding than the average person and I didn't catch that a crash log would nearly always be a text file.

[–] [email protected] 6 points 2 months ago* (last edited 2 months ago)

It could be a XML or JSON with some embedded binary data (but to your point Windows isn't gonna figure that out from the extension)

[–] [email protected] 64 points 2 months ago (1 children)

My log file in rimworld after I add my 691st mod

[–] [email protected] 15 points 2 months ago

Oh no, I should probably check that.

[–] [email protected] 28 points 2 months ago

I’ve written code that has generated logs like that. In my case, I had all of my 12 threads writing to a logger, and over the course of 2 hours it got to about 250gb, which was the remainder space on my drive

[–] [email protected] 19 points 2 months ago (1 children)

I had this problem with my old phone...a One Plus 9. One Plus used to be so good now it's full of bloatware and bugs. Their suggested fix was factory resetting the phone to factory due to them limiting what files could be checked.

[–] [email protected] 10 points 2 months ago (1 children)

Yeah, my OP9 was my third OnePlus phone and my last one. I installed a security update that made the cell radio completely non-functional and had to factory reset it. I use my phone for 2FA to get into my work computer, so this was simply unacceptable.

I realized I wasn't doing enough with my phone to warrant flagship prices and ended up switching to a Pixel 6a I got on the cheap. Other than having to add wireless charging with an accessory, I haven't looked back.

[–] [email protected] 5 points 2 months ago

I switched to the Pixel 8. It's okay, good camera but a little buggy. Last phone I REALLY liked was the LG G5 that had a slide-out battery. I think it was t-mobile(?) had a bonus where they gave you a free extra battery and charger for that battery. I could go for a couple days at it's peak without a charger, just a battery swap