Originally posted by [b]Itakou[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=777
Stack dump,
QUOTE
-------------------
Error occured on Wednesday, January 9, 2008 at 05:21:21.
C:\Inetpub\vhosts\icarus.legacyro.com\Icarus\map-server_sql.exe caused an Access Violation at location 00680c99 in module C:\Inetpub\vhosts\icarus.legacyro.com\Icarus\map-server_sql.exe Reading from location 0000000c.
Registers:
eax=00000000 ebx=7ffff000 ecx=00000004 edx=0000001f esi=0012fd70 edi=0012fbcc
eip=00680c99 esp=0012f500 ebp=0012fbcc iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
Call stack:
00680C99 skill_castend_nodamage_id c:\users\itakou\desktop\server\icarus\src\map\skill.c:4178
00687540 skill_castend_id c:\users\itakou\desktop\server\icarus\src\map\skill.c:5313
00532457 do_timer c:\users\itakou\desktop\server\icarus\src\common\timer.c:386
0051CA1E main c:\users\itakou\desktop\server\icarus\src\common\core.c:253
006DFB13 __tmainCRTStartup f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c:318
006DF8CD mainCRTStartup f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c:187
77E6F23B C:\WINDOWS\system32\kernel32.dll:77E6F23B ProcessIdToSessionId
Memory leaks found,
QUOTE
0168 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0169 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2064 size 12
0170 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0171 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2064 size 12
0172 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0173 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2064 size 12
0174 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0175 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2064 size 12
0176 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0177 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2064 size 12
0178 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0179 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2064 size 12
0180 : c:\users\itakou\desktop\server\icarus\src\map\npc.c line 2273 size 50
0181 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2167 size 15
0182 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2167 size 17
0183 : c:\users\itakou\desktop\server\icarus\src\map\script.c line 2167 size 20
Because my source is a little different, here are where the lines point to for me,
skill.c:4178
CODE
case SA_DISPELL:
if (flag&1 || (i = skill_get_splash(skillid, skilllv)) < 1)
{
clif_skill_nodamage(src,bl,skillid,skilllv,1);
if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER)
|| (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.
|| rand()%100 >= 50+10*skilllv)
{
if (sd)
clif_skill_fail(sd,skillid,0,0);
break;
}
if(status_isimmune(bl) || !tsc->count) // LINE 4178
skill.c:5313
CODE
map_freeblock_lock();
if (skill_get_casttype(ud->skillid) == CAST_NODAMAGE)
skill_castend_nodamage_id(src,target,ud->skillid,ud->skilllv,tick,0); // LINE 5313
else
skill_castend_damage_id(src,target,ud->skillid,ud->skilllv,tick,0);
npc.c:2167
CODE
default:
data->u.str = pc_readglobalreg_str(sd, name);
break;
}
if( data->u.str == NULL || data->u.str[0] == '\' )
{// empty string
data->type = C_CONSTSTR;
data->u.str = "";
}
else
{// duplicate string
data->type = C_STR;
data->u.str = aStrdup(data->u.str); // LINE 2167
}
npc.c:2064
CODE
CREATE(code,struct script_code,1); // LINE 2064
code->script_buf = script_buf;
code->script_size = script_size;
code->script_vars = NULL;
return code;
}
npc.c:2273
CODE
if (script == NULL) {
// script parse error?
aFree(srcbuf);
return 1;
}
p = (char *) aMallocA (50*sizeof(char)); // LINE 2273
strncpy(p, w3, 50);