Rev 127 Zone crash after looting an item
Just upped to Rev 127. It compiled fine and runs stable for me. I killed a mob to check out the new link when looting items. As soon as you loot you get the link and zone.exe crashes. Nothing shows up in logs about the crash.
|
Is anyone else having this problem? Before I committed the change, I compiled and tested on myself and it worked fine, but I didn't have a chance to test in a group.
|
I tried reproducing a crash using both clients in a group and was unable to.
|
Quote:
The only thing that initially caused an issue was when I tried to initialize the string (which is actually char now) using NULL, which did cause the zone to crash, but not using a value to initialize it just generates a warning during compile. Do you have any logs of the crash or any other information to help reproduce it? |
Is this on the Titanium client?
|
Bleh, I dunno why it crashes for me, I recompiled 2 times to make sure using VS 2005 Express. Same results both times, using titanium :(
|
is compiling with Vs 2005 not supported? I get a ton of warnings, although it compiles succesfully. I was using 2008 and getting much less warnings, until my trial ran out and I switched to 2005 :(
|
Code:
char *link; You should declare it like char link[100]; (replacing 100 with whatever the maximum size of a link is). |
I'm no coding genius, so this may not be helpful at all. But it appears to be the part that Derision just mentioned. This is what pops up while zone is compiling and it gets to that part.
1>c:\eq\eqemuserver\zone\playercorpse.cpp(1005) : warning C4700: uninitialized local variable 'link' used |
Quote:
I'll go ahead and compile the changes & see what happens. Edit: we could use a string, like was done before, but it would be so much more of a pita to get it back to a predictable char. |
I'm not sure if your calculation include the `\0` terminator that sprintf will automatically put at the end of the string. If not, you should add 1 byte for that.
|
I started with 111 (didn't realize the last byte added by sprintf at the time) and it works fine, primarily because the longest item name in the DB is 50 characters long:
Code:
mysql> SELECT id, Name, CHAR_LENGTH(Name) as Name_length FROM items ORDER BY Name_length DESC, id ASC LIMIT 5; |
Thanks for the fix Andmetal, took care of the problem I was having. I can now loot with Rev 129 :)
|
All times are GMT -4. The time now is 09:06 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.