Originally posted by [b]Inkfish[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=3006
I wanna make some conclusions here.
I'm pretty sure all of the bugs below have this same cause, which I've been mentioned in some post and which has been neglected:
http://www.eathena.ws/board/index.php?auto...mp;showbug=2785http://www.eathena.ws/board/index.php?auto...mp;showbug=2729http://www.eathena.ws/board/index.php?auto...mp;showbug=2970http://www.eathena.ws/board/index.php?auto...mp;showbug=2959http://www.eathena.ws/board/index.php?auto...mp;showbug=2982http://www.eathena.ws/board/index.php?auto...mp;showbug=3001look, in 'map_clearflooritem_timer'
CODE
map_freeblock(&fitem->bl);
map_deliddb(&fitem->bl);
we can't delete bl from idb if it's been freed.
A way to reproduce:
You increase the drop rate of your server, because the more items on the floor the easier to produce the crash.
You summon 100 porings, and @killmonster.
You wait until the floor items are cleared.
You @reloadscript, keep doing this until server crashes.
It won't take much time, in general, 3 times at most.
Read the core dump and you'll find it's caused for random reasons.
One of which I encountered was like the reports below:
http://www.eathena.ws/board/index.php?auto...mp;showbug=2984http://www.eathena.ws/board/index.php?auto...mp;showbug=3002http://www.eathena.ws/board/index.php?auto...mp;showbug=2717Following the trace:
npc_reload(): -> unit_free(bl,0); ->skill_clear_unitgroup(bl); ->skill_delunitgroup(src, ud->skillunit[0]);
However, I 'm not sure if this is their real cause too. You can see the bug report 2717 is on r13493, and this problem was created on r13505.
Either the reporter was wrong about version or this has nothing to do with bl being dangling pointer.
and these two might be related but I don't have time to prove it
http://www.eathena.ws/board/index.php?auto...mp;showbug=2964http://www.eathena.ws/board/index.php?auto...mp;showbug=2989This post has been edited by Inkfish: Apr 22 2009, 10:36 PM