{"record":{"id":"ff102621ad2ee99f","repo":"zellij-org/zellij","slug":"error-attempting-to-wait","errorCode":null,"errorMessage":"error attempting to wait: {}","messagePattern":"error attempting to wait: (.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zellij-server/src/os_input_output_unix.rs","lineNumber":160,"sourceCode":"\n    // returns the exit status, if any\n    let mut should_exit = false;\n    let mut attempts = 3;\n    let mut signals =\n        signal_hook::iterator::Signals::new(&[SIGINT, SIGTERM]).with_context(err_context)?;\n    'handle_exit: loop {\n        // test whether the child process has exited\n        match child.try_wait() {\n            Ok(Some(status)) => {\n                // if the child process has exited, break outside of the loop\n                // and exit this function\n                // TODO: handle errors?\n                break 'handle_exit Ok(status.code());\n            },\n            Ok(None) => {\n                thread::sleep(Duration::from_millis(10));\n            },\n            Err(e) => panic!(\"error attempting to wait: {}\", e),\n        }\n\n        if !should_exit {\n            for signal in signals.pending() {\n                if signal == SIGINT || signal == SIGTERM {\n                    should_exit = true;\n                }\n            }\n        } else if attempts > 0 {\n            // let's try nicely first...\n            attempts -= 1;\n            kill(\n                unistd::Pid::from_raw(child.id() as i32),\n                Some(Signal::SIGTERM),\n            )\n            .with_context(err_context)?;\n            continue;\n        } else {","sourceCodeStart":142,"sourceCodeEnd":178,"githubUrl":"https://github.com/zellij-org/zellij/blob/5cb5df5cce4e16c5d1c57c7c062e4a90a7823c41/zellij-server/src/os_input_output_unix.rs#L142-L178","documentation":"Error \"error attempting to wait: {}\" thrown in zellij-org/zellij.","triggerScenarios":"Occurs at zellij-server/src/os_input_output_unix.rs:160 when the operation fails: \"error attempting to wait: {}\". Currently there is no defensive handling preventing or contextualizing this failure before it surfaces.","commonSituations":"Typically resource exhaustion, invalid fd state, or platform-specific pty limitations.","solutions":["Check system resource limits (open files, processes) and the OS error attached to the failure.","Retry the operation; if persistent, report the OS error with a zellij issue."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5cb5df5cce4e16c5d1c57c7c062e4a90a7823c41","analyzedAt":"2026-08-19T07:42:58.758Z","contentChangedAt":"2026-08-19T07:42:58.758Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}