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
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: 2019-04-28 13:41 UTC (History)
6 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
Embargoed:
rule-engine: ovirt-4.1+
ylavi: Triaged+
ylavi: planning_ack+
sbonazzo: devel_ack+
pstehlik: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 61975 0 master MERGED minidnf: drop fill_sack on clean 2020-12-17 14:52:29 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.