Jump to content
  • 0

[HELP]About a COEP project's errors.


sandeagle

Question

Manor's error will be crashed NPC server

 

when u click any town's manor and Purchase seed,npc server will be crash.

 

<a action="bypass manor_menu_select?ask=1&state=-1&time=0">Purchase seed.</a>

CNPC::ShowSellSeedList(CSharedCreatureData* talker, int nManorId)

 

IOThread [3][125] (ahehe): void IOThread_common(void *arglist) -> bool ManorMenuSelectEventPacket(CSocket* pSocket, const unsigned char* pPacket) -> int CNPC::HandleEvent(CNPCEvent* pEvent) -> int InterlockedHandleEvent(ScriptEvent* pEvent, CAIParameter* pParameter) -> virtual int HandleEvent(ScriptEvent* pEvent, CAIParameter* pParameter) -> virtual int HandleEvent(ScriptEvent* pEvent, CAIParameter* pParameter, CAIProperty* pProp) -> int CScriptEngine::RunNPCScript(CNPCEvent* pNPCEvent, CNPCEventHandler *pHandler, CScriptBinCode *pCode, CAIParameter *pParam, CAIProperty *pProp) -> CScriptAccessible::Invoke() -> void CNPC::ShowSellSeedList(CSharedCreatureData* talker, int nManorId)

Lock Stack :

 

 

i found this function in COEP code....

 

{(INT64)L"ShowSellSeedList", 0x4c4630, 0x20fa650, 0x2, 0x2ebd7b0, 0x20fa648, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},

 

maybe this lines has been some error???

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

You have no idea what your posting do you?

 

 

Check specificly where it crashed, and what function lead up to it.

Is it inside dll or l2server?

Threadlog gives good insight, but always check.

 

See if some of them would be suspectible to any form of overflow/crash situation.

 

 

Then you can determine wether its direct dll code, or some data passed from dll to l2npc makes it boomeloom.

and then make proper checks to ignore when it is.

 

Link to comment
Share on other sites

  • 0

NPC server errorLog:

minidump result : 0
Crashed Thread[0].
Server Up Time : Thu Dec 02 22:37:45 2010
Current Time : Thu Dec 02 23:17:46 2010
Elapsed Time : 0 days 0 hours 40 minutes 1 seconds
IOBufferPool - 1997 / 2000,  PendingWrite 0 bytes [0] 
=============== object report 
user[1], npc[40784]
[(2284) 2010/12/02 23:17:46]: =======================
an Access Violation in module L2NPC.~01 at 0033:00513dc5.
start at 2010/12/2 22:37:45
Read from location aa9dfaf4 caused an access violation.

Registers:
EAX=00000000 CS=0033 EIP=00513dc5 EFLGS=00010202
EBX=d01fd025 SS=002b ESP=5968f570 EBP=0000797e
ECX=aa9dfa9c DS=002b ESI=0000c611 FS=0053
EDX=c0000008 ES=002b EDI=00000005 GS=002b
Bytes at CS:EIP:
8b 4c 08 58 44 89 64 24 30 89 4c 24 28 89 74 24 
Stack dump:
5968f570: 1978abda 00000000 00400000 00000000 d01fd025 00000000 0000797e 00000000
5968f590: fffffffe ffffffff 005c76f1 00000000 00000000 00000000 00000000 00000000
5968f5b0: fffffffe ffffffff 00000000 00000000 00000000 00000000 5b6aa6d0 00000000
5968f5d0: 0000014a 00000000 00000008 00000000 0069a498 00000000 004c4f41 00000000
5968f5f0: 0000014a 00000000 00400000 00000000 883cbb94 00000000 5968f768 00000000
5968f610: 00000000 00000000 fffffffe ffffffff 00400000 00000000 00000002 00000000
5968f630: 006af148 00000000 00000002 00000000 00000002 00000000 005c5e5d 00000000
5968f650: 00000002 00000000 883cbb94 00000000 00400000 00000000 020fa640 00000000
5968f670: 00000001 00000000 00000001 00000000 fffffffe ffffffff 0c5164b8 00000000
5968f690: 5b5344b0 00000000 0c5164b8 00000000 0077e730 00000000 0c5164b8 00000000

script context[manor_manager_kamael]
castle_merchant [MANOR_MENU_SELECTED][16][2]


GuardInfo : 

IOThread [0][625] (ahehe):  void IOThread_common(void *arglist) -> bool ManorMenuSelectEventPacket(CSocket* pSocket, const unsigned char* pPacket) -> int CNPC::HandleEvent(CNPCEvent* pEvent) -> int InterlockedHandleEvent(ScriptEvent* pEvent, CAIParameter* pParameter) -> virtual int HandleEvent(ScriptEvent* pEvent, CAIParameter* pParameter) -> virtual int HandleEvent(ScriptEvent* pEvent, CAIParameter* pParameter, CAIProperty* pProp) -> int CScriptEngine::RunNPCScript(CNPCEvent* pNPCEvent, CNPCEventHandler *pHandler, CScriptBinCode *pCode, CAIParameter *pParam, CAIProperty *pProp) -> CScriptAccessible::Invoke() -> void CNPC::ShowSellSeedList(CSharedCreatureData* talker, int nManorId)
    Lock Stack  : 

IOThread [1][78] (good):  void IOThread_common(void *arglist)
    Lock Stack  : 

IOThread [2][94] (good):  void IOThread_common(void *arglist)
    Lock Stack  : 

IOThread [3][94] (good):  void IOThread_common(void *arglist)
    Lock Stack  : 

ListenThread [13][156] (good):  void NPCServer::Run() -> unsigned __stdcall WaitThread(void *)
    Lock Stack  : 

MainThread [12][20686578] (good):      Lock Stack  : 

GuardInfo end 



[(2284) 2010/12/02 23:17:46]: *.\ioc.cpp:648(Tue Dec 13 02:52:30 2005) exception

 

 

L2server no errors...

Link to comment
Share on other sites

  • 0

Haven't had time to check the adress.

Will tonight.

 

 

As a big search area/parameter look thru any NPC <> L2Server information (Not sure there's that much in Open PP - if i remember correctly)

And look for loose/bad pointers and so on.

General memory no no's.

 

Link to the SVN of the one you use snoweagle, ill dll it and check.

 

 

Minideed:

It' still freely availeble with quite alot completed for a framework - if anyone wanted to continue.

Problem is the balls and brains to do so seem lacking :)

Link to comment
Share on other sites

  • 0

Would be nice if the project was started again. Looked good for a while and then it died out.

 

Would but would require someone to spool resources.

Testing is an integral part :)

 

But with the current situation it would also be lopsided, it'd be one of the few of us left pooling most work.

And then it's one short step to "if XYZ does most, why should all profit?(not in direct monetary sence, but overall)".

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...