Skip to content

Commit f3e22df

Browse files
Reduce bridge spamminess
Truncated messages are just a fact of life, we handle them correctly Same for clients disconnecting with ECONNRESET, both were useful debug aids, but now they are just useless spam that can look like an error to an unknowing user. Signed-off-by: Sasha Finkelstein <[email protected]>
1 parent ef920fb commit f3e22df

5 files changed

Lines changed: 19 additions & 10 deletions

File tree

crates/muvm/src/guest/bridge/common.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use std::rc::{Rc, Weak};
1111
use std::{env, fs, mem, slice, thread};
1212

1313
use anyhow::Result;
14+
use log::debug;
1415
use nix::errno::Errno;
1516
use nix::libc::{c_int, c_void, off_t, O_RDWR};
1617
use nix::sys::epoll::{Epoll, EpollCreateFlags, EpollEvent, EpollFlags, EpollTimeout};
@@ -874,9 +875,15 @@ impl<'a, P: ProtocolHandler> Client<'a, P> {
874875
if fd == self.socket.as_raw_fd() as u64 {
875876
let event = self
876877
.process_socket(events)
877-
.map_err(|e| {
878-
eprintln!("Client {fd} disconnected with error: {e:?}");
879-
e
878+
.map_err(|err| {
879+
if let Some(errno) = err.downcast_ref::<Errno>() {
880+
if errno == &Errno::ECONNRESET {
881+
debug!("Client {fd} disconnected with error: {err:?}");
882+
return err;
883+
}
884+
}
885+
eprintln!("Client {fd} disconnected with error: {err:?}");
886+
err
880887
})
881888
.unwrap_or(ClientEvent::Close);
882889
match event {

crates/muvm/src/guest/bridge/pipewire.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use std::os::fd::{AsFd, AsRawFd, OwnedFd};
44
use std::{env, mem};
55

66
use anyhow::Result;
7+
use log::debug;
78
use nix::errno::Errno;
89
use nix::sys::epoll::EpollFlags;
910
use nix::sys::eventfd::{EfdFlags, EventFd};
@@ -235,7 +236,7 @@ impl ProtocolHandler for PipeWireProtocolHandler {
235236
resources: &mut VecDeque<CrossDomainResource>,
236237
) -> Result<StreamRecvResult> {
237238
if data.len() < PipeWireHeader::SIZE {
238-
eprintln!(
239+
debug!(
239240
"Pipewire message truncated (expected at least 16 bytes, got {})",
240241
data.len(),
241242
);
@@ -274,7 +275,7 @@ impl ProtocolHandler for PipeWireProtocolHandler {
274275
data: &mut [u8],
275276
) -> Result<StreamSendResult<Self::ResourceFinalizer>> {
276277
if data.len() < PipeWireHeader::SIZE {
277-
eprintln!(
278+
debug!(
278279
"Pipewire message truncated (expected at least 16 bytes, got {})",
279280
data.len(),
280281
);

crates/muvm/src/guest/bridge/x11.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use std::thread::JoinHandle;
1212
use std::{fs, mem, ptr, thread};
1313

1414
use anyhow::Result;
15+
use log::debug;
1516
use nix::errno::Errno;
1617
use nix::fcntl::readlink;
1718
use nix::libc::{
@@ -176,7 +177,7 @@ impl ProtocolHandler for X11ProtocolHandler {
176177
});
177178
}
178179
if data.len() < 32 {
179-
eprintln!(
180+
debug!(
180181
"X11 message truncated (expected at least 32 bytes, got {})",
181182
data.len(),
182183
);
@@ -227,7 +228,7 @@ impl ProtocolHandler for X11ProtocolHandler {
227228
});
228229
}
229230
if buf.len() < 4 {
230-
eprintln!(
231+
debug!(
231232
"X11 message truncated (expected at least 4 bytes, got {})",
232233
buf.len(),
233234
);
@@ -236,7 +237,7 @@ impl ProtocolHandler for X11ProtocolHandler {
236237
let mut req_len = u16::from_ne_bytes(buf[2..4].try_into().unwrap()) as usize * 4;
237238
if req_len == 0 {
238239
if buf.len() < 8 {
239-
eprintln!(
240+
debug!(
240241
"X11 message truncated (expected at least 8 bytes, got {})",
241242
buf.len(),
242243
);

crates/muvm/src/hidpipe_server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ struct EvdevContainer {
104104
names_to_fds: HashMap<String, u64>,
105105
}
106106

107-
fn insert_entry<K, V>(entry: hash_map::Entry<K, V>, v: V) -> &V {
107+
fn insert_entry<K, V>(entry: hash_map::Entry<'_, K, V>, v: V) -> &V {
108108
match entry {
109109
hash_map::Entry::Vacant(e) => e.insert(v),
110110
hash_map::Entry::Occupied(mut e) => {

crates/muvm/src/net.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ fn parse_range(r: &str) -> Result<(u32, u32)> {
2424
}
2525

2626
impl PublishSpec<'_> {
27-
fn parse(mut arg: &str) -> Result<PublishSpec> {
27+
fn parse(mut arg: &str) -> Result<PublishSpec<'_>> {
2828
let mut udp = false;
2929
if arg.ends_with("/udp") {
3030
udp = true;

0 commit comments

Comments
 (0)