Skip to content

Randomly getting BlockingIOError #1024

@daverstam

Description

@daverstam

I see this error from time to time in our log, wondering if it's normal behaviour?

ERROR:slack_bolt.App:on_error invoked (session id: xxxxxx, error: BlockingIOError, message: [Errno 11] Resource temporarily unavailable)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/connection.py", line 284, in run_until_completion
    ] = _receive_messages(
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 228, in _receive_messages
    return _fetch_messages(
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 251, in _fetch_messages
    remaining_bytes = receive()
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 226, in receive
    raise e
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 217, in receive
    received_bytes = sock.recv(size)
  File "/usr/local/lib/python3.9/ssl.py", line 1226, in recv
    return self.read(buflen)
  File "/usr/local/lib/python3.9/ssl.py", line 1101, in read
    return self._sslobj.read(len)
BlockingIOError: [Errno 11] Resource temporarily unavailable
INFO:slack_bolt.App:The connection has been closed (session id: xxxxxx)
INFO:slack_bolt.App:Stopped receiving messages from a connection (session id: xxxxxx)
INFO:slack_bolt.App:The session seems to be already closed. Going to reconnect... (session id: xxxxxx)
INFO:slack_bolt.App:Connecting to a new endpoint...
INFO:slack_bolt.App:The connection has been closed (session id: xxxxxx)
INFO:slack_bolt.App:A new session has been established (session id: xxxxxx)
INFO:slack_bolt.App:Connected to a new endpoint...
INFO:slack_bolt.App:Starting to receive messages from a new connection (session id: xxxxxx)

Reproducible in:

$ pip freeze | grep slack
slack-bolt==1.6.0
slack-sdk==3.5.1
$ python --version
Python 3.9.4

The Slack SDK version

$ pip freeze | grep slack
slack-bolt==1.6.0
slack-sdk==3.5.1

Python runtime version

$ python --version
Python 3.9.4

OS info

python:3.9-alpine3.12 Docker image

Steps to reproduce:

Running in socketmode, listening for events

Expected result:

Not disconnecting/reconnecting

Actual result:

Everything works, just that from time to time I see the above error and the client reconnects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Version: 3xneeds infoAn issue that is claimed to be a bug and hasn't been reproduced, or otherwise needs more infoquestionM-T: User needs support to use the projectsocket-mode

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions