fedora-python / pyp2rpm

Tool to convert a package from PyPI to RPM SPECFILE or to generate SRPM.
MIT License
125 stars 39 forks source link

unable to process pafy package - stack overflow due likely infinitive recursion #81

Closed glensc closed 7 years ago

glensc commented 7 years ago

pyp2rpm-3.1.3:

➔ pyp2rpm pafy -v 0.5.2 
Fatal Python error: Cannot recover from stack overflow.

Current thread 0x00007f67287f1700 (most recent call first):
  File "/usr/lib64/python3.5/logging/__init__.py", line 1384 in makeRecord
  File "/usr/lib64/python3.5/logging/__init__.py", line 1414 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 907 in handleError
  File "/usr/lib64/python3.5/logging/__init__.py", line 986 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1415 in _log
  File "/usr/lib64/python3.5/logging/__init__.py", line 1291 in warning
  File "/usr/share/python3.5/site-packages/pyp2rpm/logger.py", line 22 in write
  File "/usr/lib64/python3.5/logging/__init__.py", line 982 in emit
  File "/usr/lib64/python3.5/logging/__init__.py", line 855 in handle
  File "/usr/lib64/python3.5/logging/__init__.py", line 1487 in callHandlers
  File "/usr/lib64/python3.5/logging/__init__.py", line 1425 in handle
  ...
Aborted
➔ 
hroncok commented 7 years ago

Maybe relevant to https://github.com/fedora-python/pyp2rpm/issues/78

mcyprian commented 7 years ago

Stack overflow will not occur after fix 73ed3de890126a, but all debug messages are in this case printed to stderr instead of log file. It might be some log handler related issue.

glensc commented 7 years ago

ok, have to wait for #77 to be merged then

mcyprian commented 7 years ago

Variable from main pafy package is imported into pafy's setup.py script. Logging configuration that is performed in module pafy remains in pyp2rpm after runpy module execution. This is the reason of debug messages being printed to stderr. pyp2rpm shouldn't be affected by settings/variables in external setup.py scripts of target packages.

glensc commented 7 years ago

@mcyprian do not use "branch" when referring to sourcecode in comments. it may get out of sync when the file is modified. use some "tag" or "commit" instead.

mcyprian commented 7 years ago

i didn't realize that, thanks @glensc. corrected.