Bug 1705929

Summary: python-emcee FTBFS (hangs) with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-emceeAssignee: Sergio Pascual <sergio.pasra>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: sergio.pasra
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-11 15:55:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-05-03 08:50:15 UTC
Created attachment 1562244 [details]
Full log from Copr

python-emcee 2.2.1-13.fc31 Python 3.8 hangs in Copr for 21+ hours after a test failure.


======================================================================
ERROR: emcee.tests.Tests.test_nan_lnprob
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILDROOT/python-emcee-2.2.1-13.fc31.x86_64/usr/lib/python3.8/site-packages/emcee/tests.py", line 184, in test_nan_lnprob
    self.check_sampler(p0=p0)
  File "/builddir/build/BUILDROOT/python-emcee-2.2.1-13.fc31.x86_64/usr/lib/python3.8/site-packages/emcee/tests.py", line 112, in check_sampler
    for i in self.sampler.sample(p0, iterations=N):
  File "/builddir/build/BUILDROOT/python-emcee-2.2.1-13.fc31.x86_64/usr/lib/python3.8/site-packages/emcee/ensemble.py", line 198, in sample
    lnprob, blobs = self._get_lnprob(p)
  File "/builddir/build/BUILDROOT/python-emcee-2.2.1-13.fc31.x86_64/usr/lib/python3.8/site-packages/emcee/ensemble.py", line 364, in _get_lnprob
    if np.any(np.isinf(p)):
TypeError: ufunc 'isinf' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

----------------------------------------------------------------------
Ran 9 tests in 96.299s

FAILED (errors=1)
 !! Copr timeout => sending INT

Full log attached.

Comment 1 Miro Hrončok 2019-07-10 10:17:02 UTC
Please respond.

Comment 2 Sergio Pascual 2019-07-11 08:15:43 UTC
I can disable the tests for the moment. There is a 3.0 RC on github, but the development is very slow (June-September 2018) so I don't think is a good idea packaging it for Fedora 31

Comment 3 Sergio Pascual 2019-07-11 08:17:42 UTC
I'm looking now into the specfile and I actually allowed failures in the check section with

nosetests-%{python3_version} -v emcee || :

Can this problem be a copr bug?

Comment 4 Sergio Pascual 2019-07-11 08:18:41 UTC
In fact this failure has been reported upstream

Comment 5 Miro Hrončok 2019-07-11 08:36:20 UTC
(In reply to Sergio Pascual from comment #3)
> I'm looking now into the specfile and I actually allowed failures in the
> check section with
> 
> nosetests-%{python3_version} -v emcee || :

This doesn't prevent a hang.

> Can this problem be a copr bug?

It can. Let's build on Python 3.7, to see:


https://copr.fedorainfracloud.org/coprs/churchyard/dirty-tests/build/967603/

Comment 6 Miro Hrončok 2019-07-11 08:40:12 UTC
(In reply to Miro Hrončok from comment #5)
> (In reply to Sergio Pascual from comment #3)
> > Can this problem be a copr bug?
> 
> It can. Let's build on Python 3.7, to see:
> 
> 
> https://copr.fedorainfracloud.org/coprs/churchyard/dirty-tests/build/967603/

Successfully built.

Comment 7 Sergio Pascual 2019-07-11 10:16:27 UTC
Ok, I have fixed the broken test and all the tests pass with python 3.7

https://koji.fedoraproject.org/koji/taskinfo?taskID=36182502

Could you test if it works know with Python 3.8?

Comment 8 Miro Hrončok 2019-07-11 10:42:21 UTC
Seems to hang after the tests.

https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/967651/

Comment 9 Sergio Pascual 2019-07-11 10:49:34 UTC
Let's skip the tests for python 3.8 then

Do you know what kind of conditional could I use for that?

Comment 10 Miro Hrončok 2019-07-11 11:02:53 UTC
# Tests hang on Python 3.8
%if %{python3_version_nodots} < 38
...run the tests...
%endif

Comment 11 Sergio Pascual 2019-07-11 11:59:53 UTC
(In reply to Miro Hrončok from comment #10)
> # Tests hang on Python 3.8
> %if %{python3_version_nodots} < 38
> ...run the tests...
> %endif

It is not working for me:

%check
# Tests hang on Python 3.8
%if %{python3_version_nodots} < 38
 pushd %{buildroot}/%{python3_sitelib}
   nosetests-%{python3_version} -v emcee
 popd
%endif

and I get this:

error: parse error in expression
error: /builddir/build/SPECS/python-emcee.spec:50: bad %if condition:  %{python3_version_nodots} < 38

Comment 12 Miro Hrončok 2019-07-11 12:06:46 UTC
Oh, right. Use 0%{?python3_version_nodots}

Comment 13 Sergio Pascual 2019-07-11 14:36:45 UTC

Built here:

https://koji.fedoraproject.org/koji/taskinfo?taskID=36185584

Comment 14 Miro Hrončok 2019-07-11 15:55:34 UTC
Thanks. Not sure if this solution is good, but it works for now.