Jump to content

ReDraco

Member
  • Posts

    10
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by ReDraco

  1. 3 minutes ago, Ikarus_ said:

    It looks the map instance is collecting dangling pointers, pointers which points to deleted memory. I guess the system is destroy some character (monster i guess) without removing it from its sectree. Can't know more atm i m not at home.

    Thank you for the explanation you provided and for the help. However, it often happens that when I am facing other dungeons (such as Devoltower, Devils Catacombs, etc.), they crash and generate this .core file for me. Specifically, this has only been happening since I added this ShipDefense.

  2. 2 minutes ago, Ikarus_ said:

    I edited the answer with instructions for u

    Oh thanks

    I have this is secree_manager.cpp

     

    struct FDestroyPrivateMapEntity
    {
    	void operator() (LPENTITY ent)
    	{
    		if (ent->IsType(ENTITY_CHARACTER))
    		{
    			LPCHARACTER ch = (LPCHARACTER) ent;
    			sys_log(0, "PRIVAE_MAP: removing character %s", ch->GetName());
    
    			if (ch->GetDesc())
    				DESC_MANAGER::instance().DestroyDesc(ch->GetDesc());
    			else
    				M2_DESTROY_CHARACTER(ch);
    		}
    		else if (ent->IsType(ENTITY_ITEM))
    		{
    			LPITEM item = (LPITEM) ent;
    			sys_log(0, "PRIVATE_MAP: removing item %s", item->GetName());
    
    			M2_DESTROY_ITEM(item);
    		}
    		else
    			sys_err("PRIVAE_MAP: trying to remove unknown entity %d", ent->GetType());
    	}
    };

     

  3. Hi @ Owsap i have a core crash

    This is my core debug:

     

    Spoiler

    Core was generated by `./srv1-ch1-core3'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    Address not mapped to object.
    #0  strlen (str=0x2029f679 <error: Cannot access memory at address 0x2029f6
        at /usr/src/lib/libc/string/strlen.c:101
    101     /usr/src/lib/libc/string/strlen.c: No such file or directory.
    [Current thread is 1 (LWP 100733)]
    (gdb) bt
    #0  strlen (str=0x2029f679 <error: Cannot access memory at address 0x2029f6
        at /usr/src/lib/libc/string/strlen.c:101
    #1  0x28eacf72 in __vfprintf (fp=0x28f68d90,
        locale=0x28f5ba28 <__xlocale_global_locale>,
        fmt0=0x8531f08 "PRIVAE_MAP: removing character %s", ap=<optimized out>)
        at /usr/src/lib/libc/stdio/vfprintf.c:854
    #2  0x28eabb43 in vfprintf_l (fp=0x28f68d90,
        locale=0x28f5ba28 <__xlocale_global_locale>,
        fmt0=0x8531f08 "PRIVAE_MAP: removing character %s",
        ap=0xffff9a68 "y\366) \300x\227(\024")
        at /usr/src/lib/libc/stdio/vfprintf.c:285
    #3  0x28eaea76 in vfprintf (fp=0x28f68d90,
        fmt0=0x8531f08 "PRIVAE_MAP: removing character %s",
        ap=0xffff9a68 "y\366) \300x\227(\024")
        at /usr/src/lib/libc/stdio/vfprintf.c:292
    #4  0x084f988b in sys_log (bit=0,
        format=0x8531f08 "PRIVAE_MAP: removing character %s") at log.c:197
    #5  0x081e9551 in FDestroyPrivateMapEntity::operator() (ent=0x5b437d01,
        this=<synthetic pointer>) at sectree_manager.cpp:1036
    #6  FCollectEntity::ForEach<FDestroyPrivateMapEntity> (
        f=<synthetic pointer>..., this=0xffff9ab0) at sectree.h:73
    #7  SECTREE_MAP::for_each<FDestroyPrivateMapEntity> (
        rfunc=<synthetic pointer>..., this=<optimized out>)
    --Type <RET> for more, q to quit, c to continue without paging--
        at sectree_manager.h:105
    #8  SECTREE_MANAGER::DestroyPrivateMap (this=<optimized out>,
        lMapIndex=<optimized out>) at sectree_manager.cpp:1071
    #9  0x08247df1 in CShipDefense::Destroy (this=0x5a9b6680)
        at ShipDefense.cpp:529
    #10 0x08247ecf in CShipDefense::~CShipDefense (this=0x5a9b6680,
        __in_chrg=<optimized out>) at ShipDefense.cpp:524
    #11 0x08247f99 in CShipDefense::~CShipDefense (this=0x5a9b6680,
        __in_chrg=<optimized out>) at ShipDefense.cpp:525
    #12 0x08244178 in CShipDefenseManager::Remove (this=0xffff9ef4,
        c_dwLeaderPID=1047) at ShipDefense.cpp:1476
    #13 0x082460a6 in CShipDefense::JumpAll (this=<optimized out>,
        eJumpTo=<optimized out>) at ../../common/singleton.h:30
    #14 0x0824661d in CShipDefense::JumpAll (this=0x5a9b6680,
        eJumpTo=ShipDefense::JUMP_PORT) at ShipDefense.cpp:1392
    #15 0x0824698b in ExitEvent (event=..., processing_time=25)
        at ShipDefense.cpp:94
    #16 0x08134d3c in event_process (pulse=<optimized out>) at event.cpp:130
    #17 0x0824cdbe in heartbeat (ht=0x293ea5c0, pulse=16969) at main.cpp:254
    #18 0x0824dd94 in idle () at main.cpp:900
    #19 0x08078695 in main (argc=<optimized out>, argv=<optimized out>)
        at main.cpp:546

    Do you know how I could solve it? thanks to who helps me.

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.