-
Notifications
You must be signed in to change notification settings - Fork 14
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
build fails on 1-core VM #269
Comments
Wild guess: Not only just a single CPU core (which should not be a problem at all), but also low RAM? Out of memory when trying to load shared libs? |
No, same RAM as the -j4 build that always works. One try might even have been with 26GB RAM. |
I am really confused about this "pure virtual method called" message. This would explain a failure, but why only when there is just one CPU core? |
Have you tried the reproducer? taskset 1 perl -e 'for(1..5) {my $pid=fork(); if($pid==0){print "$_\n"; exit 0}}' So if there is a place where you have two processes interacting, one can try to connect to the other but fail because it is too early and the other did not start yet. |
I created a corresponding card to track this in the private trello board used by the YaST Team at SUSE to coordinate and prioritize: https://trello.com/c/Tor31iYm/4608-yast-ruby-bindings-build-fails-on-1-core-vm |
Thanks, @bmwiedemann ! $ mkdir build; cd build; cmake ..; make -j $(nproc) all; taskset 1 ruby /home/martin/svn/yast-ruby-bindings/tests/integration/run.rb
bash: řádek 1: 31346 Neúspěšně ukončen (SIGABRT) (core dumped [obraz paměti uložen]) rspec /home/martin/svn/yast-ruby-bindings/tests/integration/std_streams_spec.rb > /tmp/test_cmd_output 2>&1
Outside tmux output:
Test failed: 'rspec /home/martin/svn/yast-ruby-bindings/tests/integration/std_streams_spec.rb >/tmp/test_cmd_output 2>&1'.
result: '134
'
Output was:
stderr: tty before importing UI
stderr: TERM=screen
stderr: NCurses is using the tty
stderr: tty is free again
stdout: tty before importing UI
stdout: TERM=screen
stdout: NCurses is using the tty
stdout: tty is free again
.
Finished in 0.00555 seconds (files took 0.08034 seconds to load)
1 example, 0 failures
pure virtual method called
terminate called without an active exception |
(
tail y2log:
With taskset 3, tail y2log:
https://github.com/yast/yast-ruby-bindings/blob/ac490204f0c4d5b11f4a44fdf975315d6cc0449d/tests/integration/std_streams_spec.rb is exercising the API in a singular way, probably exposing a race condition. |
While working on reproducible builds for openSUSE, I found that
our
yast2-ruby-bindings
package fails build tests on 1-core-VMsSteps to reproduce:
Actual result:
The text was updated successfully, but these errors were encountered: