Issue information

Issue ID
#7494
Status
Fixed
Severity
None
Started
Igniz
Jul 8, 2013 22:42
Last Post
Ind
Jul 21, 2013 19:02
Confirmation
Yes (1)
No (0)

Igniz - Jul 8, 2013 22:42

In console:
[code=auto:0] [Error]: Memory manager: not-allocated-data is changed. [Error]: Memory manager: freed-data is changed. (freed in db.c line 1058) [Error]: Memory manager: freed-data is changed. (freed in (null) line 0) [Error]: Memory manager: freed-data is changed. (freed in script.c line 592) [Error]: Memory manager: args of aFree 0x0xb27bd804 is invalid pointer pc.c line 8460 [Error]: Server received crash signal! Attempting to save all online characters! [/code]
Core dump(GDB)[code=:0] Core was generated by `./map-server'. Program terminated with signal 11, Segmentation fault. #0 _mfree (ptr=0xae749a84, file=0x824052f "db.c", line=1058, func=0x8259f80 "db_release_data") at malloc.c:392 392 *(long*)((char*)head_large + sizeof(struct unit_ head_large) - sizeof(long) + head_large->size) (gdb) bt full #0 _mfree (ptr=0xae749a84, file=0x824052f "db.c", line=1058, func=0x8259f80 "db_release_data") at malloc.c:392 head_large = 0xae749a6c head = 0xae749a78 #1 0x0821f702 in db_obj_remove (self=0x9b6093c, key=..., out_data=0x0) at db.c:1890 node = 0xa6abae4 hash = <value optimized out> c = <value optimized out> retval = <value optimized out> #2 0x0815a2c6 in skill_blockpc_end (tid=405, tick=1027739265, id=2008915, data=1064) at skill.c:17266 i = <value optimized out> cursor = <value optimized out> sd = 0xaeff280 cd = <value optimized out> #3 0x0821d247 in do_timer (tick=1027739279) at timer.c:353 tid = 405 diff = -14 __FUNCTION__ = "do_timer" #4 0x0821a0e8 in main (argc=1, argv=0xbfe8c584) at core.c:350 next = <value optimized out> [/code]

Thanks as always ~

Ind - Jul 9, 2013 0:57

I think I can see how you'd get the core dump (I'm not sure as to whether the memory manager errors are related, we'll find out when the fix is commit), /me starts working on it

Ind - Jul 9, 2013 1:42

I believe I've gone over and fixed any possible issues over the skill cool down saving (the problem you had on skill_blockpc_end), please let me know if it also stops the memory manager errors: [url="https://github.com/HerculesWS/Hercules/commit/629fbd735a2a09d865dda51f0d128fc90039ea5a"]https://github.com/HerculesWS/Hercules/commit/629fbd735a2a09d865dda51f0d128fc90039ea5a[/url]

Igniz - Jul 14, 2013 22:19

Well, after one week of tests, this is already fixed.

The "crasher" was body relocation, his cooldown. Every user that uses body relocation more than 80' times in a row was crashing the whole server (i think the cooldown's are LUA related). Now just drop a warning saying that X user exceed the number of XX cooldowns.

Thanks for all :)

Ind - Jul 21, 2013 19:02

Thanks for updating us