Hpricot – [BUG] Bus Error – Solution / Workaround
Problem:
You’re using Hpricot to parse web content, but it’s throwing an error like this that completely kills the process (probably crashing your app, or your background task, as the case may be):
/usr/local/lib/ruby/gems/1.8/gems/hpricot-0.8.2/lib/hpricot/parse.rb:33: [BUG] Bus Error
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin8.11.1]
Abort trap
This resource suggests that the problem is that the content retrieved is precisely 16384 bytes long, however, that was not the problem in my case.
My problem is replicated in this gist. Examination of the URL it was trying to retrieve using curl with -i indicated that this was returning a 302 redirect:
HTTP/1.1 302 Found
Date: Thu, 12 Nov 2009 14:50:53 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
X-UA-Compatible: IE=EmulateIE7
Location: /
Set-Cookie: ASP.NET_SessionId=p2s0dljru11tiwer3e01jfq2; path=/; HttpOnly
Set-Cookie: Forum2backURL=/tm.aspx?m=1859288#1859354; path=/
Set-Cookie: Forum2preURL=; path=/
Cache-Control: private
Expires: Wed, 11 Nov 2009 13:50:53 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 120
I am not sure why Ruby’s OpenURI open method was not capable of parsing / following this redirect. However, I determined that the file returned by open() had a size of zero bytes, and this was causing Hpricot to blow up.
My workaround is just to check the size of the file returned by open() and only try to parse it if it is greater than 0:
f = open(file_or_uri)
if f.size > 0
doc = Hpricot(f)
else
raise "Could not retrieve content due to zero-sized file, possibly due to site redirect."
end
August 10th, 2011 at 5:03 pm
Hey – thanks for the post. Been googling this very error for over an hour now. There seems no way to adequately rescue the Bus Error Hpricot is throwing.
Cheers!
Richard Luck
HeyPublisher.com
December 6th, 2011 at 6:35 am
Super-Duper site! I am loving it!! Will come back again. I am bookmarking your feeds also.
March 11th, 2012 at 8:33 am
You actually make it seem so easy along with your presentation but I find this matter to be actually something which I feel I’d never understand. It kind of feels too complicated and very broad for me. I’m having a look ahead to your next put up, I will attempt to get the hang of it!
March 12th, 2012 at 10:39 am
Outstandingly illuminating thanks, It is my opinion your current subscribers might just want a good deal more blog posts similar to this keep up the excellent content.
October 28th, 2012 at 12:25 am
Like EarthTechling, glad to check out them on below. Nino and Patricia know their things!
October 31st, 2012 at 12:58 am
Thanks for all of your labor on this website. My mom really loves working on research and it’s obvious why. All of us learn all regarding the compelling ways you convey vital thoughts through the website and as well strongly encourage contribution from other ones about this matter while our own child is being taught a lot. Take pleasure in the remaining portion of the new year. You are performing a wonderful job.
October 31st, 2012 at 10:44 pm
Fantastic goods from you, man. I have understand your stuff previous to and you’re just too wonderful. I actually like what you have acquired here, really like what you are stating and the way in which you say it. You make it enjoyable and you still take care of to keep it wise. I cant wait to read far more from you. This is actually a terrific website.
November 1st, 2012 at 7:12 pm
I appreciate you sharing this blog.Really looking forward to read more. Want more.
November 9th, 2012 at 4:08 pm
There could be something incorrect with your links. You should have somebody check out it.
November 17th, 2012 at 3:56 am
The very next time I read a blog, Hopefully it doesn’t disappoint me as much as this particular one. After all, Yes, it was my choice to read through, but I truly thought you would probably have something useful to say. All I hear is a bunch of crying about something that you can fix if you weren’t too busy looking for attention.
December 5th, 2012 at 11:17 pm
You are my aspiration, I have few blogs and occasionally run out from brand :). “The soul that is within me no man can degrade.” by Frederick Douglas.
January 3rd, 2013 at 12:31 pm
I like this site very much so much great info . “Our national flower is the concrete cloverleaf.” by Lewis Mumford.
January 5th, 2013 at 5:16 am
Some really fantastic articles on this site, appreciate it for contribution. “Be absolutely determined to enjoy what you do.” by Sarah Knowles Bolton.
March 2nd, 2013 at 8:59 pm
Note: the sources origin of this fund is from my father coffee and cocoa merchant industry and I’ve the deposit documents which my late father issued to me before his death which positive the fund is 100% threat cost-free.
March 8th, 2013 at 2:33 am
I blog often and I really appreciate your information. The article has truly peaked my interest. I’m going to take a note of your site and keep checking for new details about once a week. I opted in for your Feed as well.
April 16th, 2013 at 5:17 pm
I am not assured where you’re getting your information, on the contrary vast matter. I wants to spend a number of epoch wisdom much additional or understanding added. Thanks for abundant in sequence I was looking used for this information for my mission.
May 7th, 2013 at 5:04 am
Have a look at this web-site at the moment:. Will not wait until the final minute to have your accounts funded, we are offering a Free entry to our 2013 $150k March Madness Bracket Contest for every deposit that comes in before Superbowl Sunday. Log into your account and enter the cashier to fund your account now! Should you forgot your password get in touch with us at February is Romantic Escape Month – Celebrate with 25% Financial savings!
May 15th, 2013 at 11:41 am
Always joyful to recite amazing articles.. Will be real in exchange representing added in support of sure! Thank you for sharing