Jump to content

Crash looting Brightly Colored Egg - not reproducible in GDB with debug info


Guest The Wanderer

Recommended Posts

Mangos Version: r9765

Custom Patches: a fix for the Blink spell, forward-ported from a r6xxx version

SD2 Version: r1671

Database Name and Version : UDB 0.12.0, updatepack 390

This is kind of a weird one.

Yesterday, I updated MaNGOS and UDB to incorporate 390's fix for Noblegarden, and tweaked the database to let Noblegarden still be active (duration 40312 instead of 10078). Thereafter, when I loot a Brightly Colored Egg gameobject (specifically, when I try to take the Brightly Colored Egg item into my inventory), mangos-worldd crashes.

Well, not crashes precisely; it dies on a failed assertion. Specifically, in src/game/Framework/TypeContainer.h line 78, it dies on "Assertion 'i->second && "Object with certain key already in but objects are different!"' failed."

Because this is a failed assertion, not a crash per se, I do not have a crash dump, and I don't think this scenario lets me create one. I do have a GDB log of reproducing this on a copy without debug info. However, I have not been able to get one from a copy which does include debug info.

The reason is that, although the --with-debug-info copy does exhibit the problem when run directly, when it is run under GDB the problem does not seem to happen; the loot succeeds, and everything appears to work normally. Running the non-debugging copy under GDB does show the problem, however.

What information can I provide to help track down this issue, and how should I provide it?

Link to comment
Share on other sites

Okay, I spoke too soon; on retrying, the assertion failure does recur when running in GDB, so I now have that log (per the GDB-debugging HOWTO thread). Not sure why it didn't happen last time I tested, but it seems to now.

Am I correct that that log should be posted over in the "crash dumps" sticky thread, rather than under this thread?

Link to comment
Share on other sites

ah - is this the mysterious bug I encountered (wiith custom spawn-points)? - was though unable t reproduce it;

But for me, the crashes got away on removing the Eggs from the pools.. perhaps this is worth a try for you as well

I'm not sure I entirely understand how to do that, in that I don't really understand the "pool" tables (ha!), although a look at the 390 updatepack file has already answered at least a couple of questions. More to the point, however, wouldn't that also stop them from working correctly for Noblegarden purposes? I specifically want to have the event working correctly, and just papering over the problem in a "well, if it hurts, don't do that" way wouldn't really solve the problem.

FWIW, it occurred to me that I might have still had the custom temporary fixes proposed on the UDB forum in my database, and that they might have been causing the issue; however, after I deleted the mangos database and recreated from scratch, the issue does still manifest.

(Incidentally, is there any practical way to rename the thread, since half of the title isn't accurate after all? As I just discovered, apparently editing the title of the initial post doesn't do it.)

Link to comment
Share on other sites

Of course, "fixing" it in the way Schmoozerd suggest is just a "lol-fix". I've no idea how it could even be anyway near a real solution.

The real problem is, as i understand it, is that a node get guid assigned twice and then crash since it can not have two guids. In other words, it must be related to how it's added at spawning GO for event and then how it's added at spawn of the regular pool. Removing the node from the game_event_gameobject table and watch how the pools work ok after is an indicator that support the theory.

As a side note, this crash can also be reproduced by walking in to an area where the GO is supposed to be spawned and .event start 28 (assuming having the database as initial post). At least i have always crash doing this.

Link to comment
Share on other sites

I never said it was a fix; I only suggested that I had big problems with these event-spawned eggs and Pools;

however, 2-3 weeks ago, when I cried along in some IRC channels, no one could give me some hints of me doing stupid things with my custom pools, so I dropped this issue

But regarding fishing event, next years event, it is a nice thing that you managed to get a way to reproduce the crash! I was not able to get this and hence no suitable bug-report :(

Link to comment
Share on other sites

The real problem is, as i understand it, is that a node get guid assigned twice and then crash since it can not have two guids. In other words, it must be related to how it's added at spawning GO for event and then how it's added at spawn of the regular pool. Removing the node from the game_event_gameobject table and watch how the pools work ok after is an indicator that support the theory.

I'm not sure that explains everything, though. If I'm understanding correctly, that would mean that the problem is entirely with gameobjects, and that in turn would mean that I would expect to get the crash by interacting with the gameobject itself.

However, I don't get a crash from the interaction with the gameobject; I can bring up its loot window just fine. I only see the crash when I try to interact with the item contained in the gameobject - when I try to loot it into my inventory. That would lead me to expect that the problem would be with the actual item.

Unless - it might be possible that it *is* looting the item successfully, and the crash comes when it tries to trigger despawning of the gameobject? That might fit both with your assessment and my observations...

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use