Project

General

Profile

Actions

Bug #1241

open

kioskOpenURI[dbkiosk.c:455] INFO error on read(): No such device

Added by Hammel 18 days ago. Updated 10 days ago.

Status:
In Progress
Priority:
Immediate
Assignee:
Category:
Runtime
Target version:
Start date:
30 Oct 2025
Due date:
% Done:

50%

Estimated time:
Severity:
01 - Critical

Description

The log message is incorrect. It's not coming from kioskOpenURI. It comes from these lines in the new events.c code.

        /* Read the event - but we don't care about what's in it. */
        if (read(eventsfd, &ev, sizeof(struct input_event)) != sizeof(struct input_event))
        {   
            piboxLogger(LOG_TRACE1, "error on read(): %s\n", strerror(errno));
            continue;
        }
So there are two issues here:
  1. If this happens I may need to restart the events processor. It's getting events but I'm not using the keyboard.
    1. I think this happens because the keyboard it was watching has been detached.
  2. log.c needs a mutex to make sure threads don't overwrite each other.
Actions #1

Updated by Hammel 14 days ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

I verified that there is already a mutex in libpibox:log.c:_piboxLoggerLocal(), but it seems the mutex might need to go in _piboxLogger() directly.

Actions #2

Updated by Hammel 10 days ago

  • % Done changed from 10 to 50

I tested a fix for this but the test was on a Kiosk and the event processor doesn't run there. It only runs on the AutoKiosk.

So I need to retry this on the AutoKiosk, which has currently been running for 14 days as a stress test. It also has NOT had the monitor enabled, though it is connected to the HDMI switch. So I need to see if it's still working before I retry this fix.

Actions

Also available in: Atom PDF