{"record":{"id":"5cee8330e6b0ffa9","repo":"DioxusLabs/dioxus","slug":"failed-to-bind-server-to-devserver-bind-address","errorCode":null,"errorMessage":"Failed to bind server to: {devserver_bind_address}, is there another devserver running?\nTo run multiple devservers, use the --port flag to specify a different port","messagePattern":"Failed to bind server to: (.+?), is there another devserver running\\?\nTo run multiple devservers, use the --port flag to specify a different port","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cli/src/serve/server.rs","lineNumber":95,"sourceCode":"    /// Start the development server.\n    /// This will set up the default http server if there's no server specified (usually via fullstack).\n    ///\n    /// This will also start the websocket server that powers the devtools. If you want to communicate\n    /// with connected devtools clients, this is the place to do it.\n    pub(crate) fn start(runner: &AppServer) -> Result<Self> {\n        let (hot_reload_sockets_tx, hot_reload_sockets_rx) = futures_channel::mpsc::unbounded();\n        let (build_status_sockets_tx, build_status_sockets_rx) = futures_channel::mpsc::unbounded();\n\n        // Create the listener that we'll pass into the devserver, but save its IP here so\n        // we can display it to the user in the tui\n        let devserver_bind_ip = runner.devserver_bind_ip;\n        let devserver_port = runner.devserver_port;\n        let proxied_port = runner.proxied_port;\n        let devserver_exposed_ip = devserver_bind_ip;\n\n        let devserver_bind_address = SocketAddr::new(devserver_bind_ip, devserver_port);\n        let listener = std::net::TcpListener::bind(devserver_bind_address).with_context(|| {\n            anyhow::anyhow!(\n                \"Failed to bind server to: {devserver_bind_address}, is there another devserver running?\\nTo run multiple devservers, use the --port flag to specify a different port\"\n            )\n        })?;\n\n        let proxied_address = proxied_port.map(|port| SocketAddr::new(devserver_exposed_ip, port));\n\n        // Set up the router with some shared state that we'll update later to reflect the current state of the build\n        let build_status = SharedStatus::new_with_starting_build();\n        let router = build_devserver_router(\n            runner,\n            hot_reload_sockets_tx,\n            build_status_sockets_tx,\n            proxied_address,\n            build_status.clone(),\n        )?;\n\n        // And finally, start the server mainloop\n        tokio::spawn(devserver_mainloop(","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/cli/src/serve/server.rs#L77-L113","documentation":"Error \"Failed to bind server to: {devserver_bind_address}, is there another devserver running?\nTo run multiple devservers, use the --port flag to specify a different port\" thrown in DioxusLabs/dioxus.","triggerScenarios":"Thrown at packages/cli/src/serve/server.rs:95 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The devserver port is already in use. Stop the other devserver or pass --port to use a different port."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}