Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DEBUG: Failed to read cmd on fd (2) #170

Open
OnkelTem opened this issue Nov 5, 2017 · 0 comments
Open

DEBUG: Failed to read cmd on fd (2) #170

OnkelTem opened this issue Nov 5, 2017 · 0 comments

Comments

@OnkelTem
Copy link

OnkelTem commented Nov 5, 2017

Sorry for duplicating this issue, but the original one #77 became messy as there were discussed not-related things, including "doesn't work" problems. This one is dedicated only to a DEBUG message which you can see in your logs, e.g.:

renderd[17]: DEBUG: Failed to read cmd on fd 4
renderd[17]: DEBUG: Sending render cmd(3 osmcarto 8/159/93) with protocol version 2 to fd 8
renderd[17]: DEBUG: Connection 0, fd 4 closed, now 5 left
renderd[17]: DEBUG: Failed to read cmd on fd 11
renderd[17]: DEBUG: Connection 4, fd 11 closed, now 4 left
renderd[17]: DEBUG: Failed to read cmd on fd 8
renderd[17]: DEBUG: Sending render cmd(3 osmcarto 8/159/92) with protocol version 2 to fd 7
renderd[17]: DEBUG: Connection 1, fd 8 closed, now 3 left
renderd[17]: DEBUG: Failed to read cmd on fd 10
renderd[17]: DEBUG: Connection 2, fd 10 closed, now 2 left
renderd[17]: DEBUG: Failed to read cmd on fd 7
renderd[17]: DEBUG: Connection 0, fd 7 closed, now 1 left
renderd[17]: DEBUG: Failed to read cmd on fd 9
renderd[17]: DEBUG: Connection 0, fd 9 closed, now 0 lef

According the this reply #77 (comment) which I quote here:

The "failed to read cmd" message was added by Kai in 9d4e10e. It will be triggered any time a connection is closed because recv() returns 0 for this case. I don't think it is any cause for concern but maybe we want to set this at LOG_DEBUG or differentiate between -1 (errors) and 0 (successful close).

-- there is even nothing to worry about.

But let's make it clear: if you print a message like that into a log, they you assume it's to be seen by a sysadmin and some actions to be done, correct? Anyway, such fail-messages are always making us a bit nervous. I didn't get into details, but just looking at this code:

    ret = recv(fd, cmd, sizeof(struct protocol_v1), block?MSG_WAITALL:MSG_DONTWAIT);
    if (ret < 1) {
        syslog(LOG_INFO, "DEBUG: Failed to read cmd on fd %i", fd);
        return -1;
    } else if (ret < sizeof(struct protocol_v1)) {
        syslog(LOG_INFO, "DEBUG: Read incomplete cmd on fd %i", fd);
        return 0;
    }

-- I assume that getting ret < 1 is not what this code "treats" as normal instantly exiting the function. It'd rather want to see some other value and continue the execution flow. But if contrariwise exiting the function is totally normal (sort of EOF) then why print this message after all? Who needs it and what is supposed to do? Does it sign about some bad situation at server-side or client-side or not at all? Please clarify.

What I want to say is:

  • if this message really doesn't signal about internal errors
    OR
  • if it doesn't affect caching
    OR
  • if it doesn't affect performance
    THEN
  • this message could be probably simply removed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant