Issue information

Issue ID
#6200
Status
Fixed
Severity
Medium
Started
Hercules Elf Bot
Jul 10, 2012 17:15
Last Post
Hercules Elf Bot
Jul 11, 2012 14:09
Confirmation
Yes (1)
No (0)

Hercules Elf Bot - Jul 10, 2012 17:15

Originally posted by [b]jTynne[/b]
[s]No crash dump yet, but just started the server with GDB. Will post the stackdump once it crashes again.[/s]

See responses for crash dump(s).

Crashed with ~85 players online. There was a party going on in Endless Tower on floor 90 with 1x Sorcerer (allegedly not using Elemental), Arch Bishop, 2x Rune Knights, 1x Minstrel, and 1x Sura.

There were other things going on, but that was the most "out of the ordinary", as most other players were idling in towns.

If others have experienced a map crash in the latest revisions, please post up your findings here as well. As soon as my server crashes again, I'll post the info here.

This post has been edited by jTynne on Jul 10, 2012 18:19

Hercules Elf Bot - Jul 10, 2012 17:40

Originally posted by [b]jTynne[/b]
GDB nub here, didn't get the full crash dump. -_-;


#0 0x08131d9f in skill_castend_damage_id (src=0xeb348f8, bl=0xa8b243e4,
skillid=2230, skilllv=1, tick=3036849411, flag=0) at skill.c:4108
skill_lv = <value optimized out>
s = 0
skill_id = <value optimized out>
point = <value optimized out>
spell = {2230, 246631336, -1073745336, 135327648, -1073745288,
-1073745312, 135325962}
i = <value optimized out>
sd = 0xeb348f8
tstatus = <value optimized out>
sc = 0xeb34ba8
#1 0x0814796c in skill_castend_id (tid=-1, tick=3036849411, id=2009128,
data=0) at skill.c:8897
target = 0xa8b243e4
src = 0xeb348f8
sd = 0xeb348f8
md = 0x0
ud = 0xeb34910
sc = 0xa8b2462c
inf = <value optimized out>
inf2 = <value optimized out>
flag = 0

Hercules Elf Bot - Jul 10, 2012 18:19

Originally posted by [b]jTynne[/b]
[14:04] <Llediarth> 16365 is my guess atm for breaking it
[14:07] <Llediarth> lol wait could it be
[14:07] <Llediarth> i = spell[s==1?0:rand()%s]
[14:07] <Llediarth> if s is 0 youd be dividing by 0?

Hercules Elf Bot - Jul 10, 2012 18:26

Originally posted by [b]jTynne[/b]
Possible fix by Llediarth:

[font=arial, sans-serif][size=3]if(s==0) s = 1; // Prevent division by zero[/size][/font]
[font=arial, sans-serif][size=3]to Skill.c at line 4108[/size][/font]

[font=arial, sans-serif][size=3]Will test after next crash.[/size][/font]

Hercules Elf Bot - Jul 10, 2012 18:33

Originally posted by [b]jTynne[/b]
[14:32] <Llediarth> i = spell[s<=1?0:rand()%s];
[14:32] <Llediarth> is better then

Hercules Elf Bot - Jul 10, 2012 19:01

Originally posted by [b]jTynne[/b]
misc brainstorming


[14:57] <~jTynne> skill level used was 1, had five things stored
[14:57] <~jTynne> not sure what they are though
[14:57] <~jTynne> soooo
[14:57] <~jTynne> I'm guessing...
[14:57] <~jTynne> do the spells store for a specific amount of time?
[14:57] <~jTynne> and instead of ending at a countdown to 0
[14:57] <~jTynne> it continues past then
[14:57] <~jTynne> -tests-
[14:58] <Llediarth> probably the way they have them implemented yeah
[14:58] <Llediarth> as status changes

Hercules Elf Bot - Jul 10, 2012 19:23

Originally posted by [b]jTynne[/b]
qq this needs to be severity high PLOX :( /kicksnadscreams

Thanks @ Trojal and Ind in IRC working on this. T_T

Also thanks to Llediarth :D

Hercules Elf Bot - Jul 10, 2012 21:50

Originally posted by [b]jTynne[/b]
Issue has been fixed-- Thank you Trojal, Ind, and Llediarth!

Hercules Elf Bot - Jul 10, 2012 23:42

Originally posted by [b]Mysterious[/b]
Eek.. Still? o_o

This post has been edited by Mysterious on Jul 11, 2012 1:57

Hercules Elf Bot - Jul 11, 2012 1:15

Originally posted by [b]jTynne[/b]
Still crashing. Reverted back to 16316, no probs there. =(

Hercules Elf Bot - Jul 11, 2012 5:06

Originally posted by [b]malufett[/b]
how can this fix the problem??..
[quote]if(s==0) s = 1; // Prevent division by zero[/quote]
and [rev='16388']

since [b]i[/b] and [b]s[/b] will never be negative...

and you can't release a null spell since I already make check for it..
[CODE]if( s && sc->data[i] ){[/CODE]

and the crash will be cause by [CODE]if( sc->data[i] ) spell[s++] = i;[/CODE] if the [b]sc [/b]will be broke...
please try [CODE]if( sc && sc->data[i] ) spell[s++] = i;[/CODE] if it will work....

Hercules Elf Bot - Jul 11, 2012 10:15

Originally posted by [b]malufett[/b]
BTW something is bugging me...why does 2230(WL_RELEASE) has been stored?
please check if your players are hacking the way it stores spells..

[quote]
[color=#282828][font=helvetica, arial, sans-serif][size=3]spell = {[b]2230[/b], 246631336, -1073745336, 135327648, -1073745288,[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] -1073745312, 135325962}[/size][/font][/color]
[/quote]

and as I understand the crash dump that there is a redundant invocation of the skill...
notice the value of [b]s [/b]it is 0 which means '[color=#282828][font=helvetica, arial, sans-serif][size=3]skill.c:4108' is the bottle neck of the looping of the skill invocation..[/size][/font][/color]

This post has been edited by malufett on Jul 11, 2012 10:21

Hercules Elf Bot - Jul 11, 2012 10:19

Originally posted by [b]jTynne[/b]
Which would be done how? I've made no modifications to the code in question. =X We run Harmony, so..

Hercules Elf Bot - Jul 11, 2012 10:29

Originally posted by [b]malufett[/b]
maybe there is some new tools for hacking which Harmony doesn't aware of...

anyway lets wait for more information regarding this crashing from other people that would confirmed..
and try to investigate what your players are doing...good luck! /no1

Hercules Elf Bot - Jul 11, 2012 13:44

Originally posted by [b]Ind[/b]
r16388 is wrong it is meant to be s == 0 not i. it crashes on
i = spell[s==1?0:rand()%s];// Random select of spell to be released.
rand()%0 = crash.

Hercules Elf Bot - Jul 11, 2012 13:47

Originally posted by [b]Ind[/b]
should be fixed in 16396
[code]
[10:46:27] <CIA-7> RAthena: shennetsind * r16396 /trunk/src/map/skill.c: Follow up r16388, fix for bugreport:6200
[/code]