-
Notifications
You must be signed in to change notification settings - Fork 364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RabbitMQ service fails to start: "Bus error: 10" #836
Comments
TL;DR: Erlang's JIT compilation, enabled on most systems by default, is broken on Sonoma (erlang/otp#7687 (comment)). You need to use a RabbitMQ package built with an Erlang built with rabbitmq = {
enable = true;
package = let
erlang = pkgs.beam.interpreters.erlangR25.override {
configureFlags = ["--disable-jit"];
};
beamPackages = pkgs.beam.packagesWith erlang;
elixir = beamPackages.elixir;
in pkgs.rabbitmq-server.override {
inherit erlang elixir;
};
managementPlugin.enable = true;
}; Full investigation below. I'm also experiencing this on macOS Sonoma
Same, my devenv definitely worked before. I think today is the first time I ran Interestingly I can get a similar rabbitmq = {
enable = true;
package = pkgs.rabbitmq-server.override { erlang = pkgs.beam.interpreters.erlangR25; };
}; I get these logs from the RabbitMQ build:
I get a successful build with Erlang 25 (which I think is the default version of Erlang in my pinned nixpkgs, so the one my rabbitmq-server used anyway). But I get the bus error when starting. If I try to run the
This thread points to erlang/otp#7687 (comment) which suggests that JIT compilation isn't compatible with Sonoma. Try using an Erlang built with rabbitmq = {
enable = true;
package = pkgs.rabbitmq-server.override {
erlang = pkgs.erlang.override {
configureFlags = ["--disable-jit"];
};
};
}; This failed in the same way as the previous build. But I noticed what's failing is a Try using a custom Elixir as well. rabbitmq = {
enable = true;
package = let
erlang = pkgs.beam.interpreters.erlangR25.override {
configureFlags = ["--disable-jit"];
};
beamPackages = pkgs.beam.packagesWith erlang;
elixir = beamPackages.elixir;
in pkgs.rabbitmq-server.override {
inherit erlang elixir;
};
managementPlugin.enable = true;
}; The RabbitMQ build succeeds and |
Should we add the package override when using Darwin in to erlang itself? Ideally this would even be fixed in https://github.com/NixOS/nixpkgs |
Describe the bug
Enabling the rabbitmq service and running
devenv up
throws an error.Running macOS Sonoma.
To reproduce
Run
devenv init
, editdevenv.nix
to contain the following:Run
devenv up
:It definitely used to work a while ago, although I'm not sure what exactly has changed.
Version
Running the latest
master
.The text was updated successfully, but these errors were encountered: