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

Test test_multi_timer fails on 1-core-VM #541

Closed
bmwiedemann opened this issue Sep 12, 2018 · 9 comments
Closed

Test test_multi_timer fails on 1-core-VM #541

bmwiedemann opened this issue Sep 12, 2018 · 9 comments

Comments

@bmwiedemann
Copy link

What did you try to do?

build openSUSE python-pycurl package
on 1-core-VM or with
taskset 1 osc build -j1

What happened?

osc checkout openSUSE:Factory/python-pycurl && cd $_
taskset 1 osc build -j1

output:

======================================================================
FAIL: test_multi_timer (tests.multi_timer_test.MultiSocketTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/abuild/rpmbuild/BUILD/pycurl-7.43.0.2/tests/multi_timer_test.py", line 83, in test_multi_timer
    assert timers[0] >= 0
AssertionError

===Flaky Test Report===

What did you expect to happen?

tests should pass

What is the PycURL version?

(output of pycurl.version)
pycurl-7.43.0.2
libcurl4-7.61.1

What is your Python version?

(output of python -V)
python3-3.6.5-3.4 and/or python-2.7.15-1.2

What is your operating system and its version?

openSUSE Tumbleweed 2018-09-xx

Is this the most recent PycURL release?

yes

Did you check libcurl behavior?

no

@bmwiedemann
Copy link
Author

Once I also got

======================================================================
FAIL: test_opensocketfunction_collection (tests.multi_memory_mgmt_test.MultiMemoryMgmtTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/abuild/rpmbuild/BUILD/pycurl-7.43.0.2/tests/multi_memory_mgmt_test.py", line 18, in test_opensocketfunction_collection
    self.check_callback(pycurl.M_SOCKETFUNCTION)
  File "/home/abuild/rpmbuild/BUILD/pycurl-7.43.0.2/tests/multi_memory_mgmt_test.py", line 42, in check_callback
    self.assertTrue(new_object_count in (object_count, object_count-1))
AssertionError: False is not true 

===Flaky Test Report===

but not sure how reproducible this one is.

@p
Copy link
Member

p commented Sep 19, 2018

Is this test failing each time you run it on that OS?

@bmwiedemann
Copy link
Author

Yes, it consistently fails on openSUSE Tumbleweed/Factory (libcurl 7.61.1)
unless I allow it to use 2 or more CPU cores.

It seems to (mostly) work on older openSUSE Leap 15.0 with libcurl 7.60.0 . Some random 'getting stuck' issues there.

This is just exchanging the user-space (with chroot), not the kernel.

@p
Copy link
Member

p commented Sep 19, 2018

Okay thank you, that test predates me and it is not immediately obvious to me how important that check is. I take it the timer event is firing immediately, but only on a 1 core vm? I will queue up looking into the test to understand it better.

@bmwiedemann
Copy link
Author

ping. did you find time to look into it?

@p
Copy link
Member

p commented Nov 11, 2018

Haven't gotten to it yet, in fact there is a number of things in the queue prior to this issue. What is its impact for you?

@bmwiedemann
Copy link
Author

It is low impact atm. I'm verifying reproducible builds for openSUSE and vary several parameters, including number of CPUs, because it sometimes matters for build results (e.g. via races).
It just creates some extra noise there when reviewing results.

@bmwiedemann
Copy link
Author

actually, it became even less of an issue, because the tests were split off the main package build. Reproducer is now

taskset 1 osc build -j1 --noservice -M test

@p
Copy link
Member

p commented May 27, 2021

I am going to close this since I don't see myself working on it in the foreseeable future.

Patches to fix are welcome.

@p p closed this as completed May 27, 2021
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

2 participants