djanand opened a new issue, #3993:
URL: https://github.com/apache/iggy/issues/3993
### 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**
```rust
#[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
- Iggy server
## Deployment
Compiled from source
## Versions
server 0.9.0-edge.6 (commit 996ac04c8, master)
### Affected area / component
Iggy server
### Deployment
Compiled from source
### Versions
0.9.0 (commit 996ac04c8, 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::SystemConfig<configs::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
1. On an Intel Mac (x86_64), `cargo build --bin iggy-server` (succeeds)
3. `cargo run --bin iggy-server -- --with-default-root-credentials`
4. Panics before binding; no listener on 3000/8080/8090/8092.
### Contribution
- [x] I'm willing to submit a pull request to fix this bug
### Good first issue
- [x] I think this could be a good first issue for a new contributor
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]