Git Product home page Git Product logo

Comments (23)

raamdev avatar raamdev commented on June 18, 2024 2

--with-gnutls solved the issue of Elfeed freezing Emacs while refreshing feeds for me too.

I'm on OS X and use Homebrew, so I just had to do the following:

$ brew update
$ brew unlink emacs
$ brew uninstall emacs
$ brew install --with-cocoa --srgb --with-gnutls emacs
$ brew linkapps emacs

from elfeed.

skeeto avatar skeeto commented on June 18, 2024 1

Closing since this should be fixed by the switch to the curl backend: Elfeed, cURL, and You

from elfeed.

skeeto avatar skeeto commented on June 18, 2024

You're seeing a configuration bug on their end. It's apparent in the error text you pasted, and here it is again with curl.

$ curl -v -o test http://www.gaslampgames.com/feed/
* Hostname was NOT found in DNS cache
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
*   Trying 74.207.244.146...
* Connected to www.gaslampgames.com (74.207.244.146) port 80 (#0)
> GET /feed/ HTTP/1.1
> User-Agent: curl/7.37.0
> Host: www.gaslampgames.com
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 13 Jul 2014 20:01:52 GMT
* Server Apache/2.2.22 (Debian) is not blacklisted
< Server: Apache/2.2.22 (Debian)
< Location: https://gaslampgames.comfeed/
< Vary: Accept-Encoding
< Content-Length: 323
< Content-Type: text/html; charset=iso-8859-1
<
{ [data not shown]

Under certain circumstances, which apparently doesn't include visiting from Firefox, they're sending a bad Location header in their 301 response. Emacs' url-retrieve is following it and getting stuck.

from elfeed.

brabalan avatar brabalan commented on June 18, 2024

Thanks a lot for the curl options to show the issue, I've contacted them with this information.

It's too bad url-retrieve is able to hang emacs that way, especially after raising the exception.

from elfeed.

runswithd6s avatar runswithd6s commented on June 18, 2024

Is there a way to drop this into an async process? I am also getting blocking w/in Emacs when bad feeds are being parsed.

from elfeed.

Fuco1 avatar Fuco1 commented on June 18, 2024

Elfeed started blocking my emacs too since I updated to 24.5... now I have to restart almost daily. I run exact same setup at work without elfeed and it has been running flawlessly for 2 months now. I can't tell if the issue here is the same and I don't know how to debug it as it just completely locks emacs.

from elfeed.

seanleblanc avatar seanleblanc commented on June 18, 2024

I am having the same issue - it locks Emacs up, and I have to kill and restart.

from elfeed.

seanleblanc avatar seanleblanc commented on June 18, 2024

FWIW, it seems the url in question was BoingBoing's feed:
http://boingboing.net/feed

Once I took that out of my list, it seems better?

from elfeed.

skeeto avatar skeeto commented on June 18, 2024

@seanleblanc Is it also Emacs 24.5 for you? I use 24.4 day-to-day
(Debian) and haven't seen this issue. Since you gave me the BoingBoing
feed as a specific example, I built Emacs 24.5.2 and gave it a whirl
with no other configuration, but I'm still unable to reproduce.

$ emacs --version
GNU Emacs 24.5.2
$ mkdir /tmp/test
$ HOME=/tmp/test emacs -L . -l elfeed.el \
      --eval '(elfeed-add-feed "http://boingboing.net/feed")' \
      -f elfeed

from elfeed.

seanleblanc avatar seanleblanc commented on June 18, 2024

M-x emacs-version:

GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) of 2015-04-10 on builder10-9.porkrind.org

...but now I cannot replicate it either? Happened fairly regularly before: I would enter elfeed, and hit G to refresh. If it didn't happen on first one, it happened on the second. But now it doesn't happen, if with many refreshes? Not sure what might have changed between when I posted that and now.

from elfeed.

kjw avatar kjw commented on June 18, 2024

Same issue here. I just started using elfeed (love it!) on emacs 24.5.1 / OSX and this is the one frustration I have. Every feed refresh hangs emacs. Not sure exactly which feed(s) in my feed list are causing the problem but I see TLS failed messages for several of them.

from elfeed.

heikkil avatar heikkil commented on June 18, 2024

An other me-too. Running Emacs GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) of 2015-04-10 on builder10-9.porkrind.org

