Macaulay2 / Macaulay2/M2

key not found in hash table during check(3, "ThreadedGB")

Open
#3,238 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build issue threads
Dominant language
Macaulay2
Stars
435
Forks
297
Avg merge
4d 20h
Merged PRs (30d)
11

Description

I've seen the following happen a couple times recenty. Probably some race condition, maybe a consequence of #3186?

```m2
ThreadedGB.m2:648:1-656:1 error:
-- R = ZZ/101[x,y,z, MonomialOrder=>GLex];
--
-- i2 : I = {x*y*z + z^2, x*y^2 - y^3*z + x*z, y^2};
--
-- i3 : allowableThreads= 4;
--
-- i4 : H = tgb(I);
--
-- i5 : assert (x^2*z == H#(0,1))
-- stdio:7:23:(3): error: key not found in hash table
--
../m2/debugging.m2:18:6:(1):[9]: error: test(s) #3 of package ThreadedGB failed.
```

[full log](https://launchpadlibrarian.net/728328707/buildlog_ubuntu-mantic-arm64.macaulay2_1.23.0.1+git202405051947-0ppa202405051952~ubuntu23.10.1_BUILDING.txt.gz)

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 reproducing the provided ThreadedGB example from ThreadedGB.m2:648 and inspect the failing check(3, "ThreadedGB") run. Read debugging.m2 around test #3 and compare repeated runs with allowableThreads=4; done means the assertion no longer produces a key-not-found error.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.