Skip to content

Celery worker eating 100% cpu

Hi,

I'm using burp-ui 0.6.5 and bui-celery. The 4 celery processes eat my whole 4 vCPUs, and I can't seem to find why.

Relaunching the service doesn't help, CPUs get eaten seconds later.

I launched the celery worker manually, which spawns 4 celery processes that eat 100% cpu, but the log & stdout/err are empty.

 sudo -u burpuser /usr/local/bin/bui-celery -c /etc/burp/burpui.cfg --pidfile=/tmp/bui-celery.pid --beat -s /var/lib/burpui/celerybeat-schedule -f /tmp/celery.log

 -------------- celery@vhost.domain.local v4.2.2 (windowlicker)
---- **** -----
--- * ***  * -- Linux-3.10.0-957.12.2.el7.x86_64-x86_64-with-centos-7.6.1810-Core 2019-06-11 18:46:02
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         default:0x7f9aa6bd67f0 (.default.Loader)
- ** ---------- .> transport:   redis://localhost:6379/2
- ** ---------- .> results:     redis://localhost:6379/2
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery
  • Bug summary
  • Burp version: 2.3.6
  • Burp-UI version: v0.6.5 (stable)
  • Python version: 3.6.8

Any idea where to search for the problem ? Best regards.

My burpui.cfg file:

[Global]
version = 2
single = false
auth = basic
acl = basic
prefix = none

[UI]
refresh = 180
liverefresh = 5

default_strip = 1

[Production]
storage = redis
session = redis
cache = redis
redis = localhost:6379
celery = true
database = sqlite:////var/lib/burpui/store.db
limiter = false
ratio = 60/minute

[Security]
includes = /etc/burp
enforce = false
revoke = true
cookietime = 1
sessiontime = 1
scookie = true
appsecret = somestring

[Experimental]
zip64 = false
noserverrestore = false




[ACL]
extended = true
assume_granted = false
legacy = false

[BASIC]
priority = 100
admin = pbkdf2:sha256:somestuff



[BASIC:ACL]
admin = admin

[Agent:AgentProtocol1]
host = 127.0.0.1
port = 10000
password = somepwd
ssl = false
timeout = 300

[Agent:AgentProtocol2]
host = 127.0.0.1
port = 10001
password = someotherpwd
ssl = false
timeout = 300

pip --list

Package                       Version
----------------------------- -------
alembic                       1.0.8
amqp                          2.4.2
aniso8601                     6.0.0
arrow                         0.13.0
asn1crypto                    0.24.0
attrs                         19.1.0
Babel                         2.6.0
backports.functools-lru-cache 1.2.1
billiard                      3.5.0.5
burp-ui                       0.6.5
burp-ui-agent                 0.6.5
celery                        4.2.2
cffi                          1.12.2
Click                         7.0
configobj                     5.0.6
cryptography                  2.6.1
Flask                         0.12.4
Flask-Babel                   0.11.2
Flask-Bower                   1.3.0
Flask-Caching                 1.4.0
Flask-Login                   0.4.1
Flask-Migrate                 2.4.0
flask-restplus                0.10.1
Flask-SQLAlchemy              2.3.2
Flask-WTF                     0.14.2
gevent                        1.4.0
greenlet                      0.4.15
gunicorn                      19.9.0
itsdangerous                  1.1.0
Jinja2                        2.10
jsonschema                    3.0.1
kombu                         4.3.0
Mako                          1.0.8
MarkupSafe                    1.1.1
pip                           19.0.3
pluginbase                    0.5
pyasn1                        0.4.5
pycparser                     2.19
pyOpenSSL                     19.0.0
pyrsistent                    0.14.11
python-dateutil               2.8.0
python-editor                 1.0.4
pytz                          2018.9
redis                         3.2.1
setuptools                    39.2.0
six                           1.11.0
SQLAlchemy                    1.3.1
SQLAlchemy-Utils              0.33.11
tzlocal                       1.5.1
vine                          1.3.0
Werkzeug                      0.14.1
WTForms                       2.1