|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |

02-26-2013, 10:07 AM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
Gotcha. Thanks, that should give me what I need. I was using pet affinity, so that's why I didn't see it.
Now, a good question would be why a level 85 character wouldn't have pet affinity.. 
|

02-26-2013, 05:01 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
For servers that pets can be used by all classes  Yes i will likely change AA but i thought id let you know because ive seen it happen on bots also.
Thank you for your willingness to converse about this stuff. It is appreciated.
|
 |
|
 |

02-27-2013, 07:25 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
I am not sure if this is the right place for this but since it happens only when i am trying to purchase a fungusman or orc tier 2 journeyman healer. Right after i purchase them the zone crashes... debug info below (this is using ROF client)
Code:
---------------------------------------------
[02.27. - 17:15:14] Starting Log: logs/crash_zone_3860.log
[02.27. - 17:15:14] EXCEPTION_ACCESS_VIOLATION
[02.27. - 17:15:14] SymInit: Symbol-SearchPath: '.;C:\EQEMU;C:\EQEMU;C:\Windows;C:\Windows\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 530, UserName: 'Administrator'
[02.27. - 17:15:14] OS-Version: 6.2.9200 () 0x110-0x3
[02.27. - 17:15:14] C:\EQEMU\zone.exe:zone.exe (00D00000), size: 24731648 (result: 0), SymType: 'PDB', PDB: 'C:\EQEMU\zone.exe'
[02.27. - 17:15:14] C:\Windows\SYSTEM32\ntdll.dll:ntdll.dll (777D0000), size: 1404928 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\ntdll.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\SYSTEM32\KERNEL32.DLL:KERNEL32.DLL (76680000), size: 1245184 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\KERNEL32.DLL', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\KERNELBASE.dll:KERNELBASE.dll (77420000), size: 679936 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\KERNELBASE.dll', fileVersion: 6.2.9200.16451
[02.27. - 17:15:14] C:\Windows\system32\apphelp.dll:apphelp.dll (71850000), size: 684032 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\system32\apphelp.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\AppPatch\AcLayers.DLL:AcLayers.DLL (70530000), size: 2555904 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\AppPatch\AcLayers.DLL', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\SYSTEM32\msvcrt.dll:msvcrt.dll (75440000), size: 724992 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\msvcrt.dll', fileVersion: 7.0.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\USER32.dll:USER32.dll (76E50000), size: 1138688 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\USER32.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\SYSTEM32\GDI32.dll:GDI32.dll (76A10000), size: 1036288 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\GDI32.dll', fileVersion: 6.2.9200.16433
[02.27. - 17:15:14] C:\Windows\SYSTEM32\SHELL32.dll:SHELL32.dll (75500000), size: 17588224 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\SHELL32.dll', fileVersion: 6.2.9200.16496
[02.27. - 17:15:14] C:\Windows\SYSTEM32\SHLWAPI.dll:SHLWAPI.dll (76F70000), size: 262144 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\SHLWAPI.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\OLEAUT32.dll:OLEAUT32.dll (774D0000), size: 569344 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\OLEAUT32.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\MPR.dll:MPR.dll (727D0000), size: 77824 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\MPR.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\SETUPAPI.dll:SETUPAPI.dll (75020000), size: 1765376 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\SETUPAPI.dll', fileVersion: 6.2.9200.16496
[02.27. - 17:15:14] C:\Windows\SYSTEM32\sfc.dll:sfc.dll (746B0000), size: 12288 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\sfc.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\WINSPOOL.DRV:WINSPOOL.DRV (719D0000), size: 393216 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\WINSPOOL.DRV', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\RPCRT4.dll:RPCRT4.dll (751D0000), size: 704512 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\RPCRT4.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\combase.dll:combase.dll (77150000), size: 1269760 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\combase.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\SYSTEM32\CFGMGR32.dll:CFGMGR32.dll (76C10000), size: 286720 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\CFGMGR32.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\DEVOBJ.dll:DEVOBJ.dll (768E0000), size: 122880 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\DEVOBJ.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\SspiCli.dll:SspiCli.dll (74E60000), size: 114688 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\SspiCli.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\SYSTEM32\sfc_os.DLL:sfc_os.DLL (71900000), size: 57344 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\sfc_os.DLL', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\CRYPTBASE.dll:CRYPTBASE.dll (74E50000), size: 36864 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\CRYPTBASE.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\sechost.dll:sechost.dll (74F80000), size: 212992 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\sechost.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\bcryptPrimitives.dll:bcryptPrimitives.dll (74DF0000), size: 331776 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\bcryptPrimitives.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\system32\IMM32.DLL:IMM32.DLL (76E10000), size: 131072 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\system32\IMM32.DLL', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\MSCTF.dll:MSCTF.dll (74E80000), size: 905216 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\MSCTF.dll', fileVersion: 6.2.9200.16496
[02.27. - 17:15:14] C:\Perl\bin\perl512.dll:perl512.dll (28000000), size: 1273856 (result: 0), SymType: '-exported-', PDB: 'C:\Perl\bin\perl512.dll', fileVersion: 5.12.3.1204
[02.27. - 17:15:14] C:\Windows\SYSTEM32\WS2_32.dll:WS2_32.dll (76BC0000), size: 327680 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\WS2_32.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\VERSION.dll:VERSION.dll (73840000), size: 32768 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\VERSION.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\ADVAPI32.dll:ADVAPI32.dll (76B10000), size: 712704 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\ADVAPI32.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9200.16384_none_bf100cd445f4d954\COMCTL32.dll:COMCTL32.dll (76900000), size: 552960 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9200.16384_none_bf100cd445f4d954\COMCTL32.dll', fileVersion: 5.82.9200.16384
[02.27. - 17:15:14] C:\Windows\SYSTEM32\NSI.dll:NSI.dll (74F60000), size: 32768 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\NSI.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\system32\napinsp.dll:napinsp.dll (74D00000), size: 65536 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\system32\napinsp.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\system32\NLAapi.dll:NLAapi.dll (74CF0000), size: 65536 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\system32\NLAapi.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\System32\mswsock.dll:mswsock.dll (74DA0000), size: 303104 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\System32\mswsock.dll', fileVersion: 6.2.9200.16433
[02.27. - 17:15:14] C:\Windows\SYSTEM32\DNSAPI.dll:DNSAPI.dll (74C70000), size: 479232 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\DNSAPI.dll', fileVersion: 6.2.9200.16420
[02.27. - 17:15:14] C:\Windows\System32\winrnr.dll:winrnr.dll (74C60000), size: 36864 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\System32\winrnr.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\Windows\System32\rasadhlp.dll:rasadhlp.dll (731D0000), size: 28672 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\System32\rasadhlp.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] C:\EQEMU\EMuShareMem.DLL:EMuShareMem.DLL (71910000), size: 622592 (result: 0), SymType: 'PDB', PDB: 'C:\EQEMU\EMuShareMem.DLL'
[02.27. - 17:15:14] C:\Perl\lib\auto\Cwd\Cwd.dll:Cwd.dll (10000000), size: 20480 (result: 0), SymType: '-exported-', PDB: 'C:\Perl\lib\auto\Cwd\Cwd.dll'
[02.27. - 17:15:14] C:\Perl\lib\auto\DBI\DBI.dll:DBI.dll (03020000), size: 98304 (result: 0), SymType: '-exported-', PDB: 'C:\Perl\lib\auto\DBI\DBI.dll'
[02.27. - 17:15:14] C:\Perl\lib\auto\List\Util\Util.dll:Util.dll (04CC0000), size: 28672 (result: 0), SymType: '-exported-', PDB: 'C:\Perl\lib\auto\List\Util\Util.dll'
[02.27. - 17:15:14] C:\Perl\lib\auto\Filter\Util\Call\Call.dll:Call.dll (04CD0000), size: 20480 (result: 0), SymType: '-exported-', PDB: 'C:\Perl\lib\auto\Filter\Util\Call\Call.dll'
[02.27. - 17:15:14] C:\Perl\lib\auto\IO\IO.dll:IO.dll (04CE0000), size: 24576 (result: 0), SymType: '-exported-', PDB: 'C:\Perl\lib\auto\IO\IO.dll'
[02.27. - 17:15:14] C:\Windows\System32\fwpuclnt.dll:fwpuclnt.dll (740E0000), size: 258048 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\System32\fwpuclnt.dll', fileVersion: 6.2.9200.16465
[02.27. - 17:15:14] C:\Windows\SYSTEM32\dbghelp.dll:dbghelp.dll (71170000), size: 1216512 (result: 0), SymType: '-exported-', PDB: 'C:\Windows\SYSTEM32\dbghelp.dll', fileVersion: 6.2.9200.16384
[02.27. - 17:15:14] c:\eqemu\eqemuserver\zone\client_packet.cpp (13639): Client::Handle_OP_MercenaryHire
[02.27. - 17:15:14] c:\eqemu\eqemuserver\zone\client_packet.cpp (472): Client::HandlePacket
[02.27. - 17:15:14] c:\eqemu\eqemuserver\zone\client_process.cpp (712): Client::Process
[02.27. - 17:15:14] c:\eqemu\eqemuserver\zone\entity.cpp (509): EntityList::MobProcess
[02.27. - 17:15:14] c:\eqemu\eqemuserver\zone\net.cpp (492): main
[02.27. - 17:15:14] f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (278): __tmainCRTStartup
[02.27. - 17:15:14] f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (189): mainCRTStartup
[02.27. - 17:15:14] ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 766A8543)
[02.27. - 17:15:14] 766A8543 (KERNEL32): (filename not available): BaseThreadInitThunk
[02.27. - 17:15:14] ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 7782AC69)
[02.27. - 17:15:14] 7782AC69 (ntdll): (filename not available): RtlInitializeExceptionChain
[02.27. - 17:15:14] ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 7782AC3C)
[02.27. - 17:15:14] 7782AC3C (ntdll): (filename not available): RtlInitializeExceptionChain
|
 |
