SIGKILL sent by instance

Hi Koyeb team,

I am trying to use Firefox to do some simple webscraping. I tried to build/ run it on my local machine. It works on my system but not on Koyeb. I had tried various combinations (chrome + chromedriver + selenium, pyppeteer etc) but to no avail. I even go back in time and use phantomjs + selenium 3.8 and it still doesn’t work. Is there a recommended set to use for Koyeb? Thank you.

  • Alpine Linux
  • Python 3.20
  • Firefox
  • Geckdriver installed via NPM
  • Selenium
  • Gunicorn

File “/app/venv/lib/python3.12/site-packages/urllib3/poolmanager.py”, line 443, in urlopen
09/05/2024, 09:42:06 AM stderr 1e44da45 response = conn.urlopen(method, u.request_uri, **kw)

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/app/venv/lib/python3.12/site-packages/urllib3/connectionpool.py”, line 789, in urlopen

09/05/2024, 09:42:06 AM stderr 1e44da45 response = self._make_request(

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/app/venv/lib/python3.12/site-packages/urllib3/connectionpool.py”, line 536, in _make_request

09/05/2024, 09:42:06 AM stderr 1e44da45 response = conn.getresponse()

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/app/venv/lib/python3.12/site-packages/urllib3/connection.py”, line 464, in getresponse

09/05/2024, 09:42:06 AM stderr 1e44da45 httplib_response = super().getresponse()

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/usr/local/lib/python3.12/http/client.py”, line 1428, in getresponse

09/05/2024, 09:42:06 AM stderr 1e44da45 response.begin()

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/usr/local/lib/python3.12/http/client.py”, line 331, in begin

09/05/2024, 09:42:06 AM stderr 1e44da45 version, status, reason = self._read_status()

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/usr/local/lib/python3.12/http/client.py”, line 292, in _read_status

09/05/2024, 09:42:06 AM stderr 1e44da45 line = str(self.fp.readline(_MAXLINE + 1), “iso-8859-1”)

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/usr/local/lib/python3.12/socket.py”, line 720, in readinto

09/05/2024, 09:42:06 AM stderr 1e44da45 return self._sock.recv_into(b)

09/05/2024, 09:42:06 AM stderr 1e44da45 ^^^^^^^^^^^^^^^^^^^^^^^

09/05/2024, 09:42:06 AM stderr 1e44da45 File “/app/venv/lib/python3.12/site-packages/gunicorn/workers/base.py”, line 204, in handle_abort

09/05/2024, 09:42:06 AM stderr 1e44da45 sys.exit(1)

09/05/2024, 09:42:06 AM stderr 1e44da45 SystemExit: 1

09/05/2024, 09:42:06 AM stderr 1e44da45 [2024-09-05 01:42:05 +0000] [1] [ERROR] Worker (pid:1737) was sent SIGKILL! Perhaps out of memory?

09/05/2024, 09:42:07 AM stderr 1e44da45 [2024-09-05 01:42:05 +0000] [1844] [INFO] Booting worker with pid: 1844

09/05/2024, 09:48:04 AM stderr 1e44da45 [2024-09-05 01:48:02 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:1844)

Thank you!

Hello,

I can’t find an organization linked to this account on Koyeb. Can you provide the organization and service names, please?

My org id is jem-org.

Hi David,

My bad, it should be jem-my. I have deleted jem-org since i should not be holding two accounts.

The deployment id is 5ca647d3.

You might be running out of memory. Have you tried running it on a bigger machine than the free instance?

A eSmall instance has more memory.

Hi David,

I have tried on my machine (1 core + 499mb) and it does not exceed this, so I thought the workload is adequate for the free tier. Is there any parameters for the free tier that I can configure. I don’t want to upgrade before I can be sure that the uograde will work.

Thank you!

There is nothing that can be configured on the free instance.

Upgrading to Starter comes at no cost. You can simply deploy the service on a bigger instance and pause the service immediately as soon as you confirm it works or not, you won’t be charged.

Hi David,

What I meant was, when Koyeb speaks of the free instance, what is exactly included? I tried running my workload on docker with 499mb, lesser than what is provided by Koyeb on the free plan and that works. So I am trying to find out what is the breaking point.

I do not feel comfortable upgrading to the paid plans without testing locally.

Hi,

I confirmed with the team.

To run chromium, it is recommended to go for 1GB of memory. It might be working on your local machine because it leverages memory swap. Our instances don’t use this mechanism.

Is it so for firefox too? Thank you David!