Buggy Perl/MQ Integration
Posted: Sat Dec 28, 2002 8:55 pm
Hi all,
I'm a professional perl programmer, and I'm VERY glad to see the development of the MQ/Perl integration. Over the last few weeks, I've been developing a very involved automation program for a wizard. During the course of the devleopment of this project, I ended up re-writing events.pl to include a number of new features, including the use of hashes for the timer and chat hooks (speciffically to allow disablable but not deleted events,) and a few other things. I'm a professional Unix perl developer by trade, and I'm glad to see things moving in this direction - there will be some MUCH more powerful bots out there in the near future. =)
Anyways, I have run into a little problem that I can't quite nail down. It looks like a memory leak, but I can't identify or trap it in my code. What happens is after a number of tells via the chat event (around 100 from the best I can tell, not an excessive amount and well within perl's addressing capabilities) that instance of MQ seems to crash the game. Sometimes I get the standard XP crash message, other times the game just hangs. I'm going back through and writing some more code to check the status of my timer and chat hashes, but I'm pretty sure it's something to do with MQ. One thing to note is this does NOT happen when I periodically do /perl restart to reload the perl engine.
My question is this: Given that the old events.pl uses arrays, have there been any known issues with instability using that method? My code is (more or less) a backwards compatable version of events.pl, and I will be more than willing to share it once this problem has been solved. If anyone can shed some light on this, I would greatly appreciate it. I hate restarting my wizard whenever it crashes (about once an hour.) =\
-pooka
I'm a professional perl programmer, and I'm VERY glad to see the development of the MQ/Perl integration. Over the last few weeks, I've been developing a very involved automation program for a wizard. During the course of the devleopment of this project, I ended up re-writing events.pl to include a number of new features, including the use of hashes for the timer and chat hooks (speciffically to allow disablable but not deleted events,) and a few other things. I'm a professional Unix perl developer by trade, and I'm glad to see things moving in this direction - there will be some MUCH more powerful bots out there in the near future. =)
Anyways, I have run into a little problem that I can't quite nail down. It looks like a memory leak, but I can't identify or trap it in my code. What happens is after a number of tells via the chat event (around 100 from the best I can tell, not an excessive amount and well within perl's addressing capabilities) that instance of MQ seems to crash the game. Sometimes I get the standard XP crash message, other times the game just hangs. I'm going back through and writing some more code to check the status of my timer and chat hashes, but I'm pretty sure it's something to do with MQ. One thing to note is this does NOT happen when I periodically do /perl restart to reload the perl engine.
My question is this: Given that the old events.pl uses arrays, have there been any known issues with instability using that method? My code is (more or less) a backwards compatable version of events.pl, and I will be more than willing to share it once this problem has been solved. If anyone can shed some light on this, I would greatly appreciate it. I hate restarting my wizard whenever it crashes (about once an hour.) =\
-pooka