|
 |

02-27-2013, 07:32 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
Happens whenever you purchase a merc and you are over level 85. Somewhat expected but i was suprised it crashed the zone. FYI
|
 |
|
 |

02-28-2013, 03:25 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
Odd, I thought I had fixed that particular crash and committed the fix, but maybe I only fixed it on my own server and forgot to commit it.
The problem is that in the handling for hiring a merc in client_packet.cpp, it makes the call to LoadMerc(), and then spawns the merc without first making sure it actually got one returned. I highlighted the line below where the issue is. We just need an "if (merc)" added right below that line to prevent the crash.
Code:
void Client::Handle_OP_MercenaryHire(const EQApplicationPacket *app)
{
// The payload is 16 bytes. First four bytes are the Merc ID (Template ID)
if(app->size != sizeof(MercenaryMerchantRequest_Struct))
{
LogFile->write(EQEMuLog::Debug, "Size mismatch in OP_MercenaryHire expected %i got %i", sizeof(MercenaryMerchantRequest_Struct), app->size);
DumpPacket(app);
return;
}
MercenaryMerchantRequest_Struct* mmrq = (MercenaryMerchantRequest_Struct*) app->pBuffer;
uint32 merc_template_id = mmrq->MercID;
uint32 merchant_id = mmrq->MercMerchantID;
uint32 merc_unk1 = mmrq->MercUnk01;
uint32 merc_unk2 = mmrq->MercUnk02;
DumpPacket(app);
if(MERC_DEBUG > 0)
Message(7, "Mercenary Debug: Template ID (%i), Merchant ID (%i), Unknown1 (%i), Unknown2 (%i)", merc_template_id, merchant_id, merc_unk1, merc_unk2);
//HirePending = true;
SetHoTT(0);
SendTargetCommand(0);
MercTemplate* merc_template = zone->GetMercTemplate(merc_template_id);
if(merc_template) {
if (GetMercID()) {
// 6 - You must dismiss the mercenary before hiring a new one.
SendMercMerchantResponsePacket(6);
}
else
{
// 0 is approved hire request
SendMercMerchantResponsePacket(0);
// Set time remaining to max on Hire
GetEPP().mercTimerRemaining = RuleI(Mercs, UpkeepIntervalMS);
// Get merc, assign it to client & spawn
Merc* merc = Merc::LoadMerc(this, merc_template, merchant_id);
SpawnMerc(merc);
}
}
}
|
 |
|
 |

02-28-2013, 09:37 AM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
I have this fix in (as well as others) , I just need some time to merge in all the recent changes and commit. The issue is there is only merc data through lvl 85. On my next stat update, I'll try to add merc data through lvl 100, since RoF can be used.
I've just been crazy busy and haven't had a chance to commit (I've also been trying to track down the depop bug).
|

03-01-2013, 01:24 AM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
It should no longer crash if a merc can't spawn, but I will have to add in mercs to 100 when I get a chance. It's more of an issue for spells and such for those levels as I have a script I use to generate the stats, but I'll see what i can do.
|

03-01-2013, 08:52 AM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
Thank you for that update! I hear yah on the crazy busy.
|
 |
|
 |

03-01-2013, 12:26 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
i compiled the latest version alright, i went to source in the merc_rules_and_equipment.sql statement and i get errors about primary key for first two lines which i fixed because they already exist...
However alter table also got tripped up claiming it couldnt find mercbuffs, in my case it was already named properly to merc_buffs??
The final error i couldnt get past and i tried this in mysqldump and heidesql... once it get to the part where it wants to create merc_inventory it throws an error saying..
Code:
DROP TABLE IF EXISTS merc_inventory;
CREATE TABLE merc_inventory (
merc_inventory_id int(10) unsigned NOT NULL auto_increment,
merc_subtype_id int(10) unsigned NOT NULL default '0',
item_id int(11) unsigned NOT NULL default '0',
min_level int(10) unsigned NOT NULL default '0',
max_level int(10) unsigned NOT NULL default '0',
PRIMARY KEY (merc_inventory_id),
KEY FK_merc_inventory_1 (merc_subtype_id),
CONSTRAINT FK_merc_inventory_1 FOREIGN KEY (merc_subtype_id) REFERENCES merc_subtypes (merc_subtype_id)
);
/* SQL Error (1005): Can't create table 'peq.merc_inventory' (errno: 150)
Foreign key constraint is incorrectly formed */
|
 |
|
 |

03-01-2013, 01:05 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
Also if you do a SHOW INNODB STATUS you get this relevant portion..
Code:
LATEST FOREIGN KEY ERROR\n------------------------\n130301 10:49:53 Error in foreign key constraint of table peq/merc_inventory:\n FOREIGN KEY (merc_subtype_id) REFERENCES merc_subtypes (merc_subtype_id)):\nCannot resolve table name close to:\n (merc_subtype_id))\n------------\n
|

03-01-2013, 01:52 PM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
Did you have all of the previous sql updates applied? I compiled that script from all of my changes and applied it as one to my secondary database, and it ran correctly.
Do you have to table merc_subtypes? what is its primary key?
Had you somehow run the script before? Those rules are new, and should not already exist.
Did you resource the database? Maybe it was already put in peq db?
Last edited by bad_captain; 03-01-2013 at 01:59 PM..
|

03-01-2013, 03:26 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
i just dropped all merc related tables except rule values, modified rule inserts to updates, and it went in this time. Sorry, its a bit confusing knowing what to apply first and some of that stuff is included in PEQ 2506(?) or whatever latest is.
|

03-01-2013, 03:45 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
I can confirm that the duplicate merc entry bug seems fixed. I can also confirm that trying to hire a merc above level 85 doesnt crash the zone anymore, you just get a message saying it failed, which is fine.
Thanks for the tips, info, and fixes, very much appreciated.
|

03-01-2013, 03:48 PM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
Yeah, I would prefer to have 1 script for all things merc, but we have seen the issues it causes, so this is the best we can do. I'm not sure what else can be done, but it would be nice if there was some way to know what updates peq has included so people would know what to and what not to source in. Maybe a list of applied updates that can be compared to before sourcing in updates.
Something like db version, but for applied updates? A table with rows for all of the updates included in that version? I don't know.
|

03-01-2013, 03:50 PM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
Quote:
Originally Posted by Armm
I can confirm that the duplicate merc entry bug seems fixed. I can also confirm that trying to hire a merc above level 85 doesnt crash the zone anymore, you just get a message saying it failed, which is fine.
Thanks for the tips, info, and fixes, very much appreciated.
|
Good to hear! While I do test it all, it's nice to get feedback that it works for others as well, since others have different play styles or setups that I may not be able to reproduce.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 11:19 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |