Bug 1033491 - cache: RuntimeError: maximum recursion depth exceeded while calling a Python object
Summary: cache: RuntimeError: maximum recursion depth exceeded while calling a Python ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-nitrate
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Šplíchal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-22 08:44 UTC by Petr Sklenar
Modified: 2016-06-01 01:36 UTC (History)
5 users (show)

Fixed In Version: python-nitrate-1.0-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-02-10 12:30:58 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Petr Sklenar 2013-11-22 08:44:51 UTC
Description of problem:
I used python-nitrate with cache support
and the first run works pretty long and ends with some of my issue in the script. 
Then I rerun and I wasn't happy again.

Version-Release number of selected component (if applicable):
python-nitrate-0.10-0.el7.noarch

How reproducible:
always

Steps to Reproduce:
1. run my script


Actual results:
thousands of line:
    self.name, self.product.name))
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 330, in getter
    self._fetch()
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 2159, in _fetch
    self.name, self.product.name))
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 330, in getter
    self._fetch()
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 2159, in _fetch
    self.name, self.product.name))
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 330, in getter
    self._fetch()
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 2134, in _fetch
    Nitrate._fetch(self)
  File "/usr/lib/python2.7/site-packages/nitrate/api.py", line 752, in _fetch
    self._fetched = datetime.datetime.now()
RuntimeError: maximum recursion depth exceeded while calling a Python object

!!! when I run it on rhel6 with normal python-nitrate-0.9-0.el6.noarch it seems to be OK !!!

Expected results:
happy user

Additional info:

[cache]
level = 3
file = /home/psklenar/.cache/nitrate

ls -lah /home/psklenar/.cache/nitrate
-rw-rw-r--. 1 psklenar psklenar 38K Nov 22 09:26 /home/psklenar/.cache/nitrate

Comment 2 Petr Sklenar 2013-12-17 08:32:25 UTC
ping here?
for.ex. is there any workaround to be able to use cache?

Comment 3 Petr Šplíchal 2014-03-07 22:45:34 UTC
Thanks for the bug Petr and sorry for the long delay. I belive one
of the causes for the recursion problems might have been wrong
implementation of the default version field in the Product object. 

    https://github.com/psss/python-nitrate/commit/3a12971

I've prepared a new rpm for testing which already contains this
patch and could possibly fix your use case. Note that instead of
testplan.product.version you should now be using testplan.version
directly.

    http://psss.fedorapeople.org/python-nitrate/testing/download/

Please, let me know if you see any improvement. There are still about
three features to be implemeted to finalize the caching support so
please do not consider this to be the final package. But we're
getting closer ;-)

Comment 4 Jaroslav Reznik 2015-03-03 17:10:44 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22


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