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

3.6 fails to build on the Hurd #1912

Closed
mochrul opened this issue Mar 2, 2018 · 2 comments
Closed

3.6 fails to build on the Hurd #1912

mochrul opened this issue Mar 2, 2018 · 2 comments
Labels

Comments

@mochrul
Copy link
Contributor

mochrul commented Mar 2, 2018

Because I have no power to reopen bug #355, but I would like to see it be fixed, I created a new ticket for it:

3.6 as of commit 4d90138 fails the test suite on Hurd, with the following message:

FAIL: lib/logproto/tests/test_logproto
======================================

[2014-12-15T14:43:48.462716] Plugin module not found in 'module-path';

  ###########################################################################
  #
  # FAIL: ASSERTION FAILED: LogProtoServer expected status mismatch; actual=2, expected=1
  #
  # Test case: test-text-server.c/test_log_proto_text_server()
  #
  #     test_log_proto_text_server_eol_before_eof()
  #
  ###########################################################################

Full build log available here.

I will be retrying with 3.6.2 (or latest 3.6/master, if different) in a couple of days, to see if the problem has been accidentally fixed since the last snapshot I took.

@mochrul
Copy link
Contributor Author

mochrul commented Mar 2, 2018

With some detour and dead-end, finally, I was able to find what caused this issue.

The problem is caused by this commit: 81e2c83

More precisely, this lines:

  if (GPOINTER_TO_UINT(current_iov->iov_base) < 4096)
    {
      /* error injection */
      errno = GPOINTER_TO_UINT(current_iov->iov_base);
      return -1;
    }

In most of the architectures, this works because the error codes are low. but not in Hurd:

/usr/include/i386-gnu/bits/errno.h:  EIO                            = 0x40000005,       /* Input/output error */

Hopefully, this is the only place where this failed expectation is tried to be exploited.

@gaborznagy
Copy link
Collaborator

Fixed with #1914.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants