Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bepasty: Service fails to start #116326

Closed
pinpox opened this issue Mar 14, 2021 · 6 comments
Closed

bepasty: Service fails to start #116326

pinpox opened this issue Mar 14, 2021 · 6 comments
Labels
0.kind: bug 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: nixos

Comments

@pinpox
Copy link
Member

pinpox commented Mar 14, 2021

Describe the bug

I'm trying to enable the bepasty service like this:

{ pkgs, config, ... }:

let
  bepasty-host = "paste.lounge.rocks";
in {
  services.bepasty = {
    enable = true;
    servers."${bepasty-host}" = {
      secretKeyFile = "/var/src/secrets/bepasty/key";
      # extraConfig = '' '' ;
      bind = "0.0.0.0:8000";
    };
  };

But the server fails to start. The output of starting the service manually with the command from the generated systemctl cat bepasty-server-paste.lounge.rocks-gunicorn.service Show some kind of python error, but I'm not sure what the cause is.

[2021-03-14 17:24:51 +0100] [30358] [INFO] Starting gunicorn 20.0.4
[2021-03-14 17:24:51 +0100] [30358] [INFO] Listening at: http://0.0.0.0:8000 (30358)
[2021-03-14 17:24:51 +0100] [30358] [INFO] Using worker: gevent
[2021-03-14 17:24:51 +0100] [30360] [INFO] Booting worker with pid: 30360
[2021-03-14 17:24:51 +0100] [30361] [INFO] Booting worker with pid: 30361
[2021-03-14 17:24:51 +0100] [30362] [INFO] Booting worker with pid: 30362
[2021-03-14 17:24:51 +0100] [30360] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 162, in init_process
    super().init_process()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
    self.load_wsgi()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
    return self.load_wsgiapp()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
    mod = importlib.import_module(module)
  File "/nix/store/yl69v76azrz4daiqksrhb8nnmdiqdjg9-python3-3.8.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/wsgi.py", line 4, in <module>
    from .app import create_app
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/app.py", line 13, in <module>
    from .apis import blueprint as blueprint_apis
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/__init__.py", line 3, in <module>
    from .lodgeit import LodgeitUpload
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/lodgeit.py", line 15, in <module>
    class LodgeitUpload(MethodView):
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/lodgeit.py", line 25, in LodgeitUpload
    name = lexer[1][0]
IndexError: tuple index out of range
[2021-03-14 17:24:51 +0100] [30360] [INFO] Worker exiting (pid: 30360)
[2021-03-14 17:24:51 +0100] [30361] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 162, in init_process
    super().init_process()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
    self.load_wsgi()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
    return self.load_wsgiapp()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
    mod = importlib.import_module(module)
  File "/nix/store/yl69v76azrz4daiqksrhb8nnmdiqdjg9-python3-3.8.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/wsgi.py", line 4, in <module>
    from .app import create_app
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/app.py", line 13, in <module>
    from .apis import blueprint as blueprint_apis
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/__init__.py", line 3, in <module>
    from .lodgeit import LodgeitUpload
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/lodgeit.py", line 15, in <module>
    class LodgeitUpload(MethodView):
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/lodgeit.py", line 25, in LodgeitUpload
    name = lexer[1][0]
IndexError: tuple index out of range
[2021-03-14 17:24:51 +0100] [30361] [INFO] Worker exiting (pid: 30361)
Traceback (most recent call last):
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 209, in run
    self.sleep()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 357, in sleep
    ready = select.select([self.PIPE[0]], [], [], 1.0)
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
    self.reap_workers()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/bin/.gunicorn-wrapped", line 9, in <module>
    sys.exit(run())
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 58, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/base.py", line 228, in run
    super().run()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 229, in run
    self.halt(reason=inst.reason, exit_status=inst.exit_status)
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 342, in halt
    self.stop()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 393, in stop
    time.sleep(0.1)
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
    self.reap_workers()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
[2021-03-14 17:24:51 +0100] [30362] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 162, in init_process
    super().init_process()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
    self.load_wsgi()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
    return self.load_wsgiapp()
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/nix/store/851hwj40nrhhfx61v6fr34zk7m1nawc6-python3.8-gunicorn-20.0.4/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
    mod = importlib.import_module(module)
  File "/nix/store/yl69v76azrz4daiqksrhb8nnmdiqdjg9-python3-3.8.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/wsgi.py", line 4, in <module>
    from .app import create_app
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/app.py", line 13, in <module>
    from .apis import blueprint as blueprint_apis
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/__init__.py", line 3, in <module>
    from .lodgeit import LodgeitUpload
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/lodgeit.py", line 15, in <module>
    class LodgeitUpload(MethodView):
  File "/nix/store/das4v86sdl1xgi3acmiq39cgrlm7cmqv-python3-3.8.8-env/lib/python3.8/site-packages/bepasty/apis/lodgeit.py", line 25, in LodgeitUpload
    name = lexer[1][0]
IndexError: tuple index out of range
[2021-03-14 17:24:51 +0100] [30362] [INFO] Worker exiting (pid: 30362)

To Reproduce
Steps to reproduce the behavior:

  1. Enable services.bepasty

Expected behavior
bepasty server starts

Notify maintainers

@rnhmjoj @worldofpeace @makefu
Metadata

  • system: "x86_64-linux"
  • host os: Linux 5.4.104, NixOS, 21.05.20210312.916ee86 (Okapi)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.4pre20210308_1c0e3e4
  • channels(root): ""
  • channels(pinpox): "home-manager"
  • nixpkgs: /nix/store/vw365chp87kvfczxm26qiq7z2pq3jk5z-source

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module: bepasty
@pinpox
Copy link
Member Author

pinpox commented Mar 14, 2021

Just found this: It seems to be related: bepasty/bepasty-server#258

@mweinelt
Copy link
Member

mweinelt commented Mar 14, 2021

Pygments before 2.7.4 is vulnerable to an infinite loop on certain user inputs (CVE-2021-20270), so I would not recommend downgrading the dependency.

pygments/pygments@f91804f

@mweinelt
Copy link
Member

You can try applying bepasty/bepasty-server#256.

@mweinelt
Copy link
Member

And now we can try to update bepasty to 1.0.0.

@pinpox pinpox mentioned this issue Mar 15, 2021
10 tasks
@pinpox
Copy link
Member Author

pinpox commented Mar 15, 2021

I'm not sure how to get the correct pypi sha256 value. Can someone help me out in fixing this?

@stale
Copy link

stale bot commented Sep 19, 2021

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Sep 19, 2021
aither64 added a commit to aither64/nixpkgs that referenced this issue May 11, 2023
aither64 added a commit to aither64/nixpkgs that referenced this issue May 11, 2023
@aither64 aither64 mentioned this issue May 11, 2023
12 tasks
@wegank wegank closed this as completed in becd4e0 Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: nixos
Projects
None yet
Development

No branches or pull requests

3 participants