Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Float rule head seeded by an inline fact fails to evaluate

Closed
#2,109 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
62/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
c
Domain
backend

Research direction

Start by reproducing the provided Datalog program on one worker and compare its float behavior with the working int64 case. Trace the evaluation path behind wirelog_easy_step() and wirelog_easy_snapshot() to find why an inline fact in a float rule head yields WIRELOG_ERR_EXEC. Done when both calls succeed and r contains two rows; the issue names no specific source file or test to run.

Written by the indexing model from the issue text.

Description

bug

Summary

A float relation that is a rule head and also holds an inline fact fails to evaluate, even on one worker: wirelog_easy_step() and wirelog_easy_snapshot() return WIRELOG_ERR_EXEC (3) and the head comes out empty. The same program with int64 instead of float works. Found by the independent review of #2105, and confirmed here on main (d648c35e).

Reproduction (Linux x86_64, gcc, release + LTO, one worker)

.decl s(x: float)
.decl r(x: float)
r(0.0).
s(1.0).
r(y) :- s(y).
column type step rc snapshot rc rows of r
int64 (r(0). s(1).) 0 0 2
float 3 3 0

Notes

  • The path does not involve the multi-worker merge fixed for #2105, so it fails on one worker as well.
  • Once this is fixed, tests/test_easy_recursive_seed_workers.c (#2105) could gain a float-seeded case.
Dominant language
C
Stars
18
Forks
2
Avg merge
9h 28m
Merged PRs (30d)
169

Getting set up

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.

More from semantic-reasoning/wirelog

All issues in semantic-reasoning/wirelog

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.