Bug description
Bug description
iggy-server panics immediately at startup on Intel macOS (x86_64) and never binds a listener. The build succeeds; the failure is at runtime. The guard in core/server_common/src/executor.rs:87 applies thread_pool_limit(0)` on every target except macOS aarch64
#[cfg(not(all(target_os = "macos", target_arch = "aarch64")))]
proactor.thread_pool_limit(0);
On macOS x86_64 the condition is therefore true and the zero limit is applied. compio's polling driver (used on macOS, since there is no io_uring) routes fs operations through the blocking pool, so the first fs operation panics.
The comment directly above that line describes the exclusion as applying to macOS generally, with no architecture qualifier
Expected: server starts on Intel macOS.
Actual: panics before binding any listener.
Why CI did not catch it
The only macOS Rust job is build-macos-aarch64 on macos-14 (.github/workflows/_test.yml:44). macos-15-intel appears only in _build_python_wheels.yml. Intel macOS has no Rust build or test coverage.
Affected area / component
Deployment
Compiled from source
Versions
server 0.9.0-edge.6 (commit 996ac04, master)
Affected area / component
Iggy server
Deployment
Compiled from source
Versions
0.9.0 (commit 996ac04, master)
Hardware / environment
Local Intel Mac, macOS 15.7.4, x86_64, APFS/SSD. rustc 1.98.0 (88d9e12ae 2026-08-18)
Sample code
No response
Logs
thread 'main' (3217100) panicked at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/asyncify.rs:118:25:
the thread pool is needed but no worker thread is running
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/88d9e12ae178fab0fb5cc050a94da85685d449ea/library/std/src/panicking.rs:679:5
1: core::panicking::panic_fmt
at /rustc/88d9e12ae178fab0fb5cc050a94da85685d449ea/library/core/src/panicking.rs:80:14
2: <compio_driver::asyncify::AsyncifyPool>::dispatch::<<compio_driver::sys::driver::poll::Driver>::push_blocking::{closure#0}>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/asyncify.rs:118:25
3: <compio_driver::sys::driver::poll::Driver>::push_blocking
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/sys/driver/poll/mod.rs:388:38
4: <compio_driver::sys::driver::poll::Driver>::push
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/sys/driver/poll/mod.rs:320:22
5: <compio_driver::Proactor>::push_with_extra::<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/lib.rs:266:27
6: <compio_driver::Proactor>::push::<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/lib.rs:255:14
7: compio_runtime::future::submit_raw::<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/future/mod.rs:51:24
8: <compio_runtime::future::future::Submit<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>> as core::future::future::Future>::poll
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/future/future.rs:147:33
9: compio_fs::metadata::sys::metadata_impl::<compio_driver::sys::pal::unix::CurrentDir, &std::path::Path>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-fs-0.12.0/src/metadata/unix.rs:29:57
10: compio_fs::metadata::sys::metadata::<&std::path::Path>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-fs-0.12.0/src/metadata/unix.rs:34:43
11: compio_fs::metadata::metadata::<&std::path::Path>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-fs-0.12.0/src/metadata/mod.rs:17:25
12: server_common::bootstrap::walk_dir::<&alloc::string::String>::{closure#0}
at ./core/server_common/src/bootstrap.rs:126:47
13: server_common::bootstrap::remove_dir_all::<&alloc::string::String>::{closure#0}
at ./core/server_common/src/bootstrap.rs:160:33
14: server_common::bootstrap::create_directories::<alloc::sync::Arc<configs::common::system::SystemConfigconfigs::server_config::sharding::ShardingConfig>>::{closure#0}
at ./core/server_common/src/bootstrap.rs:99:75
15: server::bootstrap::prepare_runtime_dirs::{closure#0}
at ./core/server/src/bootstrap.rs:595:40
16: iggy_server::main::{closure#0}
at ./core/server/src/main.rs:77:65
17: <compio_runtime::Runtime>::block_on::<iggy_server::main::{closure#0}>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/lib.rs:178:62
18: <scoped_tls::ScopedKey<compio_runtime::Runtime>>::set::<<compio_runtime::Runtime>::block_on<iggy_server::main::{closure#0}>::{closure#0}, core::result::Result<configs::server_config::server::ServerConfig, server::server_error::ServerError>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/scoped-tls-1.0.1/src/lib.rs:137:9
19: <compio_runtime::Runtime>::enter::<core::result::Result<configs::server_config::server::ServerConfig, server::server_error::ServerError>, <compio_runtime::Runtime>::block_on<iggy_server::main::{closure#0}>::{closure#0}>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/lib.rs:152:25
20: <compio_runtime::Runtime>::block_on::<iggy_server::main::{closure#0}>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/lib.rs:173:14
21: iggy_server::main
at ./core/server/src/main.rs:75:81
22: <fn() -> core::result::Result<(), server::server_error::ServerError> as core::ops::function::FnOnce<()>>::call_once
at /Users/jogeshanand/.rustup/toolchains/1.98.0-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.
Iggy server config
Stock core/server/config.toml, no overrides, no IGGY_* env vars beyond the
--with-default-root-credentials flag.
Reproduction
- On an Intel Mac (x86_64),
cargo build --bin iggy-server (succeeds)
cargo run --bin iggy-server -- --with-default-root-credentials
- Panics before binding; no listener on 3000/8080/8090/8092.
Contribution
Good first issue
Bug description
Bug description
iggy-serverpanics immediately at startup on Intel macOS (x86_64) and never binds a listener. The build succeeds; the failure is at runtime. The guard incore/server_common/src/executor.rs:87applies thread_pool_limit(0)` on every target except macOS aarch64On macOS x86_64 the condition is therefore true and the zero limit is applied. compio's polling driver (used on macOS, since there is no io_uring) routes fs operations through the blocking pool, so the first fs operation panics.
The comment directly above that line describes the exclusion as applying to macOS generally, with no architecture qualifier
Expected: server starts on Intel macOS.
Actual: panics before binding any listener.
Why CI did not catch it
The only macOS Rust job is
build-macos-aarch64onmacos-14(.github/workflows/_test.yml:44).macos-15-intelappears only in_build_python_wheels.yml. Intel macOS has no Rust build or test coverage.Affected area / component
Deployment
Compiled from source
Versions
server 0.9.0-edge.6 (commit 996ac04, master)
Affected area / component
Iggy server
Deployment
Compiled from source
Versions
0.9.0 (commit 996ac04, master)
Hardware / environment
Local Intel Mac, macOS 15.7.4, x86_64, APFS/SSD. rustc 1.98.0 (88d9e12ae 2026-08-18)
Sample code
No response
Logs
thread 'main' (3217100) panicked at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/asyncify.rs:118:25:
the thread pool is needed but no worker thread is running
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/88d9e12ae178fab0fb5cc050a94da85685d449ea/library/std/src/panicking.rs:679:5
1: core::panicking::panic_fmt
at /rustc/88d9e12ae178fab0fb5cc050a94da85685d449ea/library/core/src/panicking.rs:80:14
2: <compio_driver::asyncify::AsyncifyPool>::dispatch::<<compio_driver::sys::driver::poll::Driver>::push_blocking::{closure#0}>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/asyncify.rs:118:25
3: <compio_driver::sys::driver::poll::Driver>::push_blocking
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/sys/driver/poll/mod.rs:388:38
4: <compio_driver::sys::driver::poll::Driver>::push
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/sys/driver/poll/mod.rs:320:22
5: <compio_driver::Proactor>::push_with_extra::<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/lib.rs:266:27
6: <compio_driver::Proactor>::push::<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-driver-0.12.4/src/lib.rs:255:14
7: compio_runtime::future::submit_raw::<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/future/mod.rs:51:24
8: <compio_runtime::future::future::Submit<compio_driver::sys::op::fs::poll::PathStat<compio_driver::sys::pal::unix::CurrentDir>> as core::future::future::Future>::poll
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/future/future.rs:147:33
9: compio_fs::metadata::sys::metadata_impl::<compio_driver::sys::pal::unix::CurrentDir, &std::path::Path>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-fs-0.12.0/src/metadata/unix.rs:29:57
10: compio_fs::metadata::sys::metadata::<&std::path::Path>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-fs-0.12.0/src/metadata/unix.rs:34:43
11: compio_fs::metadata::metadata::<&std::path::Path>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-fs-0.12.0/src/metadata/mod.rs:17:25
12: server_common::bootstrap::walk_dir::<&alloc::string::String>::{closure#0}
at ./core/server_common/src/bootstrap.rs:126:47
13: server_common::bootstrap::remove_dir_all::<&alloc::string::String>::{closure#0}
at ./core/server_common/src/bootstrap.rs:160:33
14: server_common::bootstrap::create_directories::<alloc::sync::Arc<configs::common::system::SystemConfigconfigs::server_config::sharding::ShardingConfig>>::{closure#0}
at ./core/server_common/src/bootstrap.rs:99:75
15: server::bootstrap::prepare_runtime_dirs::{closure#0}
at ./core/server/src/bootstrap.rs:595:40
16: iggy_server::main::{closure#0}
at ./core/server/src/main.rs:77:65
17: <compio_runtime::Runtime>::block_on::<iggy_server::main::{closure#0}>::{closure#0}
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/lib.rs:178:62
18: <scoped_tls::ScopedKey<compio_runtime::Runtime>>::set::<<compio_runtime::Runtime>::block_on<iggy_server::main::{closure#0}>::{closure#0}, core::result::Result<configs::server_config::server::ServerConfig, server::server_error::ServerError>>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/scoped-tls-1.0.1/src/lib.rs:137:9
19: <compio_runtime::Runtime>::enter::<core::result::Result<configs::server_config::server::ServerConfig, server::server_error::ServerError>, <compio_runtime::Runtime>::block_on<iggy_server::main::{closure#0}>::{closure#0}>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/lib.rs:152:25
20: <compio_runtime::Runtime>::block_on::<iggy_server::main::{closure#0}>
at /Users/jogeshanand/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/compio-runtime-0.12.3/src/lib.rs:173:14
21: iggy_server::main
at ./core/server/src/main.rs:75:81
22: <fn() -> core::result::Result<(), server::server_error::ServerError> as core::ops::function::FnOnce<()>>::call_once
at /Users/jogeshanand/.rustup/toolchains/1.98.0-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with
RUST_BACKTRACE=fullfor a verbose backtrace.Iggy server config
Stock
core/server/config.toml, no overrides, noIGGY_*env vars beyond the--with-default-root-credentialsflag.Reproduction
cargo build --bin iggy-server(succeeds)cargo run --bin iggy-server -- --with-default-root-credentialsContribution
Good first issue