Bug 1606807

Summary: python-peewee: FTBFS in Fedora rawhide
Product: [Fedora] Fedora Reporter: Mohan Boddu <mboddu>
Component: python-peeweeAssignee: Viliam Križan <vkrizan>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cstratak, vkrizan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-peewee-2.10.2-7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-30 15:08:08 UTC Type: ---
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: 1602938    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Mohan Boddu 2018-07-20 21:44:21 UTC
python-peewee failed to build from source in Fedora rawhide

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


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Please fix python-peewee at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
python-peewee will be orphaned. Before branching of Fedora 30,
python-peewee will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Mohan Boddu 2018-07-20 21:44:29 UTC
Created attachment 1469299 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Mohan Boddu 2018-07-20 21:44:33 UTC
Created attachment 1469300 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Mohan Boddu 2018-07-20 21:44:36 UTC
Created attachment 1469301 [details]
state.log

Comment 4 Viliam Križan 2018-07-25 08:19:35 UTC
This fails on PPC arch only for multithreading writes test.  Charalampos do you happen to know how to fix this, or do you think that we should skip the test for PPC?

Thanks


FAIL: test_multiple_writers (playhouse.tests.test_database.TestMultiThreadedQueries)

Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 804, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 757, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/builddir/build/BUILD/peewee-2.10.2/playhouse/tests/test_database.py", line 50, in create_user_thread
    User.create(username='u%d' % i)
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 4980, in create
    inst.save(force_insert=True)
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 5173, in save
    pk_from_cursor = self.insert(**field_dict).execute()
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3587, in execute
    cursor = self._execute()
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 2942, in _execute
    return self.database.execute_sql(sql, params, self.require_commit)
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3840, in execute_sql
    self.commit()
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3659, in __exit__
    reraise(new_type, new_type(*exc_args), traceback)
  File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3833, in execute_sql
    cursor.execute(sql, params or ())
OperationalError: database is locked

Comment 5 Charalampos Stratakis 2018-07-25 10:02:42 UTC
(In reply to Viliam Križan from comment #4)
> This fails on PPC arch only for multithreading writes test.  Charalampos do
> you happen to know how to fix this, or do you think that we should skip the
> test for PPC?
> 
> Thanks
> 
> 
> FAIL: test_multiple_writers
> (playhouse.tests.test_database.TestMultiThreadedQueries)
> 
> Traceback (most recent call last):
>   File "/usr/lib64/python2.7/threading.py", line 804, in __bootstrap_inner
>     self.run()
>   File "/usr/lib64/python2.7/threading.py", line 757, in run
>     self.__target(*self.__args, **self.__kwargs)
>   File
> "/builddir/build/BUILD/peewee-2.10.2/playhouse/tests/test_database.py", line
> 50, in create_user_thread
>     User.create(username='u%d' % i)
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 4980, in create
>     inst.save(force_insert=True)
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 5173, in save
>     pk_from_cursor = self.insert(**field_dict).execute()
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3587, in execute
>     cursor = self._execute()
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 2942, in
> _execute
>     return self.database.execute_sql(sql, params, self.require_commit)
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3840, in
> execute_sql
>     self.commit()
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3659, in
> __exit__
>     reraise(new_type, new_type(*exc_args), traceback)
>   File "/builddir/build/BUILD/peewee-2.10.2/peewee.py", line 3833, in
> execute_sql
>     cursor.execute(sql, params or ())
> OperationalError: database is locked

I recall that the tests were failing randomly on ppc, so some sort of race condition might be at play here. Not sure if that's still the case. Do the tests fail deterministically now?

Comment 6 Viliam Križan 2018-07-25 10:27:31 UTC
No they still fail randomly.  I was just wondering how to fix or suppress them, so such rebuilds will not fail too.

Comment 7 Charalampos Stratakis 2018-07-25 14:49:10 UTC
(In reply to Viliam Križan from comment #6)
> No they still fail randomly.  I was just wondering how to fix or suppress
> them, so such rebuilds will not fail too.

In that case ideally the race conditions will need to be fixed in cooperation with upstream. Till then though the %check section could be wrapped around an %ifarch conditional.













5

Comment 8 Viliam Križan 2018-07-30 15:08:08 UTC
Added %ifnarch for those two PPC64 architectures.