| 13 Nov 2024 |
@enzime:nixos.dev | which redirects to https://hydra.nixos.org/build/278148859/download/1/manual/ | 04:28:33 |
@enzime:nixos.dev | In reply to @jade_:matrix.org i also did not notice that 2.25 was released, but this also works because of that: https://releases.nixos.org/nix/nix-2.25.0/manual/index.html I made a GitHub issue requesting GitHub releases are created so users can have an official channel to be notified by https://github.com/NixOS/nix/issues/11872 | 04:29:19 |
Shahar "Dawn" Or | Is anyone interested in the core dump for this?
| 08:25:19 |
Shahar "Dawn" Or | * Is anyone interested in the core dump for this?
nix-repl> :env
Env level 0
static: step swayMsgPath pactl incVol toggleMuteSources
Env level 1
terminating due to unexpected unrecoverable internal error: Unexpected condition in operator[] at src/libexpr/symbol-table.hh:119
zsh: abort (core dumped) nix build --debugger
| 08:25:28 |
Shahar "Dawn" Or | Oh, it's v2.24.10 | 08:25:55 |
Mic92 | Redacted or Malformed Event | 20:09:43 |
Mic92 | https://github.com/NixOS/nixpkgs/pull/355745 | 20:09:52 |
| Inayet joined the room. | 22:14:05 |
| 14 Nov 2024 |
| sinan changed their profile picture. | 08:24:18 |
connor (burnt/out) (UTC-8) | I’d like to add functionality to nix derivation show so it respects —keep-going. How would I do that?
I found the relevant source file (https://github.com/NixOS/nix/blob/a95f6ea5c6b9a404f3ef1138c8351f7ef6383e6f/src/nix/derivation-show.cc#L42) and started by wrapping things in try-catch blocks, but I don’t understand how to catch the relevant errors — they seem to make the program fail regardless of what I’m catching (EvalError, Error, or even std::exception).
Does EvalState need to be reset or otherwise modified to start doing evaluation again after throwing?
Will post changes in a moment. | 16:56:28 |
connor (burnt/out) (UTC-8) | For what it's worth, even with the code below I'm not seeing anything being printed out, which I would expect due to the numerous printMsg calls.
void run(ref<Store> store, Installables && installables) override
{
// TODO(@connorbaker): Unsure of how to catch eval errors so the other installables are still computed.
const auto drvPaths = Installable::toDerivations(store, installables, true);
auto jsonRoot = json::object();
auto hasErrors = false;
const auto tryAction = [&](const auto & action) {
try {
action();
} catch (EvalError & e) {
printMsg(lvlError, "settings.keepGoing: %s", settings.keepGoing);
if (settings.keepGoing) {
ignoreExceptionExceptInterrupt();
hasErrors = true;
} else {
throw;
}
} catch (Error & e) {
printMsg(lvlError, "settings.keepGoing: %s", settings.keepGoing);
if (settings.keepGoing) {
ignoreExceptionExceptInterrupt();
hasErrors = true;
} else {
throw;
}
} catch (Interrupted & e) {
printMsg(lvlError, "settings.keepGoing: %s", settings.keepGoing);
if (settings.keepGoing) {
ignoreExceptionExceptInterrupt();
hasErrors = true;
} else {
throw;
}
} catch (const std::exception &e) {
printMsg(lvlError, "settings.keepGoing: %s", settings.keepGoing);
if (settings.keepGoing) {
ignoreExceptionExceptInterrupt();
hasErrors = true;
} else {
throw;
}
// Please, PLEASE JUST CATCH IT.
} catch (...) {
printMsg(lvlError, "settings.keepGoing: %s", settings.keepGoing);
if (settings.keepGoing) {
ignoreExceptionExceptInterrupt();
hasErrors = true;
} else {
throw;
}
}
};
const auto addDrvPathsToJSONRoot = [&](const auto & drvPaths) {
for (const auto & drvPath : drvPaths) {
if (!drvPath.isDerivation()) {
continue;
}
jsonRoot[store->printStorePath(drvPath)] =
store->readDerivation(drvPath).toJSON(*store);
}
};
if (recursive) {
// In the recursive case, don't add the closure of a drvPath if it fails to evaluate.
for (const auto & drvPath : drvPaths) {
tryAction([&] {
StorePathSet closure;
store->computeFSClosure(drvPath, closure);
addDrvPathsToJSONRoot(closure);
});
}
} else {
tryAction([&] { addDrvPathsToJSONRoot(drvPaths); });
}
logger->cout(jsonRoot.dump());
if (hasErrors) {
throw Error("some errors were encountered during the evaluation");
}
}
| 17:30:17 |
connor (burnt/out) (UTC-8) | Ugh. Because I'm using a multi-user install, is it the daemon which is throwing the error? | 17:44:12 |
puck | toDerivations throws the eval exceptions, iirc | 17:50:06 |
connor (burnt/out) (UTC-8) | That was it! Thank you :) | 18:55:04 |
| @alina:kescher.at left the room. | 21:09:09 |
| 15 Nov 2024 |
| @k0kada:matrix.org left the room. | 12:36:24 |
connor (burnt/out) (UTC-8) | Yesterday I got an error in a Nix build which was using Ninja (nothing new there, bad CMake config). However, I noticed I was able to reliably reproduce a Nix error: https://gist.github.com/ConnorBaker/5cebac5224ab430e67ee25d7a5bd0224
bad JSON log message from builder: [json.exception.parse_error.101] parse error at line 1, column 65539: syntax error while parsing array - invalid literal; last read: <snipped>
Any idea if there's a limit on the length of the output from a build? I believe this was using a remote builder if that's any help.
| 18:04:25 |
Artturin | In reply to @connorbaker:matrix.org
Yesterday I got an error in a Nix build which was using Ninja (nothing new there, bad CMake config). However, I noticed I was able to reliably reproduce a Nix error: https://gist.github.com/ConnorBaker/5cebac5224ab430e67ee25d7a5bd0224
bad JSON log message from builder: [json.exception.parse_error.101] parse error at line 1, column 65539: syntax error while parsing array - invalid literal; last read: <snipped>
Any idea if there's a limit on the length of the output from a build? I believe this was using a remote builder if that's any help.
I wonder what --log-format internal-json will show? | 18:41:36 |
connor (burnt/out) (UTC-8) | Running it again with that flag. For what it's worth, when I built locally and used sudo (so no daemon) I didn't get the error. | 19:24:41 |
connor (burnt/out) (UTC-8) | * Running it again with that flag. For what it's worth, when I built locally and used sudo (so no daemon) I didn't get the error -- which is to say I saw
cuda12.6-onnxruntime> /nix/store/va7kw1i822h95im4jacci19v0cqajfyf-binutils-2.43.1/bin/ld: cannot find -lcudnn_frontend: No such file or directory
cuda12.6-onnxruntime> collect2: error: ld returned 1 exit status
cuda12.6-onnxruntime> ninja: build stopped: subcommand failed.
| 19:25:05 |
connor (burnt/out) (UTC-8) | Here's the end of the log with --log-format internal-json https://gist.github.com/ConnorBaker/6af002385527635deefdce7982d2acb1 | 19:31:08 |
connor (burnt/out) (UTC-8) | * Running it again with that flag. For what it's worth, when I built locally and used sudo (so no daemon) I didn't get the error -- which is to say I saw
cuda12.6-onnxruntime> /nix/store/va7kw1i822h95im4jacci19v0cqajfyf-binutils-2.43.1/bin/ld: cannot find -lcudnn_frontend: No such file or directory
cuda12.6-onnxruntime> collect2: error: ld returned 1 exit status
cuda12.6-onnxruntime> ninja: build stopped: subcommand failed.
error: builder for '/nix/store/w9nxvfann68v2am1kym3hkyxmc4a8p1f-cuda12.6-onnxruntime-1.20.0-unstable-2024-11-14.drv' failed with exit code 1
| 19:31:58 |
connor (burnt/out) (UTC-8) | Weird that in the internal-json log output I can see \nFor full logs, run '\u001b[1mnix log /nix/store/w9nxvfann68v2am1kym3hkyxmc4a8p1f-cuda12.6-onnxruntime-1.20.0-unstable-2024-11-14.drv, but that in the log immediately above that output never shows up. | 19:32:36 |
| 16 Nov 2024 |
| Sergei Zimmerman (xokdvium) set a profile picture. | 10:47:55 |
Sergei Zimmerman (xokdvium) | In reply to @mightyiam:matrix.org
Is anyone interested in the core dump for this?
nix-repl> :env
Env level 0
static: step swayMsgPath pactl incVol toggleMuteSources
Env level 1
terminating due to unexpected unrecoverable internal error: Unexpected condition in operator[] at src/libexpr/symbol-table.hh:119
zsh: abort (core dumped) nix build --debugger
It did some light digging in lldb here, but wasn't able to get to the root cause. https://github.com/NixOS/nix/issues/11286#issuecomment-2398006754. It's a use-after-free | 10:53:48 |
| Viorel-Cătălin Răpițeanu changed their display name from @catalin:one.ems.host to Viorel-Cătălin Răpițeanu. | 18:22:43 |
| 18 Nov 2024 |
| aktaboot changed their profile picture. | 08:03:09 |
Mic92 | https://github.com/NixOS/nixpkgs/pull/356983 fix darwin nix static build | 15:11:38 |
| flacks joined the room. | 16:27:06 |
| @domagojding:matrix.org joined the room. | 19:36:58 |