runtimeverification / runtimeverification/haskell-backend

Use exit codes for failures at server startup

Open
#3,768 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

runtimeverification/hs-backend-booster
Dominant language
Haskell
Stars
224
Forks
43
PR merge metrics
No merged PRs in 30d

Description

Related: https://github.com/runtimeverification/kontrol/issues/21#issuecomment-1745920956

As reported by @nwatson22 in https://github.com/runtimeverification/kontrol/issues/21#issuecomment-1745920956, passing in a very short timeout in Kontrol gives this error:

The definitions sent to the solver may not be consistent (Z3 timed out).

which might mean Z3 is being called to validate the definitions even before any symbolic execution job is requested. This causes the server to crash even before we manage to read which connection the process opened (in _get_host_and_port()).

Having exit codes for failures that happen during server startup might help us handle such issues in pyk and kontrol.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the server-startup failure described in the issue, especially the path around _get_host_and_port(). Determine how failures such as the Z3 timeout are currently surfaced before the connection is reported, then define and verify exit-code behavior that pyK and Kontrol can handle.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.