What is the history of the ERROR_ARENA_TRASHED error code?

supermatou1 pts0 comments

What is the history of the ERROR_ARENA_TRASHED error code? - The Old New Thing

Skip to main content

Search<br>Search

No results

Cancel

Raymond Chen

Error code 7 is ERROR_ARENA_TRASHED. What does this mean? It sounds like a heavy metal band ran amok and made a mess of the performance area that they rented.

This error message was inherited from MS-DOS. MS-DOS internally kept track of memory in the form of a sequence of variable-sized memory blocks, each prefixed by a 16-byte block known as an arena:

arena STRUC<br>arena_signature DB ? ; 4D for valid item, 5A for last item<br>arena_owner DW ? ; owner of arena item<br>arena_size DW ? ; size in paragraphs of item<br>arena ENDS

The arena_owner is the PDB of the process that allocated the memory, or zero if the memory is free. Each arena signature is 0x4D (ASCII capital M), except for the final one which is 0x5A (ASCII capital Z). Yes, those are the initials of Mark Zbikowski.

When walking through the memory blocks, say, when searching for memory to satisfy an allocation request, if MS-DOS saw that the signature was neither 0x4D nor 0x5A, then it declared that the arenas were "trashed" (corrupted)¹ and returned ERROR_ARENA_TRASHED.

This is an MS-DOS specific error code. It is not used by Win32.²

Since it is a vestigial error code (like EMPTY_THREAD_REAPER_LIST), it is a handy error code to use when mocking error conditions, because you can be fairly confident that if you see error 7, it came from your test harness and not from a genuine system error.

The fact that the error message is not used casts suspicions on the many web sites that claim to be able to help you "fix" the problem. If you read their explanation of "what this error means", it’s just a bunch of vague text about how, y’know, sometimes computers aren’t doing all that great and they encounter errors, or maybe there is a hardware conflict, or a corrupted system file. But somehow, despite having no idea what the error means, they still are quite confident in the steps you should take to fix it. (Usually performing a system scan, a system file check, and checking for driver updates.)

¹ The use of the slang term "trashed" is further evidence that Microsoft developers were just a bunch of undisciplined hackers.

² Well, at least, it is not used by the Win32 kernel. I do see that there are a few user-mode components which use it to indicate that internal data structures have been corrupted, which is at least in the same spirit as the original meaning of the error.

Category<br>Old New Thing

Topics<br>History

Share

ERROR_ARENA_TRASHED error code?" data-bi-id="post_page_body_share post" data-post-id=112339 data-bi-name="Share on X" aria-label="Share on X" target="_blank" rel="noreferrer noopener" class="d-flex share-post">

Author

Raymond Chen

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

3 comments

Join the discussion.

Leave a commentCancel reply<br>Sign in

Code of Conduct

Sort by :

Newest

Newest<br>Popular<br>Oldest

I’m a bit surprised you don’t still see this error when the kernel heap is trashed and you make a system call that just so happens to require the kernel to allocate heap memory and it can’t because the heap is trashed.

Although in Windows, there’s not much you can do with that error anyway; if your log file is already open you might be able to log it, or that might result in another heap trashed error.

Websites making up content by whatever you ask them for? I hope this doesn’t become the default in the year of our lord.

When viewing one such website, I changed the error code in the URL to a bogus one and of course they had a download available for fixing just that.

Read next

May 18, 2026

Just shows that nobody cares about debugging the parity flag any more

Raymond Chen

May 5, 2026

TAB key highlights a mismatch between Microsoft and IBM organizational structures" href="https://devblogs.microsoft.com/oldnewthing/20260505-00/?p=112298">A dispute over the TAB key highlights a mismatch between Microsoft and IBM organizational structures

Raymond Chen

Stay informed

Get notified when new posts are published.

Email *

Country/Region *<br>Select...United StatesAfghanistanÅland IslandsAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBonaireBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBritish Virgin IslandsBruneiBulgariaBurkina FasoBurundiCabo VerdeCambodiaCameroonCanadaCayman IslandsCentral...

error code memory error_arena_trashed raymond arena

Related Articles