Issue information

Issue ID
#5245
Status
Fixed
Severity
Medium
Started
Hercules Elf Bot
Jan 15, 2012 18:46
Last Post
Hercules Elf Bot
Apr 19, 2012 18:20
Confirmation
N/A

Hercules Elf Bot - Jan 15, 2012 18:46

Originally posted by [b]kou[/b]
[CODE]
(gdb)
#0 skill_timerskill (tid=4022, tick=464062788, id=110119198, data=0)
at skill.c:2306
src = (struct block_list *) 0x0
target = <value optimized out>
ud = <value optimized out>
skl = <value optimized out>
range = <value optimized out>
#1 0x0815e7c0 in do_timer (tick=464062811) at timer.c:330
tid = 4022
diff = -23
__FUNCTION__ = "do_timer"
#2 0x0815bd8e in main (argc=1, argv=0xff8929f4) at core.c:253
next = <value optimized out>
(gdb)
[/CODE]
svn version 14142M trunk
this is the core dump, can someone tell me how to fix this and what is causing it? the map server keeps crashing cuz of this apparently. it could be an item script causing this or a skill itself.

This post has been edited by kou on Jan 15, 2012 19:43

Hercules Elf Bot - Jan 15, 2012 21:16

Originally posted by [b]Protimus[/b]
Please give me the lines of code that you have been warned in debugger. (Line 2306 of skill.c)

You are sure that are using the latest rAthena version? The latest is 15463 and not [color=#282828][font=helvetica, arial, sans-serif][size=3]14142.[/size][/font][/color]

This post has been edited by Protimus on Jan 15, 2012 21:17

Hercules Elf Bot - Jan 15, 2012 21:26

Originally posted by [b]Gepard[/b]
A non-PC unit (could be NPC, mob, homunculus, mercenary or pet) used a skill, but got removed from memory (could be unloaded, dead with no respawn etc) before the skill fully went off.

Can pets in your server use skills (especially skills that rely on timers, like for example Meteor Storm)?

Just by looking at source code, I think that possible scenario to reproduce this would be to cause pet cast MS, and when it's finished casting, return pet to egg (but before the last meteor). But I can't check it by myself atm.

This post has been edited by Gepard on Jan 15, 2012 21:41

Hercules Elf Bot - Jan 15, 2012 22:06

Originally posted by [b]kou[/b]
@Protimus
yes im aware im not up to date with the SVN, but im happy with 14142, just wanting to know what could be the cause of this and get it fixed

@Gepard
no pets cannot use skills, can it be autocasting skills.. maybe a demonstration on the floor autocasting a skill when the player is dead?.. because skills in my server can trigger autocasts.

Here are the lines of the skill.c

[CODE]
static int skill_timerskill(int tid, unsigned int tick, int id, intptr data)
{
struct block_list *src = map_id2bl(id),*target;
struct unit_data *ud = unit_bl2ud(src);
struct skill_timerskill *skl = NULL;
int range;
nullpo_ret(src);
nullpo_ret(ud);
skl = ud->skilltimerskill[data];
nullpo_retr(0, skl);
ud->skilltimerskill[data] = NULL;
do {
if(src->prev == NULL)
break;
if(skl->target_id) {
target = map_id2bl(skl->target_id);
if( skl->skill_id == RG_INTIMIDATE && (!target || target->prev == NULL || !check_distance_bl(src,target,AREA_SIZE)) )
target = src; //Required since it has to warp.
if(target == NULL)
break;
if(target->prev == NULL)
break;
if(src->m != target->m)
break;
if(status_isdead(src))
break;
if(status_isdead(target) && skl->skill_id != RG_INTIMIDATE && skl->skill_id != WZ_WATERBALL)
break;
switch(skl->skill_id) {
case RG_INTIMIDATE:
if (unit_warp(src,-1,-1,-1,3) == 0) {
short x,y;
map_search_freecell(src, 0, &x, &y, 1, 1, 0);
if (target != src && !status_isdead(target))
unit_warp(target, -1, x, y, 3);
}
break;
[/CODE]

ive also been receiving this warning randomly:

[quote][Warning]: skill_unitgrouptickset_search: tickset is full[/quote]

This post has been edited by kou on Jan 16, 2012 5:23

Hercules Elf Bot - Jan 16, 2012 15:48

Originally posted by [b]Gepard[/b]
The source of this crash in not a Player Character, because its id is too high. It must've been mob, hom, mer, or pet. However, it's nearly impossible to know the exact reason without additional info about source, or skill used.

As I mentioned before, I've discovered a possible crash scenario that is related to pets using skills, and it has been fixed in [rev=15468]. But if pets don't use skills in your server it's unlikely to fix your issue.

Hercules Elf Bot - Jan 28, 2012 14:24

Originally posted by [b]Gepard[/b]
With cooperation with original poster, I managed to find out that the skill in question is Water Ball, and source is BL_MOB.

Just by looking at code, I found a possible crash scenario, when monster is killed by own reflected Water Ball. I need to reproduce it, and then I'll fix it.

Hercules Elf Bot - Jan 30, 2012 20:07

Originally posted by [b]Gepard[/b]
Quick-fixed in [rev=15526].