jade
30cf61fd26
fix: don't crash on startup on macOS
...
This is caused, through several layers of absurdity, by runtime type
information of Nix things being invisible due to -fvisibility=hidden
inside n-e-j.
We don't have any idea why n-e-j has -fvisibility=hidden, since blame
says it's from the initial commit. It is plausible that it was some
ill-advised optimization but it's not sound.
The crash is caused by dynamic_cast<RootArgs *>(MyArgs *) failing, which
is in turn caused by the RTTI being invisible.
See: https://www.qt.io/blog/quality-assurance/one-way-dynamic_cast-across-library-boundaries-can-fail-and-how-to-fix-it
Fixes: lix-project/nix-eval-jobs#2
2024-05-27 18:23:13 -06:00
jade
13524829d1
Merge pull request 'nixexpr -> lixexpr' ( #5 ) from jade/lixexpr into main
...
Reviewed-on: lix-project/nix-eval-jobs#5
2024-05-23 23:24:26 +00:00
jade
a94f80e512
nixexpr -> lixexpr
2024-05-23 16:23:45 -07:00
raito
02bcbe0c0e
Merge pull request 'fix crash in worker when opening the store' ( #4 ) from open-store-crash into main
...
Reviewed-on: lix-project/nix-eval-jobs#4
2024-05-11 15:49:35 +00:00
Jörg Thalheim
52e96bd421
fix crash in worker when opening the store
2024-05-11 17:41:27 +02:00
Linus Heckemann
2dbcbe4179
flake: actually use lix
2024-05-09 13:12:12 +02:00
eldritch horrors
793841a9b7
fix drv.cc invalid output throw
...
EvalState::error does not return an exception instance in lix, but an
exception *builder*. throwing this thing will not trigger any catches,
which then causes the worker process to die without reporting an error
to the collector. this confuses the collector and causes *it* to exit,
effectively breaking nix-eval-jobs for anything that has broken attrs.
2024-04-18 18:05:33 +02:00
Linus Heckemann
c3d8ca19b3
EvalError needs to reference an eval state now
2024-04-15 19:35:05 +02:00
Linus Heckemann
c1ee00bf7c
ProcessOptions: remove allowVfork field
...
This was removed in Lix 1f8b85786eed623319e5c71a5341b15e3006f870
2024-04-15 19:30:56 +02:00
Linus Heckemann
14e4308346
parseCmdline: no allowShebang arg
...
This arg was only introduced in Nix 2.19 (commit ffd414eb756dcb3c64348551d5dbaf674c0d4900)
2024-04-15 19:30:32 +02:00
Linus Heckemann
a2bd945259
hasPrefix -> starts_with
...
hasPrefix was removed in lix commit 61e21b25576f7f3491f6a837bf59d8b44c6897a0
2024-04-15 19:28:36 +02:00
Linus Heckemann
733f3051b1
Fix include paths for Nix headers
...
While the previous style seems more sensible to me (the header names
are quite generic), the pkg-config definitions both from upstream Nix
and from Lix specify -I${includedir}/nix in CFLAGS rather than
-I${includedir}. This may be worth changing, but for now I want
nix-eval-jobs to work and this does what I want.
2024-04-15 19:20:21 +02:00
Jörg Thalheim
6b03a93296
Merge pull request #292 from nix-community/renovate/lock-file-maintenance
...
Lock file maintenance
2024-01-14 15:34:46 +01:00
renovate[bot]
69371f7bae
Update cachix/install-nix-action action to v25
2024-01-12 17:34:52 +00:00
renovate[bot]
64104a3c55
Lock file maintenance
2023-12-25 01:06:16 +00:00
renovate[bot]
1a9b928a5f
Lock file maintenance
2023-12-25 01:02:06 +00:00
Jörg Thalheim
3c6e1234af
flake.nix: return to nixpkgs-unstable
2023-12-17 12:15:15 +00:00
Jörg Thalheim
8ef37192bd
README: add check-cache-status and nixpkgs evaluation examples
2023-12-17 12:15:15 +00:00
Jörg Thalheim
280de12085
README: update json and help output
2023-12-17 12:15:15 +00:00
Jörg Thalheim
e3d71921c3
buffered-io: also check for interrupts in readline
...
This allows us to more reliable interrupt nix-eval-jobs
2023-12-17 12:15:15 +00:00
Jörg Thalheim
4a1123c42d
Merge pull request #289 from nix-community/joerg-ci
...
fix exit status reporting when evaluation fails
2023-12-16 17:15:45 +01:00
Jörg Thalheim
b73f7ceff4
classify SIGSEV/SIGBUS as infinite recursion errors
2023-12-16 11:58:01 +01:00
Jörg Thalheim
093b8ce5cc
apply treefmt
2023-12-16 11:44:08 +01:00
Jörg Thalheim
b4f7eb3c77
fix ci for infinite recursion case
2023-12-16 11:40:34 +01:00
Jörg Thalheim
4d97e5a386
improve infinite recursion errors
2023-12-16 10:52:23 +01:00
Jörg Thalheim
83df9d4e24
fix exit status reporting when evaluation fails
2023-12-16 09:48:37 +01:00
Jörg Thalheim
89927c434c
make sure we also define HAVE_STRUCT_DIRENT_D_TYPE outside of autotools
2023-12-16 09:24:42 +01:00
Jörg Thalheim
8daea338f3
flake.lock: Update
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/0838486e9183ce39398f01b221766e68b50f405c' (2023-12-10)
→ 'github:NixOS/nixpkgs/203ecda835bcf69633df7183459283543dd4a874' (2023-12-15)
• Updated input 'treefmt-nix':
'github:numtide/treefmt-nix/afdd5e48a0869b389027307652a658051c0d2f96' (2023-12-10)
→ 'github:numtide/treefmt-nix/d06b70e5163a903f19009c3f97770014787a080f' (2023-12-13)
2023-12-16 09:20:53 +01:00
Jörg Thalheim
4b6d34214d
add include-what-you-use to devshell
2023-12-16 09:20:53 +01:00
Jörg Thalheim
1f4bbded61
optimize imports with "include-what-you-use"
2023-12-16 09:20:53 +01:00
renovate[bot]
843dc25cfe
chore(deps): lock file maintenance
2023-12-11 00:21:12 +00:00
Jörg Thalheim
521380076d
release proc.pid properly before calling waitpid()
2023-12-10 20:36:24 +00:00
Jörg Thalheim
e1ad62cef1
include orignal json in worker error message
2023-12-10 20:36:24 +00:00
Jörg Thalheim
d48cfadb3d
fix catching eval errors on macOS
2023-12-10 20:36:24 +00:00
Jörg Thalheim
c00fcbba8d
drop obsolete compiler warning suppression
2023-12-10 20:36:24 +00:00
Jörg Thalheim
b6ec7d2ecf
make MyArgs non-copyable
...
this seems to have weird effects
2023-12-10 20:36:24 +00:00
Jörg Thalheim
b24c03e2de
simplify collector function
...
looks like the lambda doesn't buy us anything here.
2023-12-10 20:36:24 +00:00
Jörg Thalheim
97dd8023e8
Merge pull request #283 from nix-community/joerg-ci
...
apply treefmt
2023-12-10 17:03:00 +01:00
Jörg Thalheim
b267eb917d
apply treefmt
2023-12-10 17:00:31 +01:00
Jörg Thalheim
f970ec3524
add test for evaluation errors
2023-12-10 16:59:14 +01:00
Jörg Thalheim
e7c30b306d
don't fail nix-eval-jobs on eval errors
...
This error handling was copied by accident in 5c764d4a67 (diff-a79ded172fd76747492a417a39848b6c25c14238e65971e6a05fe81706d5048fR622)
2023-12-10 15:57:18 +00:00
Jörg Thalheim
36a5368dfc
include missing filesystem header
2023-12-10 14:52:52 +00:00
Jörg Thalheim
3be8c48f54
fix format
2023-12-10 14:52:52 +00:00
Jörg Thalheim
a03f039a56
split nix-eval-jobs further into smaller files
2023-12-10 14:52:52 +00:00
Jörg Thalheim
880c66a7d1
move drvs ot its own class
2023-12-10 15:07:38 +01:00
Jörg Thalheim
db3099bc8f
move argument parsing to new file
2023-12-10 14:22:32 +01:00
Jörg Thalheim
6f4bee53f6
nix-github-action: fix value beeing interpreted as bool
2023-12-10 10:25:15 +00:00
Jörg Thalheim
f49cb87963
enable asan/ubsan in ci
2023-12-10 10:25:15 +00:00
Jörg Thalheim
00d3f014e7
print error if worker receives invalid command
2023-12-10 10:25:15 +00:00
Jörg Thalheim
93972c0c18
handle broken evaluation worker pipes on write
2023-12-10 10:25:15 +00:00