PROBLEM: Memory Corruption and Session Management Issues in Legacy System
PRIORITY: HIGH
CATEGORY: System Stability
ENVIRONMENT: Legacy backend (architecture not publicly documented)
ISSUE SUMMARY:
Two critical, interconnected issues affecting system stability and data integrity:
-
Progressive String/Name Data Loss After Removal Operations
- Short character names become unavailable immediately after deletion
- Over time, the issue affects increasingly longer names
- Eventually, names of any length fail to be re-used or registered
- Pattern suggests progressive memory corruption in name/string storage
-
Session Instability During Rapid Login/Logout Sequences
- Users experience forced disconnections when switching between accounts quickly
- A delay of 5–10 seconds between login events is required to prevent disconnects
- Rapid succession of login/logout operations triggers instability
- Timing dependency implies resource cleanup lag or contention
TECHNICAL DIAGNOSIS:
Root cause likely involves memory corruption in shared memory regions impacting both string persistence and session management. Likely contributing factors include:
- Race conditions during allocation/deallocation in session handling
- Incomplete memory cleanup during character deletion leading to dangling references
- Lack of synchronization when multiple threads access shared name/session storage
- Cleanup routines requiring asynchronous delay, explaining the 5–10 second buffer need
The worsening name loss and login timing dependency strongly indicate systemic issues in memory management and concurrency handling within the legacy codebase.
RECOMMENDED INVESTIGATION STEPS:
- Review memory allocation and cleanup logic for character deletion and name reuse
- Audit session management code for race conditions and thread safety
- Check for corruption in shared memory structures linking name and session systems
- Analyze timing and dependencies in resource cleanup routines
- Employ memory debugging tools and race detection instrumentation
- Implement proper locking or synchronization mechanisms around shared resources
BUSINESS IMPACT:
- Data integrity degradation (character names become unusable or lost)
- Poor user experience (login instability, unexpected disconnects)
- Ongoing risk of broader memory corruption across subsystems
- System currently unreliable for production use without mitigation
URGENCY JUSTIFICATION:
Memory corruption tends to escalate over time, increasing the risk of permanent data loss or total system failure. Immediate action is needed to contain and remediate before further degradation occurs.
2 Likes
This perfectly matches everything I’ve noticed myself, but you really took it to another level with the low-level details of the issues that I couldn’t explain. Amazing work on debugging and analyzing these problems — your thorough breakdown should be incredibly helpful for anyone looking into fixing this. Again, great work man !
I’m afraid this is also a critical security vulnerability. I’m worried a malicious user will exacerbate the problem by having an army of bots create and “brick” character names until making new characters is completely impossible.
If that happens Legacy LoD is cooked.
You could immediately compensate by temporarily disabling character deletion provided anoyone’s working in a position to do so.
If you cannot solve the problem, the next best solution would be to ask users to register for a D2R migration + hand out D2R licenses.
I don’t think this is ideal but it’s a gesture of goodwill.
Maintaining the game that they sell should not be such a huge ask. I played D2R for about a year but have no intention of going back to it. It’s overall a poorly made product with its own unique set of bugs and drawbacks that are worse than anything experienced in the original game. I would rather they spend the time to fix actual D2 instead of attempting to pass people along. D2R contains changes to the core game that many people don’t like. Also, there are many people who do not own computers capable of running D2R and have no desire to upgrade their computer to play a game they already aren’t interested in. I understand that you are just trying to explore possible solutions, though.
The bug basically removes names available from the list once character is deleted. Is it really that hard for such a large entity to maintain their best game? You even continue selling it it for 20$ per CD key pair. What happened to Blizzard? 
1 Like
That’s been my thought towards the issue as well. I know the game is old, but it is a bad look for Blizzard when they still sell a product but will not maintain it. The age of the game really doesn’t justify that attitude. The tech support guy who had posted in the other (now deleted) thread about this mentioned Diablo 2 being low on the priority list. That is understandable, but the game essentially receives no support or fixes at all. It’s as if it’s simply not on anyone’s priority list. However, Blizzard will still happily take your money for it. Players actually feel like it’s pointless to even make threads on here. That’s an embarrassingly low standard for a company that used to be so highly regarded.