Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1361888 - [FC24] otopi fails on fedora 24 with 'Aborted (core dumped)'
Summary: [FC24] otopi fails on fedora 24 with 'Aborted (core dumped)'
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: otopi
Classification: oVirt
Component: Plugins.packagers
Version: master
Hardware: Unspecified
OS: Unspecified
unspecified
high vote
Target Milestone: ovirt-4.1.0-alpha
: 1.6.0
Assignee: Sandro Bonazzola
QA Contact: Petr Kubica
URL:
Whiteboard:
: 1363805 (view as bug list)
Depends On:
Blocks: oVirt_Fedora24_Support 1358339 1379402 1416854
TreeView+ depends on / blocked
 
Reported: 2016-07-31 14:33 UTC by Yedidyah Bar David
Modified: 2017-05-11 09:23 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-02-01 14:35:48 UTC
oVirt Team: Integration
rule-engine: ovirt-4.1+
ylavi: Triaged+
ylavi: planning_ack+
sbonazzo: devel_ack+
pstehlik: testing_ack+


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
oVirt gerrit 61975 master MERGED minidnf: drop fill_sack on clean 2016-08-05 12:05:39 UTC

Description Yedidyah Bar David 2016-07-31 14:33:33 UTC
Description of problem:

$Subject.

Log has:

2016-07-31 17:30:01 DEBUG otopi.plugins.otopi.packagers.dnfpackager dnfpackager.verbose:75 DNF Downloading Latest oVirt master additional nightly snapshot 14.60/14.60KB
2016-07-31 17:30:01 INFO otopi.plugins.otopi.packagers.dnfpackager dnfpackager.info:79 DNF Downloaded Latest oVirt master additional nightly snapshot
python: /builddir/build/BUILD/hawkey-0.6.3/src/sack.c:568: load_yum_repo: Assertion `hrepo->state_main == _HY_NEW' failed.
The 'plugins' function is not a part of DNF API and will be removed in the upcoming DNF release. Please use only officially supported API functions. DNF API documentation is available at https://dnf.readthedocs.org/en/latest/api.html.
The 'plugins' function is not a part of DNF API and will be removed in the upcoming DNF release. Please use only officially supported API functions. DNF API documentation is available at https://dnf.readthedocs.org/en/latest/api.html.

Version-Release number of selected component (if applicable):

Current master

How reproducible:

Probably always

Steps to Reproduce:
1. Install latest otopi from master snapshot on updated fedora 24
2. otopi
3.

Actual results:

Fails as above

Expected results:

Succeeds

Additional info:

'engine-setup' fails the same way.

'engine-setup --offline' succeeds.

Comment 1 Sandro Bonazzola 2016-08-04 09:22:32 UTC
Python backtrace:
Traceback (most recent call first):
  File "/usr/lib/python2.7/site-packages/dnf/base.py", line 127, in _add_repo_to_sack
    load_updateinfo=True)
  File "/usr/lib/python2.7/site-packages/dnf/base.py", line 239, in fill_sack
    self._add_repo_to_sack(r)
  File "/usr/lib/python2.7/site-packages/otopi/minidnf.py", line 530, in clean
    self._base.fill_sack()
  File "/usr/share/otopi/plugins/otopi/packagers/dnfpackager.py", line 196, in _setup
    self._minidnf.clean(['expire-cache'])
  File "/usr/lib/python2.7/site-packages/otopi/context.py", line 132, in _executeMethod
    method['method']()
  File "/usr/lib/python2.7/site-packages/otopi/context.py", line 702, in runSequence
    self._executeMethod(self._currentStage, methodinfo)
  File "/usr/lib/python2.7/site-packages/otopi/main.py", line 152, in execute
    self.context.runSequence()
  File "/usr/lib/python2.7/site-packages/otopi/__main__.py", line 88, in main
    installer.execute()
  File "/usr/lib/python2.7/site-packages/otopi/__main__.py", line 122, in <module>
    sys.exit(installer.main())

Comment 2 Sandro Bonazzola 2016-08-04 09:23:03 UTC
It's reproducible just runnig otopi without arguments.

Comment 3 Sandro Bonazzola 2016-08-04 09:48:34 UTC
Looks like the call to self._base.fill_sack() in clean method is triggering the issue. Commenting it cause:
[ ERROR ] DNF u'dnf.plugin.dynamic'
[ ERROR ] Failed to execute stage 'Environment setup': u'dnf.plugin.dynamic'

Comment 4 Sandro Bonazzola 2016-08-04 09:51:12 UTC
(In reply to Sandro Bonazzola from comment #3)
> Looks like the call to self._base.fill_sack() in clean method is triggering
> the issue. Commenting it cause:
> [ ERROR ] DNF u'dnf.plugin.dynamic'
> [ ERROR ] Failed to execute stage 'Environment setup': u'dnf.plugin.dynamic'

Ignore the errors, my fault. Just dropping self._base.fill_sack() in the clean method seems to fix the issue. Maybe we're missing some kind of initialization in clean method?

Comment 5 Rafael Martins 2016-08-04 10:59:53 UTC
(In reply to Sandro Bonazzola from comment #4)
> (In reply to Sandro Bonazzola from comment #3)
> > Looks like the call to self._base.fill_sack() in clean method is triggering
> > the issue. Commenting it cause:
> > [ ERROR ] DNF u'dnf.plugin.dynamic'
> > [ ERROR ] Failed to execute stage 'Environment setup': u'dnf.plugin.dynamic'
> 
> Ignore the errors, my fault. Just dropping self._base.fill_sack() in the
> clean method seems to fix the issue. Maybe we're missing some kind of
> initialization in clean method?

Not sure, fill_sack() method is supposed to init/refresh the package sack [1], and it is also called on MiniDNF._createBase(), then it should be safe to call on clean, in theory. Need to investigate more.

[1] http://dnf.readthedocs.io/en/latest/api_base.html#dnf.Base.fill_sack

Comment 6 Yedidyah Bar David 2016-09-05 14:15:17 UTC
*** Bug 1363805 has been marked as a duplicate of this bug. ***

Comment 7 Sandro Bonazzola 2016-12-12 13:55:19 UTC
The fix for this issue should be included in oVirt 4.1.0 beta 1 released on December 1st. If not included please move back to modified.

Comment 8 Petr Kubica 2017-01-31 18:14:05 UTC
Verified in 4.1.1-0.0.master.20170130153121.git43d773b.fc24


Note You need to log in before you can comment on or make changes to this bug.