"Packet too large" bug

Forum rules
NO LONGER BEING MAINTAINED!
Post Reply
PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

"Packet too large" bug

Post by PrBlahBlahtson » Sun Jan 06, 2013 6:35 pm

Wanted to make a new thread for data on this, instead of taking over an unrelated topic. Basically trying to give a clinical starting point if anyone wants to investigate or examine the problem. The test scripts were written based on "this regularly triggered the bug with mXI + Spellcast, so it should work with Ashita."

The bug:
An action is breaking communication between Darkstar and a subject's client. Nearby players seem unaffected, only the person taking the action seems to suffer, although this has not been thoroughly tested. Packets sent from the client to Darkstar (movement, speech) are still received, but the subject's client does not receive/interpret packets from Darkstar, leading to eventually reaching R0. The client then goes to a black screen and eventually displays FFXI-4001, no response, connection timed out. Once that has happened, the server begins to time out the subject's session (red eye).

Related:
- You (almost?) always will see a Warning message in game-server: "send_parse: packet is very big (####)" where #### is the size of the packet. The bug did not seem intentional in the error message's code.
- A packet sniff via Wireshark shows that there's still some sort of conversation going on between the client and server after the bug triggers.

How to cause it:
- Swapping a lot of gear all at once seems to work well, although still is inconsistent. Testing with Ashita seems to indicate that critical mass is around 7-9 pieces while soloing mobs in Sky on 75 DNC, but this still will not recreate the bug every time. Test scripts below.
- Being in a party may exasperate this. Untested.
- Being engaged may exasperate this as well. Untested.

How to avoid it:
- Liberal usage of /pause in Windower/Ashita macros seems to help, but may detract from gameplay.
- Gearswap less :V

Theories:
- The black screen is displayed while the client is trying to re-negotiate the session with connect-server. Connect-server still sees the old session as valid, so that conversation goes nowhere.
- Server isn't responding correctly for a large gear swap, and client is refusing to proceed due to incorrect response.
- The problem is purely packet size, and anything that will increase the packet size (engaged, party, etc) will exasperate the problem.
- In hindsight, the idle gear set has sufficient gear swaps to potentially cause problems, if a "naked" script was made to switch back and forth.
- Double Attack/Multiple Attacks are a factor
- Sort_of_know_what_doing.jpg and over-looked something.

Edits:
1/6/13 - Added multiple attack theory. I have triggered this on RDM and SMN, but may have had a DA +% piece equipped at the time (Pole Grip, Joyeuse, etc.)




* * * Information ends here, only scripts follow in this post. * * *

These scripts were written for Ashita, but should work in mXI as well. They're tested with a 75 DNC/WAR with dual wield traits (non-trunk), and Godmode with Hundred Fists and Mighty Strikes cancelled. Hypothetically, it should still trigger the bug on DNC/NIN.

DNC traits used:

Code: Select all

DELETE FROM `traits` WHERE job = '19' AND name = 'dual wield';
DELETE FROM `traits` WHERE job = '19' AND name = 'evasion bonus' AND level IN (45, 75);
DELETE FROM `traits` WHERE job = '19' AND name = 'accuracy bonus' AND level = 60;
INSERT INTO `traits` VALUES (18, 'dual wield', 19, 20, 259, 10);
INSERT INTO `traits` VALUES (18, 'dual wield', 19, 40, 259, 5);
INSERT INTO `traits` VALUES (2, 'evasion bonus', 19, 45, 69, 12);
INSERT INTO `traits` VALUES (67, 'subtle blow', 19, 45, 289, 5);
INSERT INTO `traits` VALUES (18, 'dual wield', 19, 60, 259, 10);
INSERT INTO `traits` VALUES (1, 'accuracy bonus', 19, 60, 64, 12);
INSERT INTO `traits` VALUES (67, 'subtle blow', 19, 65, 289, 5);
INSERT INTO `traits` VALUES (2, 'evasion bonus', 19, 75, 69, 13);
Idle gear (establishes a basic gear set):

Code: Select all

/input /equip main "Azoth"
/pause 1
/input /equip sub "Joyeuse"
/input /equip range "War hoop"
/pause 1
/input /equip head "Etoile tiara +1"
/input /equip neck "Peacock Charm"
/input /equip ear1 "Suppanomimi"
/input /equip ear2 "Brutal Earring"
/pause 1
/input /equip body "Etoile casaque +1"
/input /equip hands "Etoile bangles +1"
/input /equip ring1 "Toreador's ring"
/input /equip ring2 "Sniper's ring +1"
/pause 1
/input /equip back "Etoile cape"
/input /equip waist "Sonic belt +1"
/input /equip legs "Etoile tights +1"
/input /equip feet "Etoile toe shoes +1"
Engage script (Haste):

Code: Select all

/input /equip head "Walahra Turban"
/input /equip body "Rapparee Harness"
/input /equip hands "Dusk Gloves +1"
/input /equip feet "Dusk Ledelsens +1"
Pyrrhic Kleos (for triggering the bug):

Code: Select all

/input /equip head "Etoile tiara +1"
/input /equip ear1 "Triumph earring +1"
/input /equip ear2 "Harmonius Earring"
/input /equip body "Etoile Casaque +1"
/input /equip hands "Dancer's bangles +1"
/input /equip back "Cerberus mantle +1"
/input /equip waist "Virtuoso Belt"
/input /equip legs "Dancer's Tights +1"
/input /equip feet "Etoile toe shoes +1"
/input /ws "Pyrrhic Kleos" <t>
/pause 2
/input /equip head "Walahra Turban"
/input /equip ear1 "Suppanomimi"
/input /equip ear2 "Brutal Earring"
/input /equip body "Rapparee harness"
/input /equip hands "Dusk gloves +1"
/input /equip back "Etoile cape"
/input /equip waist "Sonic belt +1"
/input /equip legs "Etoile tights +1"
/input /equip feet "Dusk ledelsens +1"

User avatar
whasf
Site Admin
Posts: 1312
Joined: Thu Jul 19, 2012 9:11 pm

Re: "Packet too large" bug

Post by whasf » Sun Jan 06, 2013 7:14 pm

Easy fix: in map_darkstar.conf set this line to this value:

Code: Select all

buff_maxsize: 1742
That has fixed the problem on the test server.
-- Whasf

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: "Packet too large" bug

Post by PrBlahBlahtson » Sun Jan 06, 2013 8:13 pm

Huh. I'd played with that value, but apparently I didn't set it high enough. Will do, Whasf.

Eliseus
Posts: 15
Joined: Sat Nov 03, 2012 6:04 pm

Re: "Packet too large" bug

Post by Eliseus » Mon Jan 07, 2013 1:15 am

whasf wrote:Easy fix: in map_darkstar.conf set this line to this value:

Code: Select all

buff_maxsize: 1742
That has fixed the problem on the test server.
So is this suppose to fix the r0 from gearswapping? After reading this I logged on to see if that was the case and after about the 5th time pushing my macro for WS on THF (swapping 9 pieces atm if it functioned right) I r0'd. IDK if I would be able to get away with that many in a pt or not. I was just standing in bastok also if that matters.

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: "Packet too large" bug

Post by PrBlahBlahtson » Mon Jan 07, 2013 2:19 am

Yeah, still disconnects. I didn't really try to compare success/failure rates before and after the change.

Vanyel
Posts: 31
Joined: Sun Jul 22, 2012 10:58 am
Location: New Brunswick, Canada

Re: "Packet too large" bug

Post by Vanyel » Mon Jan 07, 2013 9:49 am

I receive these errors consistently when my bandwidth is being used up.
My 3G cell phone has a higher download speed than our DSL.

Everything works fine connecting to my server (which is off-site) until my dickhead boyfriend starts using up the bandwidth. Netflix for example triggers a lot of these "Packet too large". Bittorrent are also unpopular.

Not sure that this helps, but it's an observation I've made.

Post Reply