It has been getting worse but I have not been able to get to the bottom of it its cause. A few observations:

  • I am getting a lot of timeouts
  • elfeed hangs not only on update but also n retrieving entry content, especially images
  • I am having most problems when network connection comes from cellular data
  • I am also having problems with paradox. It is almost impossible to get an update. package-list-packages works always.
  • Crtl-G sometimes gets me out of hanged process. Best way is to run pkill -SIGUSR2 -i Emacs from command line.

Clearly, the problem is not in elfeed but deeper in the way emacs handles http connections (somewhere in url-*.el files).

I hope this helps to point someone to find a fix.

from elfeed.

kjw avatar kjw commented on June 18, 2024

Solved my problem by compiling emacs with --with-gnutls.

from elfeed.

heikkil avatar heikkil commented on June 18, 2024

--with-gnutls solved it!. I was using emacsformacosx, now compiled my own emacs using homebrew. Thanks!

from elfeed.

Fuco1 avatar Fuco1 commented on June 18, 2024

Hmm, I fail to see the relation of tls to the feeds (most of mine don't use https), but I'll try this as well, nothing to lose :P

from elfeed.

Andre0991 avatar Andre0991 commented on June 18, 2024

--with-gnutls did the trick for me. Thanks, kjw.

from elfeed.

Fuco1 avatar Fuco1 commented on June 18, 2024

When I run ./configure --help on emacs 24.5 I don't have that option. Am I missing some library?

I only have

--without-gnutls        don't use -lgnutls for SSL/TLS support

from elfeed.

skeeto avatar skeeto commented on June 18, 2024

You should see "--without-gnutls" listed in the --help, since
"--with-gnutls" is on by default. Unfortunately giving "--with-gnutls"
to ./configure will not cause it to fail, or even warn you that there's
a problem, if it can't find libgnutls (IMHO a bug), so you need to
verify it in the summary output at the end ("Does Emacs use -lgnutls?").

from elfeed.

Fuco1 avatar Fuco1 commented on June 18, 2024

I looked at the config.log from my original compilation and it says "yes", just as on the new run where I added the --with-gnutls (useless) switch.

When I check inside emacs with (gnutls-available-p) it gives me t. So I think that this might not be related to the issue.

I am on Linux, it seems like the people above (at least some) use macos, maybe the issue is different there?

from elfeed.

Andre0991 avatar Andre0991 commented on June 18, 2024

I am on Linux, it seems like the people above (at least some) use macos, maybe the issue is different there?

I think so. I'm using the emacs-mac build.

Also, I don't think this has to do with https feeds. Elfeed used to hang up with http feeds here, but for some reason installing gnutls did the trick - perhaps it handles http too, I don't know.

from elfeed.

Fuco1 avatar Fuco1 commented on June 18, 2024

Would it be possible to use async to run the update in the background? We can have a timer in the main emacs and kill the subprocess if it hangs.

@skeeto do you think it would be possible? I would give it some time if the architecture is reasonably permitting to such a change---I don't know the internals that well.

from elfeed.

skeeto avatar skeeto commented on June 18, 2024

This is something I've considered but haven't gotten around to trying.
Fetching and parsing in a separate process and sending back the complete
s-expression result would solve a lot of issues, making Elfeed more
pleasant to use. It would cover up most of Emacs networking and XML
parsing woes, since the subprocess could be killed if it takes too long
regardless of how it locked up. It would also work around the sporadic
segfaults related to opening parallel network connections.

That's why it's on the roadmap in the README.

from elfeed.

yuvallanger avatar yuvallanger commented on June 18, 2024

I want to add that the hanging problem is also associated with CPU usage reaching 100%.

from elfeed.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.