Skip to content

Saw a crash with this stack trace #4

@athas

Description

@athas
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2528, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1825, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/views.py", line 99, in index
    result = sessions.create_session()
  File "/sessions.py", line 104, in create_session
    session = Session(
  File "/session.py", line 197, in __init__
    self.process = FutharkREPL(
  File "/session.py", line 115, in __init__
    self.banner, self.init_lastline = next(self.generator).rsplit("\n", 1)
  File "/session.py", line 141, in create_generator
    yield self.read()
  File "/session.py", line 123, in read
    out = timed_read(
  File "/session.py", line 46, in timed_read
    ready_to_read, _, _ = select.select(fds, [], [], step_timeout)
ValueError: filedescriptor out of range in select()
    r, w, e = select.select(r, w, e, timeout)
ValueError: filedescriptor out of range in select()

I'll look at it eventually; probably a missing exception handler in some cases of network communication failure. Alternatively we could set up the REPL daemon to restart on crash.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions