| 2 Apr 2025 |
| rntpts joined the room. | 19:13:16 |
| 3 Apr 2025 |
| diamond (it/its) changed their display name from Diamond (it/she) to diamond (it/its). | 01:07:09 |
emily | raboof: I think you broke jemalloc:
#define JEMALLOC_VERSION "0.0.0-0-g000000missing_version_try_git_fetch_tags"
#define JEMALLOC_VERSION_MAJOR 0
#define JEMALLOC_VERSION_MINOR 0
#define JEMALLOC_VERSION_BUGFIX 0
#define JEMALLOC_VERSION_NREV 0
#define JEMALLOC_VERSION_GID "000000missin"
#define JEMALLOC_VERSION_GID_IDENT 000000missin
| 02:13:16 |
Fernando Rodrigues | reproducibly broken is still reproducible :) | 02:13:47 |
Pol | That's the spirit :D | 07:24:20 |
raboof | 'the most secure code is code that doesn't run'? 🦆 | 07:41:13 |
raboof | (fixing) | 07:41:15 |
| 5 Apr 2025 |
| guider-le-recit joined the room. | 12:03:56 |
| @tinybronca:sibnsk.net removed their display name underpantsgnome. | 15:52:40 |
| @tinybronca:sibnsk.net left the room. | 15:53:18 |
| 6 Apr 2025 |
guider-le-recit | Hello everyone, my name is Keanu an outreachy intern hoping to work on nix if its not too late. I've gone through the nixdev documentation and pkgs reference manual, and started looking into the reproducibility issue for libpinyin #393693.
After tracing the code trough the DB files, i thought the problem was in memorychunk, it looks to properly handle its own memory initialization. My question is the non determinism coming from potentially uninitialized padding within the c++ structs, or is there something else to account for?
im thankful for any direction | 01:12:36 |
Fernando Rodrigues | Hi Keanu, welcome to Nixpkgs! libpinyin's issues don't look like they come from c++ structs, but from the generation of the pinyin indexes. You're probably going to have to dig into how those indexes are generated by libpinyin. | 01:18:31 |
Fernando Rodrigues | In this case, it seems like there is already an issue upstream with more information. | 01:19:24 |
Fernando Rodrigues | * Hi Keanu, welcome to Nixpkgs! libpinyin's issues don't come from runtime errors like memory allocation or uninitialised structs, but from the generation of the pinyin indexes. You're probably going to have to dig into how those indexes are generated by libpinyin. | 01:20:10 |
guider-le-recit | Thanks for pointing me in the right direction Fernando. My mistake I initially thought the issue was struct padding because of the binary differences shown in diffoscope. After looking at the upstream issue and examining the diffoscope output more carefully, I noticed the differences are in database files. I found the gen_binary_files utility in the build logs that seems responsible for generating these files. How does this utility process and sort the input data before writing to the database? | 03:40:43 |
Fernando Rodrigues | Good question. That's what we (and apparently also upstream) need you to explore. Dig into the utility's source code, and try to learn its inner workings. If you find something promising, collect your findings and share them in the issue. | 03:50:44 |