Coruja
Sphere Developer
Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7
Dimension Shard
|
Huge tags = sphere crash
If this huge tag got stored on a char, the entire server will crash when sphere try to read it again.
Quote:TAG.Sync.Paperdoll="layer1=NULL, layercor1=NULL, layer2=NULL, layercor2=NULL, layer6=NULL, layercor6=NULL, layer6=5447, layercor6=713, layer1=5184, layercor1=NULL, layer2=7030, layercor2=2057, layer6=NULL, layercor6=NULL, layer6=5138, layercor6=2057, layer1=NULL, layercor1=NULL, layer2=NULL, layercor2=NULL, layer6=NULL, layercor6=NULL, layer6=5447, layercor6=713, layer22=NULL, layercor22=NULL, layer22=9860, layercor22=1940, layer2=5122, layercor2=NULL, layer2=NULL, layercor2=NULL, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer2=5122, layercor2=NULL, layer2=NULL, layercor2=NULL, layer22=NULL, layercor22=NULL, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer22=9860, layercor22=1940, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer22=NULL, layercor22=NULL, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer22=9860, layercor22=1940, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer22=NULL, layercor22=NULL, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer22=9860, layercor22=1940, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer22=NULL, layercor22=NULL, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer22=9860, layercor22=1940, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer22=NULL, layercor22=NULL, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=2207, layer22=9860, layercor22=1940, layer8=NULL, layercor8=NULL, layer8=4234, layercor8=71, layer1=5184, layercor1=NULL, layer2=7030, layercor2=2057, layer6=NULL, layercor6=NULL, layer6=5138, layercor6=2057, layer1=NULL, layercor1=NULL, layer2=NULL, layercor2=NULL, layer6=NULL, layercor6=NULL, layer6=5447, layercor6=713, layer1=5184, layercor1=NULL, layer2=7030, layercor2=2057, layer6=NULL, layercor6=NULL, layer6=5138, layercor6=2057, layer1=NULL, layercor1=NULL, layer2=NULL, layercor2=NULL, layer20=NULL, layercor20=NULL, layer6=NULL, layercor6=NULL, layer6=5447, layercor6=713, layer2=3912, layercor2=NULL, layer2=NULL, layercor2=NULL, layer2=3912, layercor2=NULL, layer2=NULL, layercor2=NULL, layer1=5184, layercor1=NULL, layer2=7030, layercor2=2057, layer6=NULL, layercor6=NULL, layer6=5138, layercor6=2057, layer1=NULL, layercor1=NULL, layer2=NULL, layercor2=NULL, layer6=NULL, layercor6=NULL, layer6=5447, layercor6=713"
(this tag is just to store all equip/unequip on the char, to later execute a single SQL command instead execute another command for each one)
On windows I got the error "sphereSvr.exe stopped and must be closed" and no console error on sphere. I took the entire week to find this problem since sphere force-close without a single console error.
Thats a huge problem, because I can fix the script myself, but it can occour again at any time on any other script, or occour on any other server. And if occour, ppl will got their servers crashed at every moment without know why
So even fixing on script, sphere must have a internal protection for this thing too, it will save many servers to close (nobody wants to play on a server that crash 10x each day)
I have no idea how this internal fix could be done, but something like this will help:
1) Add support for huge strings (sphere will read it correctly instead force-close sphereSvr.exe)
2) Add a length limit on tags (my tag has 1768 chars and crash the server, so it must be something less than this, maybe 1024 or 1500). If exceeded, show a console error "ERROR:(script.scp,666): Trying to write a TAG with length > 1500"
|
|