kurtmckee / feedparser

Parse feeds in Python
https://feedparser.readthedocs.io
Other
1.97k stars 342 forks source link

Debian 10 & 11: PEP479 Problem still exists #198

Closed buhtz closed 5 months ago

buhtz commented 4 years ago

This issue is related to the current Debian 10 (stable) version of feedparser.

The PEP 479 problem is not fixed in there.

It was reported here https://github.com/kurtmckee/feedparser/issues/130

and fixed in upstream repository and prepared for release in version 6.0.0 https://github.com/kurtmckee/feedparser/pull/131

I asked on the Debian python mailinglist to ask what need to be done to bring the debian package back to life. https://alioth-lists.debian.net/pipermail/python-modules-team/2019-December/061104.html

Waiting for feedback and will report here.

buhtz commented 4 years ago

No answer on the debian mailinglist. I opened an official debian bug report.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946788

buhtz commented 4 years ago

Hi Kurt, I had some discussions on Debians IRC channel.

They strongly recommand to do a minor release of feedparser only fixing this bug - not more. Then there is chance to get this version into current stable.

Sideinformation: I inserted (via vim as root) the bugfixing lines into my feedparser installation (debian package 5.2.1-1). It is fixed then and the problem is not reproducable anymore.

kurtmckee commented 4 years ago

Thanks for taking point on this! I'll release a hotfix 5.2.2 to handle this issue for Debian.

On December 15, 2019 3:37:18 PM CST, Codeberg-AsGithubAlternative-buhtz notifications@github.com wrote:

No answer on the debian mailinglist. I opened an official debian bug report.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946788

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kurtmckee/feedparser/issues/198#issuecomment-565849379

kurtmckee commented 4 years ago

Super, I'll branch off tag 5.2.1 and add the fix.

On December 15, 2019 10:49:09 PM CST, Codeberg-AsGithubAlternative-buhtz notifications@github.com wrote:

Hi Kurt, I had some discussions on Debians IRC channel.

They strongly recommand to do a minor release of feedparser only fixing this bug - not more. Then there is chance to get this version into current stable.

Sideinformation: I inserted (via vim as root) the bugfixing lines into my feedparser installation (debian package 5.2.1-1). It is fixed then and the problem is not reproducable anymore.

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kurtmckee/feedparser/issues/198#issuecomment-565903555

buhtz commented 4 years ago

Dear Kurt, I see your worked a lot in the last days. Great!

The Debain community would be happy if you would release the 5.2.2 version so the Debian package can be fixed.

kurtmckee commented 4 years ago

Haven't forgotten, but I'm glad you pinged this ticket again! There was recently a second StopIteration PR for georss.py from...I think ChanceDuress? Would you double-check to see if that's necessary for inclusion as well?

On February 25, 2020 8:36:36 AM UTC, Codeberg-AsGithubAlternative-buhtz notifications@github.com wrote:

Dear Kurt, I see your worked a lot in the last days. Great!

The Debain community would be happy if you would release the 5.2.2 version so the Debian package can be fixed.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/kurtmckee/feedparser/issues/198#issuecomment-590747880

buhtz commented 4 years ago

Sorry, but I do not understand.

kurtmckee commented 4 years ago

Sorry about the confusion. #181 looks like it might be related so I wanted to confirm whether that's helpful to include as well?

On February 25, 2020 2:21:35 PM UTC, Codeberg-AsGithubAlternative-buhtz notifications@github.com wrote:

Sorry, but I do not understand.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/kurtmckee/feedparser/issues/198#issuecomment-590890004

buhtz commented 4 years ago

The solution for #181 looks the same as for #131 .

opk12 commented 3 years ago

Debian 11 (stable) also has the problem (package version 5.2.1-3).

buhtz commented 5 months ago

Debian ticket #946788 is closed as fixed. Not sure how to validate that it is fixed because I am not sure how to reproduce. I asked at #130 about code and used the following code I found in #181.

import feedparser
url='https://mundosauriga.blogspot.com/feeds/posts/default?alt=rss'
feed = feedparser.parse(url) 

Seems to be fixed because I can not reproduce the problem with this versions:

opk12 commented 5 months ago

Not a definitive confirmation either, but I cannot reproduce maubot/rss#24 which apparently was caused by this bug.

kurtmckee commented 5 months ago

Thanks for the update! Should I close this?

buhtz commented 5 months ago

On Debian 11 (AMD64) using Python 3.9.2 using latest feedparser 6.0.11 from PyPi not able to reproduce.

But on Debian 11 (AMD64) using Python 3.9.2 using feedparser 5.2.1 from Debians package repo I am able to reproduce.

Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import feedparser
>>> url='https://mundosauriga.blogspot.com/feeds/posts/default?alt=rss'
>>> feed = feedparser.parse(url) 
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/feedparser.py", line 3767, in _gen_georss_coords
    t = [nxt(), nxt()][::swap and -1 or 1]
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/feedparser.py", line 3958, in parse
    saxparser.parse(source)
  File "/usr/lib/python3/dist-packages/drv_libxml2.py", line 237, in parse
    self._cont_handler.endElementNS( \
  File "/usr/lib/python3/dist-packages/feedparser.py", line 2053, in endElementNS
    self.unknown_endtag(localname)
  File "/usr/lib/python3/dist-packages/feedparser.py", line 701, in unknown_endtag
    method()
  File "/usr/lib/python3/dist-packages/feedparser.py", line 1464, in _end_georss_point
    geometry = _parse_georss_point(self.pop('geometry'))
  File "/usr/lib/python3/dist-packages/feedparser.py", line 3776, in _parse_georss_point
    coords = list(_gen_georss_coords(value, swap, dims))
RuntimeError: generator raised StopIteration
>>> feedparser.version()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'feedparser' has no attribute 'version'
>>> feedparser.__version__
'5.2.1'

So I would say bug still exists in Debian 11 (current oldstable) and was not fixed.

But that is a Debian problem. Close this upstream issue. For Debian 11 there is also a backports repo using feedparser 6.* So it is not a big deal. And the existance of this backports repo might be the reason why the Debian maintainer never backported the fix to the "regular" Debian 11 version.