| 2 May 2026 |
aloisw | That's not my interpretation of "result of expressions involving strings with embedded NULs is undefined". To me it seems that storing or retrieving these strings is completely fine, but if you put it into a SQL expression the behaviour is unspecified in C standards language. | 05:10:20 |
zoë (@blokyk) | there's a docs page dedicated to this:
[...] The use of NUL within strings can lead to surprising behaviors:
-
The length() SQL function only counts characters up to and excluding the first NUL.
-
The quote() SQL function only shows characters up to and excluding the first NUL.
-
The .dump command in the CLI omits the first NUL character and all subsequent text in the SQL output that it generates. In fact, the CLI omits everything past the first NUL character in all contexts.
The use of NUL characters in SQL text strings is not recommended.
| 07:25:16 |
aloisw |
This seems like a bug. But it is how SQLite works.
Lol, that's quite a formulation for "we didn't put the effort into making it work in the CLI". | 07:29:19 |
| Benjamin Hartmann joined the room. | 14:06:27 |
| 3 May 2026 |
| Daniel joined the room. | 09:53:44 |
| isabel changed their profile picture. | 10:39:01 |
| @qeden:matrix.org left the room. | 22:42:19 |
| 4 May 2026 |
| Lukas joined the room. | 22:22:34 |
| 5 May 2026 |
zoë (@blokyk) | i've had test_import_from_derivation.py::test_warn_ifd and test_import_from_derivation.py::test_allow_ifd consistently fail on main and looking at the output, it's because there's a rogue "auto-disabling sandboxing because the prerequisite namespaces are not available," but can anyone tell me... what that message means? and why it's affecting the tests / what i can do about it | 19:04:47 |
zoë (@blokyk) | * i've had test_import_from_derivation.py::test_warn_ifd and test_import_from_derivation.py::test_allow_ifd consistently fail on main and looking at the output, it's because there's a rogue "auto-disabling sandboxing because the prerequisite namespaces are not available," but can anyone tell me... what that message even means? and why it's affecting the tests / what i can do about it | 19:04:54 |
zoë (@blokyk) | * i've had test_import_from_derivation.py::test_warn_ifd and test_import_from_derivation.py::test_allow_ifd consistently fail on main and looking at the output, it's because there's a rogue "auto-disabling sandboxing because the prerequisite namespaces are not available," but can anyone tell me... what that message even means? and why it's affecting the tests / what i can do about it? | 19:05:23 |
aloisw | It most likely means that user namespaces are broken on your system (maybe because it's recent Ubuntu) and therefore the sandbox doesn't work. For the old functional test suite tests requiring sandboxing were skipped in this case. I lost track of what was done for functional2. | 19:10:10 |
zoë (@blokyk) | hmm yeah sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0 fixed it | 19:12:38 |
zoë (@blokyk) | * hmm yeah sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0 fixed it grrrr ubuntu | 19:12:46 |
zoë (@blokyk) | * hmm yeah sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0 fixed it grrrr canonical | 19:12:54 |
aloisw | https://git.lix.systems/lix-project/lix/issues/545 is the issue about that for that matter. | 19:13:38 |
zoë (@blokyk) | what is weird about this is that this wasn't a problem before... might be a regression in f2, but it's also likely a recent upgrade flipped that switch again or a my setup got messed up after my recent corruption | 19:17:04 |
zoë (@blokyk) | * what is weird about this is that this wasn't a problem before... might be a regression in f2 (i don't really have the time to bisect, unfortunately), but it's also likely a recent upgrade flipped that switch again or a my setup got messed up after my recent corruption | 19:17:18 |
aloisw | Old functional ran most tests without sandboxing and had code in the few ones requiring sandboxing to first check whether it'll work, and then explicitly enable the sandbox. At the time of my last comment on that issue functional2 would generally run all tests inside the sandbox (not really sure how it works now, unfortunately around that time was when I was both very fed up with nixpkgs and busy otherwise so I kinda didn't manage to keep up). | 19:20:51 |
Rutile | Yep, we do have sandbox enabled by default, but if sandbox isnt available they are run without iirc
Though it is possible to mark a test as requiring sandbox which will skip it if sandbox isnt available (be it darwin or ubuntu apparmor stuff) | 19:26:24 |
| 6 May 2026 |
zoë (@blokyk) | in the lix codebase, is there anyway to get the Hash object that corresponds to a StorePath? | 09:31:50 |
thubrecht | You can use path.hashPart() that gives you a base32 encoded string and reconstruct the Hash | 09:35:55 |
zoë (@blokyk) | oh i'm so dumb i didn't notice the string constructor for Hash | 09:36:54 |
zoë (@blokyk) | wait no it's private | 09:37:40 |
thubrecht | parseAny | 09:39:52 |
zoë (@blokyk) | alright Hash::parseNonSRIUnprefixed seems to do what i want? | 09:39:57 |
thubrecht | Also yes | 09:40:06 |
zoë (@blokyk) |
hash 'qwshrp27a7s6cp7l1ambcrmanlmdzg9v' has wrong length for hash type 'sha256'
:(
| 09:48:39 |
zoë (@blokyk) | *
hash 'qwshrp27a7s6cp7l1ambcrmanlmdzg9v' has wrong length for hash type 'sha256'
i specifically want a sha256 :(
| 10:00:54 |
flokli | The hash you see in front of a store path is not a sha256 digest | 10:21:58 |