Poster: Anduinlothar at 6/9/2005 7:38:19 PM PDT Subject: #132 error Research. Slouken, take a look. |
| |
Ok, I've gone over some testing with a couple people and have read many reports of this crash.
My tennative conclusion is that the crash is caused by the ListChannelByName function. In some instances this works correctly and prints a list (one one or more msgs) of users in the channel to the chat frame. However there is either some number or some character length at which it fails to function correctly. I have seen lists of at least 120 users and some that crash over 70 or so. But it's hard to do exact testing because I can't manually regulate the number of users in a channel. Perhaps someone in a large guild could try to get everyone in a custom channel and do a /list channelname
The reason that Sky exacerbates this problem is because it calls ListChannelByName on every joined channel to keep a client side list for reference. Before 1.5 when ListChannelByName was called on a channel with a large number of users (I'm guessing somewhere between 100-300) it would fail to return anything. No CHAT_MSG_CHANNEL_LIST events were ever recieved. If it was within a tollerable number of users it would call the event anywhere between 1 and 4 times and print that many messages with user names.
Now with 1.5 it seems that some clients crash immediately with a #132 error. However some do not. I myself am on a 1.6ghz G5 running Mac OS 10.4 and have yet to recieve any crashes. The people I tested with who crashed were all running Windows XP at varying speeds. And two people I know using wine on a *nix client have recieved no crashes. That makes me think it has something to do with Windows memory management or something in the C code that doesn't like nil values.
I have a way to patch Sky so that it no longer tracks users with ListChannelByName but it would severly limit it's usability and main functionality so I'd rather a WoW fix was found. If it's not solved reasonably soon I'll post an optional Sky for those of you crashing. I'd also really love an internal WoW API function to return a lua list of users in a channel so that I don't have to parse it from the chat messages and another function to see if a given player is in a channel so that I don't have to use the 1000 or so lines of code in Sky that simulates those.
Thanks for reading. Hope that helps you come to some solution Slouken.
Edit: with a little more testing we're thinking it's the sending of the event that causes the crash and not the ListChannelByName function itself. So it's probably in something when the client recieves the information from the server and tries to send the event.[ post edited by Anduinlothar ]
|
| | http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=156074&p=#post156074 |
| |
Poster: slouken at 6/9/2005 9:07:41 PM PDT Subject: Re: #132 error Research. Slouken, take a look. |
| |
I reviewed the channel member list code and fixed a couple of potential problems with it for 1.6. It's not something that can be easily patched in earlier, but you can try it out on the test realm when it goes live.
|
| | http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=156074&p=#post156136 |