The freeze I am referring to is when the game stops, the HDD activity indicator stop and stays off forever, but the ambient sound and radio continue to work. The game engine is still running, but is in full halt, and there's no way to turn the game off. I cannot access PS3 menus, and ejecting the disc won't stop the game. I am forced to hold the power button for a hard reset. I believe this type of freezing is caused by a data retrieval deadlock.
When I am wandering the wasteland, I get the HDD loading hiccups. Once I've been walking for 20 seconds, the game will start the hiccups. Every 3 or 4 steps, the systems stops as the HDD loads the data for the game engine. I can stop this from happening my monitoring the HDD activity indicator on the PS3, and stop walking every time it lights up (solid for 3 or 4 seconds), once he indicator goes off, I can continue walking and not have the system hiccups.
I've had a few instances where I am dealing with a hiccup, which some addition actions are going on in the game. This could be a city loading, some NPC's attacking each other, or some sounds loading from the distance (Boomers, etc.).
I have a feeling that while the HDD is dealing with the constant loading hiccup issue, if another process comes into play and needs to get some additional data off the HDD (not part of the normal wasteland wandering engine), that both processes end up in a data retrieval deadlock. This makes the most sense, as the game engine seems to be working fine (ambient sounds continue), but the HDD indicator goes off, and the game engine will not attempt to load the data it needs to continue.
This problem is not as simple as an infinite loop check, it is caused by inherited rights and permissions of the different code objects, and their ability to override each other and determine the order of precedence. If this were handled correctly, the game would hiccup just as badly (I am not addressing that issue), but the conflicting processes would eventually get in line and get their data. What I am seeing is the conflicting processes standing next to each other saying "You go first", "No, you go first", "No, you go firsts", and on and on and on.
Hopefully the next patch will address this problem, as well as the cause of the game engine not loading data early enough, causing the constant hiccup issues. Please feel free to contribute your thoughts on this topic. I'll be referring it to the forum leaders in hopes they can pass along these observations to the responsible developers who are trying to tackle this problem.