Project

General

Profile

Actions

Bug #6355

closed

osmo_io with io_uring receives read events with result -EAGAIN on Debian 11

Added by jolly 3 months ago. Updated 2 months ago.

Status:
Rejected
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
02/08/2024
Due date:
% Done:

0%

Spec Reference:

Description

Even if there is nothing to read, the io_uring receives a read event with result code -EAGAIN. Because osmo_io_uring.c schedules next read event afterwards, this event is received immediately again and again.

Debian: 11.5
Kernel: Linux osmocom 5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux

I saved a VM to reproduce the case.

Actions #1

Updated by jolly 3 months ago

I use current master of libosmocore and libosmo-netif. I use the stream client/server example of libosmo-netif:

$ LIBOSMO_IO_BACKEND=IO_URING examples/stream-server

$ LIBOSMO_IO_BACKEND=IO_URING examples/stream-client

The client fails as described above.

Actions #2

Updated by jolly 3 months ago

With Debian 11.8 (Linux osmocom 5.10.0-27-amd64 #1 SMP Debian 5.10.205-2 (2023-12-31) x86_64 GNU/Linux) the client works.

Actions #3

Updated by laforge 3 months ago

Ok, so if the problem really is a "not fully updated" version of Debian 11, then I guess
we can ignore it. I think we can expect all our users to always use all updates of their
distribution, withon one version.

So if our code works with "debian 11 including all updates" and "debian 12 including all updates",
we should be fine in terms of debian support.

Actions #4

Updated by daniel 3 months ago

I'd also say if it doesn't happen again we can ignore it for now.

Getting EAGAIN in io_uring seems quite weird, if you see it again would you mind capturing a backtrace?
I'm also not completely clear what "receives read events" actually means. Does the uring completion indicate an rc of -EAGAIN or is it the read callback of the osmo_io user?

Actions #5

Updated by laforge 3 months ago

On Thu, Feb 08, 2024 at 01:55:06PM +0000, daniel wrote:

Getting EAGAIN in io_uring seems quite weird, if you see it again would you mind capturing a backtrace?
I'm also not completely clear what "receives read events" actually means. Does the uring completion indicate an rc of -EAGAIN or is it the read callback of the osmo_io user?

it was the reasd callback of the osmo_io user, as far as I could tell from a screenshare provided by
jolly

Actions #6

Updated by laforge 2 months ago

  • Status changed from New to Rejected
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)