Okay previous post related to me trying to fix this problem with an
upgrade to ferret 0.10.0 but acts as ferret is obviously not compatible
with this new version of ferret.
My app is about to go into production and Ferret acting wierdly is a
major problem. It seems to crash randomly. Below is a list of the
Lighttpd error logs and a selection of code that sometimes produces
errors and sometimes doesn’t even with the same input.
Would dearly love for ferret to play nice and consistently.
On the development log of rails i also get stuff like
*** glibc detected *** corrupted double-linked list: 0x08aa20e0 ***
scary eh?
Is this normal? Do people manage to get ferret working nicely without
any scary errors and crashes? What setups do they use? What am i doing
wrong? I can supply and other logs and code etc. I’m just not sure what
else is of use? Is ferret 0.10. more stable? When will acts_as_ferret be
compatible? Should i be running a different web server or compilling
ferret differently?
Thank you in advance for any and all advice.
Regards
Caspar
I’m using
ruby 1.8.4
rails 1.1.6
ferret 0.95.0
acts_as_ferret
ubuntu dapper
def VoObject.browse_results(section,sale_category,page)
bq = Ferret::Search::BooleanQuery.new
search_input = '*'
sort_fields = []
sort_fields << Ferret::Search::SortField.new("ferret_date_registered",
:reverse => :true)
if section
if !section.empty?
qp = Ferret::QueryParser.new("section")
query = qp.parse("\"#{section}\"")
bq.add_query(query, Ferret::Search::BooleanClause::Occur::MUST)
filter_on =true
end
end
if sale_category
if !sale_category.empty?
qp = Ferret::QueryParser.new("sale_category")
query = qp.parse("\"#{sale_category}\"")
bq.add_query(query, Ferret::Search::BooleanClause::Occur::MUST)
filter_on =true
end
end
if page == 1
page = 0
else
page = (page-1)*20
end
if filter_on
filter = Ferret::Search::QueryFilter.new(bq)
results2 = VoObject.find_by_contents(search_input,:filter => filter,
:sort => sort_fields,:num_docs => 20000)
results = VoObject.find_by_contents(search_input,:filter => filter,
:sort =>sort_fields,:first_doc=>page,:num_docs => 20)
else
results2 = VoObject.find_by_contents(search_input,:sort
=>sort_fields,:num_docs => 20000)
results = VoObject.find_by_contents(search_input,:sort =>
sort_fields,:first_doc=>page,:num_docs => 20)
end
[results,results2]
end
06-08-23 01:39:22: (mod_fastcgi.c.2536) FastCGI-stderr:
/home/ghost/user/V_O_2/public/…/config/…/app/views/search/_browse_results.rhtml:70:
warning: parenthesize argument(s) for future version
/home/ghost/user/V_O_2/public/…/config/…/app/views/search/_browse_results.rhtml:118:
warning: parenthesize argument(s) for future version
2006-08-23 01:39:22: (mod_fastcgi.c.2536) FastCGI-stderr:
2006-08-23 01:40:26: (mod_fastcgi.c.2430) unexpected end-of-file
(perhaps the fastcgi process died): pid: 25456 socket:
unix:/home/ghost/user/V_O_2/tmp/sockets/fcgi.socket-0
2006-08-23 01:40:26: (mod_fastcgi.c.3230) response already sent out, but
backend returned error on socket:
unix:/home/ghost/user/V_O_2/tmp/sockets/fcgi.socket-0 for /dispatch.fcgi
, terminating connection
2006-08-23 01:40:38: (mod_fastcgi.c.1739) connect failed: Connection
refused on unix:/home/ghost/user/V_O_2/tmp/sockets/fcgi.socket-0
2006-08-23 01:40:38: (mod_fastcgi.c.2851) backend died, we disable it
for a 5 seconds and send the request to another backend instead:
reconnects: 0 load: 1
2006-08-23 01:40:38: (mod_fastcgi.c.2624) child signaled: 6
2006-08-23 01:40:40: (mod_fastcgi.c.2536) FastCGI-stderr:
/home/ghost/user/V_O_2/public/…/config/…/app/views/search/_browse_results.rhtml:70:
warning: parenthesize argument(s) for future version
/home/ghost/user/V_O_2/public/…/config/…/app/views/search/_browse_results.rhtml:118:
warning: parenthesize argument(s) for future version
2006-08-23 01:40:40: (mod_fastcgi.c.2536) FastCGI-stderr: