Live data from Hacker News

What is the history of the ERROR_ARENA_TRASHED error code?

devblogs.microsoft.com

11–18 of 18 posts

Re: What is the history of the ERROR_ARENA_TRASHED error code?

#11

Earlier quoted context omitted.

MS-DOS doesn’t have memory protection, so another option is that the running program[1] or something like a TSR or driver could have corrupted the headers. [1] I guess in a modern system a process can still trash its own malloc, but not the kernel’s page allocation data.

Oh sure, and that happened a lot, but you'd usually see a gp fault before you would anything obscure...

You wouldn’t be getting a protection fault when protection isn’t enabled.

I should also note this error is the return code for MS-DOS’s memory management functions (such as int 21h ax 48h / 49h), vaguely similar to malloc() returning NULL. It’s not a fatal error, so how it’s handled depends on the programme. It could bail out, perhaps with a more general “out of memory” error, or try and carry on, or perhaps just start overwriting parts of the interrupt vector table as that’s where segment 0007h would start at…

(Though in the latter case on DOS just blindly assuming a memory allocation worked would be rather unwise so you’d hope just about everything checks the carry flag first).

Re: What is the history of the ERROR_ARENA_TRASHED error code?

#12

I wonder if performing a system scan or file check has ever actually fixed any errors. Rebooting on the other hand, fixes basically any transient problem I encounter, even on non-Windows machines (a friend who has a Mac doesn't always believe me when I tell them to reboot to fix random unusual slowness/hangs, but they have only 8GB of memory and it has always worked so far!) I will say though, non-Windows machines ra…

In practice I've had system file checks find and repair errors on multiple different machines. These setups aren't using ECC RAM or RAIDed storage, though.

Re: What is the history of the ERROR_ARENA_TRASHED error code?

#15

Earlier quoted context omitted.

Since nearly every consumer machine uses non-ECC RAM it's probably best to just do a full shutdown at night and boot up the next day. It reminds me of "bitsquatting" where you can get a lot of hits for domains 1 bit off really popular domains (separate from likely typos).

I doubt random bitflips are the source of most NT invariant violations. A reboot does fix them all the same though.

Bitflips are surprisingly more common than you think but rare enough to not be a concern.

Re: What is the history of the ERROR_ARENA_TRASHED error code?

#16

I wonder if performing a system scan or file check has ever actually fixed any errors. Rebooting on the other hand, fixes basically any transient problem I encounter, even on non-Windows machines (a friend who has a Mac doesn't always believe me when I tell them to reboot to fix random unusual slowness/hangs, but they have only 8GB of memory and it has always worked so far!) I will say though, non-Windows machines ra…

Since nearly every consumer machine uses non-ECC RAM it's probably best to just do a full shutdown at night and boot up the next day. It reminds me of "bitsquatting" where you can get a lot of hits for domains 1 bit off really popular domains (separate from likely typos).

Restarting Windows is actually “cleaner” than shutting down on modern PCs because shutdown saves some kernel state for Windows Fast Startup.

Re: What is the history of the ERROR_ARENA_TRASHED error code?

#17

Earlier quoted context omitted.

I doubt random bitflips are the source of most NT invariant violations. A reboot does fix them all the same though.

Bitflips are surprisingly more common than you think but rare enough to not be a concern.

If you have ECC memory, you can actually monitor this.

I've typically seen ~a dozen bitflips per year per machine when I looked at this on servers, except for the cases of a faulty RAM module.

I am more worried about SSD corruption than RAM bitflips from data I've seen on my systems.

Re: What is the history of the ERROR_ARENA_TRASHED error code?

#18

Earlier quoted context omitted.

Since nearly every consumer machine uses non-ECC RAM it's probably best to just do a full shutdown at night and boot up the next day. It reminds me of "bitsquatting" where you can get a lot of hits for domains 1 bit off really popular domains (separate from likely typos).

Restarting Windows is actually “cleaner” than shutting down on modern PCs because shutdown saves some kernel state for Windows Fast Startup.

You can also just disable fast startup to always do a full shutdown regardless how you do it.
Post reply on HN