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

make check: died on sysread #3020

Closed
xzfc opened this Issue Oct 15, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@xzfc
Contributor

xzfc commented Oct 15, 2017

Output of i3 --moreversion 2>&- || i3 --version:

Binary i3 version:  4.14-143-gd4eaea82 (2017-10-15, branch "next") © 2009 Michael Stapelberg and contributors
Running i3 version: 4.14 (2017-09-04) (pid 23019) abort…)
Loaded i3 config: /home/alice/.config/i3/config (Last modified: Sun Oct 15 06:52:01 2017, 79856 seconds ago)

The i3 binary you just called: /home/alice/dist/github.com/i3/i3/build/i3
The i3 binary you are running: /nix/store/9mwkfzr4hsj64lq6j1pckg4hiqk0rykd-i3-4.14/bin/i3

Also reproduces on latest master, 4.14.1-2-g2eca0f02.

What I did:

Clean build, then make check

What I saw:

make  test.commands_parser test.config_parser test.inject_randr15 testcases/complete-run.pl \
  anyevent-i3.stamp
make[1]: Entering directory '/home/alice/dist/github.com/i3/i3/build'
make[1]: 'test.config_parser' is up to date.
make[1]: 'test.inject_randr15' is up to date.
make[1]: 'testcases/complete-run.pl' is up to date.
make[1]: 'anyevent-i3.stamp' is up to date.
make[1]: Leaving directory '/home/alice/dist/github.com/i3/i3/build'
make  check-TESTS
make[1]: Entering directory '/home/alice/dist/github.com/i3/i3/build'
make[2]: Entering directory '/home/alice/dist/github.com/i3/i3/build'
FAIL: testcases/complete-run.pl
============================================================================
Testsuite summary for i3 4.14
============================================================================
# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to https://github.com/i3/i3/issues
============================================================================
make[2]: *** [Makefile:3177: test-suite.log] Error 1
make[2]: Leaving directory '/home/alice/dist/github.com/i3/i3/build'
make[1]: *** [Makefile:3285: check-TESTS] Error 2
make[1]: Leaving directory '/home/alice/dist/github.com/i3/i3/build'
make: *** [Makefile:3488: check-am] Error 2

Contents of ./test-suite.log:

===============================
   i3 4.14: ./test-suite.log
===============================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: testcases/complete-run.pl
===============================

Running tests under Xvfb display :99
Starting 8 Xephyr instances, starting at :100...
Use of uninitialized value $timingsjson in numeric gt (>) at ./testcases/complete-run.pl line 212.
Writing logfile to 'testsuite-2017-10-16-05-06-57-4.14-143-gd4eaea82/complete-run.log'...
sysread:  at ./testcases/complete-run.pl line 366, <$fh> line 2.
FAIL testcases/complete-run.pl (exit status: 255)

Line 366 of complete-run.pl: sysread($ipc, my $buf, 4096) or die "sysread: $!";

What I expected instead:

Tests passed.

My speculations:

It seems to meat that it should die on error (in that case, return value of sysread is undefined and $! should be set). But it is stumbled upon corner case when sysread returns 0.

I've replaced the line it with defined sysread($ipc, my $buf, 4096) or die "sysread: $!";, and make check passed.

@i3bot

This comment has been minimized.

Show comment
Hide comment
@i3bot

i3bot Oct 15, 2017

I don’t see a link to logs.i3wm.org. Did you follow https://i3wm.org/docs/debugging.html? (In case you actually provided a link to a logfile, please ignore me.)

i3bot commented Oct 15, 2017

I don’t see a link to logs.i3wm.org. Did you follow https://i3wm.org/docs/debugging.html? (In case you actually provided a link to a logfile, please ignore me.)

@stapelberg

This comment has been minimized.

Show comment
Hide comment
@stapelberg

stapelberg Nov 20, 2017

Member

Thanks for the report. Certainly, the error message should be improved here.

Did you identify the root cause in the meantime? If not, did you double-check that all requirements are installed?

Member

stapelberg commented Nov 20, 2017

Thanks for the report. Certainly, the error message should be improved here.

Did you identify the root cause in the meantime? If not, did you double-check that all requirements are installed?

@stapelberg

This comment has been minimized.

Show comment
Hide comment
@stapelberg

stapelberg Mar 5, 2018

Member

Not sure what to do here. sysread should not return 0, as 0 means end of file. Until we understand the root cause, I’m not going to add workarounds for the issue. As the report doesn’t seem to be reacting, we can’t get to the root cause. Closing this issue for now, feel free to re-open with new information.

Member

stapelberg commented Mar 5, 2018

Not sure what to do here. sysread should not return 0, as 0 means end of file. Until we understand the root cause, I’m not going to add workarounds for the issue. As the report doesn’t seem to be reacting, we can’t get to the root cause. Closing this issue for now, feel free to re-open with new information.

@stapelberg stapelberg closed this Mar 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment