Closed Bug 1267925 Opened 8 years ago Closed 6 years ago

Marionette triggers SYN flooding detection ("TCP: request_sock_TCP: Possible SYN flooding on port 2828. Dropping request. Check SNMP counters.") (or possibly "Sending cookies")

Categories

(Remote Protocol :: Marionette, defect)

Version 3
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: dholbert, Unassigned)

References

Details

STR:
 1. Start reftests, on an ubuntu system:
   ./mach reftest

 2. After you've seen Marionette log about listening on port 2828 (in the first few seconds), check /var/log/syslog (or run "dmesg | tail")

ACTUAL RESULTS: syslog & dmesg contain a line saying either this...
> TCP: request_sock_TCP: Possible SYN flooding on port 2828.
>   Dropping request.  Check SNMP counters.

...or this:
> TCP: request_sock_TCP: Possible SYN flooding on port 2828.
>   Sending cookies.  Check SNMP counters.

EXPECTED RESULTS: No such logging about SYN flooding -- whatever's going on to trip that protection, we should avoid doing it.

Note that if you get the former message ("Dropping request"), it's an indication that marionette is going to be unable to listen at all, which means your tests won't run at all!! This has been happening to me (bug 1267836).

NOTE: I believe you can opt into this more-severe versions of the experience by manually editing /proc/sys/net/ipv4/tcp_syncookies to give it the value of "0" (if it doesn't already have that value). See bug 1267836 comment 8 for more details.
 
NOTE: Additional steps that may or may not be required (I'm pretty sure they aren't required, but they're part of my environment, so they might be):
 a. Be running Ubuntu 16.04
 b. Install and enable "ufw" ("uncomplicated firewall)
   sudo apt-get install ufw
 c. Enable ufw:
   sudo ufw enable
 d. Reboot.
(I'm not sure, but I'd guess that this "Possible SYN flooding" warning is an indication that we're sending too many simultaneous client requests at once to the marionette server.)
Blocks: 1267836
No longer blocks: 1267836
Possibly relevant, it looks like marionette polls the server once every 0.1 seconds until it's ready:
https://dxr.mozilla.org/mozilla-central/source/testing/marionette/client/marionette_driver/transport.py#307
See Also: → 1382029
Unable to reproduce this, possibly due to the client not polling
every 0.1 seconds, like :ahal suggested in comment #3.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
(I think you meant WFM rather than invalid, then)
Resolution: INVALID → WORKSFORME
I tried to repro on latest Ubuntu (17.10), after editing /proc/sys/net/ipv4/tcp_syncookies to give it the value of "0" per afterthought in comment 0.  I verified that "./mach reftest" no longer triggers any errors about syn flooding in my "dmesg" output & in /var/log/syslog.

--> Verified WFM
Status: RESOLVED → VERIFIED
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.