diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2026-11-08 10:50:31 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2026-11-08 10:50:31 +0100 |
| commit | b6f50d7ef4aa3838dcdc549809544bef04f3284d (patch) | |
| tree | f99fb75d270bbce75bf86cfa0d9342492f7e9770 /TODO.md | |
| parent | 0af1518c8192e4abbd839ffdc3f2d6ce1f047831 (diff) | |
| download | nissy-core-b6f50d7ef4aa3838dcdc549809544bef04f3284d.tar.gz nissy-core-b6f50d7ef4aa3838dcdc549809544bef04f3284d.zip | |
Added bug reports to TODO.md
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 40 |
1 files changed, 40 insertions, 0 deletions
| @@ -4,6 +4,46 @@ This document contains a list of ideas for possible new features or | |||
| 4 | improvements to nissy-core. This file used to be private, but it makes | 4 | improvements to nissy-core. This file used to be private, but it makes |
| 5 | more sense to have it public, in case someone else wants to contribute. | 5 | more sense to have it public, in case someone else wants to contribute. |
| 6 | 6 | ||
| 7 | ## Bugs | ||
| 8 | |||
| 9 | AI-based code analysis by Arhan showed [a few | ||
| 10 | bugs](https://egg-solver.arhan.sh/docs/comparisons/RESULTS.html#bugs-and-issues-found-in-other-solvers-for-the-final-report-the-user-will-report-them-upstream). | ||
| 11 | Some have already been fixed. The following remain | ||
| 12 | (note: they may be false positives): | ||
| 13 | |||
| 14 | ### Python binding: gendata leaks and doubles memory | ||
| 15 | |||
| 16 | In `python/nissy_module.c:247`: | ||
| 17 | |||
| 18 | ``` | ||
| 19 | buf = PyMem_Malloc(size); | ||
| 20 | ``` | ||
| 21 | |||
| 22 | then at line 254: | ||
| 23 | |||
| 24 | ``` | ||
| 25 | return PyByteArray_FromStringAndSize((char *)buf, size); | ||
| 26 | ``` | ||
| 27 | |||
| 28 | That call copies the buffer, and buf is never freed. | ||
| 29 | |||
| 30 | Fix: allocate the bytearray first | ||
| 31 | (`PyByteArray_FromStringAndSize(NULL, size)`) | ||
| 32 | and generate into `PyByteArray_AS_STRING`. Or free buf after the copy. | ||
| 33 | |||
| 34 | ### H48 gendata: progress logger delays the end | ||
| 35 | |||
| 36 | In `src/solvers/h48/gendata_h48.h:262-281`, the main thread sleeps | ||
| 37 | `sleeptime = 100*(nshort - velocity)/velocity` milliseconds between | ||
| 38 | progress lines. | ||
| 39 | |||
| 40 | It reaches `wrapthread_join` (line 287) only after its current sleep. | ||
| 41 | This causes a delay of about 3.5 minutes before writing with h48h7, | ||
| 42 | 8 cores. | ||
| 43 | |||
| 44 | Fix: wait on the workers with a timed join or a condition variable, | ||
| 45 | instead of a fixed sleep. | ||
| 46 | |||
| 7 | ## Priorities | 47 | ## Priorities |
| 8 | 48 | ||
| 9 | Items in this section are what I consider top priorities. They enable or | 49 | Items in this section are what I consider top priorities. They enable or |
