DFIRKuiper / Kuiper

Digital Forensics Investigation Platform
736 stars 110 forks source link

Celery and Flask restarting-loop #87

Closed nikitah4x closed 1 year ago

nikitah4x commented 1 year ago

Describe the bug First of all when I'm doing docker-compose pull, I'm getting the following WARNING: WARNING: Some service image(s) must be built from source by running: docker-compose build celery flask

If I'm doing it or not, the flask and celery are keep restarting every time.

To Reproduce Steps to reproduce the behavior:

  1. docker-compose pull
  2. docker-compose up -d
  3. Flask and Celery restarting loop

docker version: Docker version 20.10.22, build 3a2c30b docker-compose version: docker-compose version 1.29.2, build 5becea4c

Screenshots image

tail on flask image

tail on celery image

Additional context

Full outputs for tail commands on Flask and Celery.

Flask: Attaching to kuiper_flask flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 |

Celery: celery_1 | return find_app(app, symbol_by_name=self.symbol_by_name) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/app/utils.py", line 368, in find_app celery_1 | sym = symbol_by_name(app, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 527, in symbol_by_name celery_1 | return imports.symbol_by_name(name, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 61, in symbol_by_name celery_1 | sys.exc_info()[2]) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 57, in symbol_by_name celery_1 | module = imp(module_name, package=package, **kwargs) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/utils/imports.py", line 111, in import_from_cwd celery_1 | return imp(module, package=package) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "/app/app/__init__.py", line 176, in <module> celery_1 | from controllers import case_management,admin_management,API_management celery_1 | File "/app/app/controllers/case_management.py", line 22, in <module> celery_1 | import parser_management celery_1 | File "/app/app/controllers/parser_management.py", line 22, in <module> celery_1 | from app.database.dbstuff import * celery_1 | File "/app/app/database/dbstuff.py", line 4, in <module> celery_1 | from pymongo import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/__init__.py", line 92, in <module> celery_1 | from pymongo.connection import Connection celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/connection.py", line 39, in <module> celery_1 | from pymongo.mongo_client import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 46, in <module> celery_1 | from pymongo import (auth, celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 22, in <module> celery_1 | from pymongo import thread_util celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/thread_util.py", line 31, in <module> celery_1 | from gevent.lock import BoundedSemaphore as GeventBoundedSemaphore celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> celery_1 | from gevent._hub_local import get_hub celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> celery_1 | import_c_accel(globals(), 'gevent.__hub_local') celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel celery_1 | mod = importlib.import_module(cname) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local celery_1 | ValueError: Couldn't import 'app.celery_app': greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject celery_1 | Traceback (most recent call last): celery_1 | File "/usr/local/lib/python2.7/runpy.py", line 174, in _run_module_as_main celery_1 | "__main__", fname, loader, pkg_name) celery_1 | File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code celery_1 | exec code in run_globals celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/__main__.py", line 20, in <module> celery_1 | main() celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/__main__.py", line 16, in main celery_1 | _main() celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/celery.py", line 322, in main celery_1 | cmd.execute_from_commandline(argv) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/celery.py", line 496, in execute_from_commandline celery_1 | super(CeleryCommand, self).execute_from_commandline(argv))) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 288, in execute_from_commandline celery_1 | argv = self.setup_app_from_commandline(argv) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 502, in setup_app_from_commandline celery_1 | self.app = self.find_app(app) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 524, in find_app celery_1 | return find_app(app, symbol_by_name=self.symbol_by_name) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/app/utils.py", line 368, in find_app celery_1 | sym = symbol_by_name(app, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 527, in symbol_by_name celery_1 | return imports.symbol_by_name(name, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 61, in symbol_by_name celery_1 | sys.exc_info()[2]) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 57, in symbol_by_name celery_1 | module = imp(module_name, package=package, **kwargs) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/utils/imports.py", line 111, in import_from_cwd celery_1 | return imp(module, package=package) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "/app/app/__init__.py", line 176, in <module> celery_1 | from controllers import case_management,admin_management,API_management celery_1 | File "/app/app/controllers/case_management.py", line 22, in <module> celery_1 | import parser_management celery_1 | File "/app/app/controllers/parser_management.py", line 22, in <module> celery_1 | from app.database.dbstuff import * celery_1 | File "/app/app/database/dbstuff.py", line 4, in <module> celery_1 | from pymongo import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/__init__.py", line 92, in <module> celery_1 | from pymongo.connection import Connection celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/connection.py", line 39, in <module> celery_1 | from pymongo.mongo_client import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 46, in <module> celery_1 | from pymongo import (auth, celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 22, in <module> celery_1 | from pymongo import thread_util celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/thread_util.py", line 31, in <module> celery_1 | from gevent.lock import BoundedSemaphore as GeventBoundedSemaphore celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> celery_1 | from gevent._hub_local import get_hub celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> celery_1 | import_c_accel(globals(), 'gevent.__hub_local') celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel celery_1 | mod = importlib.import_module(cname) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local celery_1 | ValueError: Couldn't import 'app.celery_app': greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject kuiper_celery exited with code 1

salehmuhaysin commented 1 year ago

hello try this fix https://github.com/DFIRKuiper/Kuiper/pull/85

nikitah4x commented 1 year ago

Okay, this fix worked.