Crashes and tests failures again with 0.10.4

In the beginning 0.10.4 looked promising, but now that my index has
grown to > 100 MB I’m getting segfaults on some searches again:

Post.find_by_contents(‘rubyforum’)

ok

Post.find_by_contents(‘ruby-forum’)
/usr/local/lib/ruby/gems/1.8/gems/ferret-0.10.4/lib/ferret/index.rb:351:
[BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [i686-linux]

The tests run fine on Linux, on OS X testall crashes with a segfault on
test_index and several of the Ruby tests fail:

  1. Failure:
    test_sorts(SearchAndSortTest)
    [./test/unit/…/unit/analysis/…/…/unit/index/…/…/unit/query_parser/…/…/unit/search/tc_search_and_sort.rb:40:in
    do_test_top_docs' ./test/unit/../unit/analysis/../../unit/index/../../unit/query_parser/../../unit/search/tc_search_and_sort.rb:39:indo_test_top_docs’
    ./test/unit/…/unit/analysis/…/…/unit/index/…/…/unit/query_parser/…/…/unit/search/tc_search_and_sort.rb:113:in
    `test_sorts’]:
    <8> expected but was
    <1>.

  2. Failure:
    test_boolean_query(SearcherTest)
    [./test/unit/…/unit/analysis/…/…/unit/index/…/…/unit/query_parser/…/…/unit/search/tc_index_searcher.rb:39:in
    check_hits' ./test/unit/../unit/analysis/../../unit/index/../../unit/query_parser/../../unit/search/tm_searcher.rb:90:intest_boolean_query’]:
    <14> expected but was
    <2>.

  3. Failure:
    test_boolean_query(SimpleMultiSearcherTest)
    [./test/unit/…/unit/analysis/…/…/unit/index/…/…/unit/query_parser/…/…/unit/search/tc_index_searcher.rb:39:in
    check_hits' ./test/unit/../unit/analysis/../../unit/index/../../unit/query_parser/../../unit/search/tm_searcher.rb:90:intest_boolean_query’]:
    <14> expected but was
    <2>.

149 tests, 11066 assertions, 3 failures, 0 errors

On 9/15/06, Andreas S. [email protected] wrote:

The tests run fine on Linux, on OS X testall crashes with a segfault on
<8> expected but was

  1. Failure:
    test_boolean_query(SimpleMultiSearcherTest)
    [./test/unit/…/unit/analysis/…/…/unit/index/…/…/unit/query_parser/…/…/unit/search/tc_index_searcher.rb:39:in
    check_hits' ./test/unit/../unit/analysis/../../unit/index/../../unit/query_parser/../../unit/search/tm_searcher.rb:90:in test_boolean_query’]:
    <14> expected but was
    <2>.

149 tests, 11066 assertions, 3 failures, 0 errors

Hi Andreas,

Sorry for the slow reply. Do you think you would be able to run this
through gdb?

$ gdb ruby
(gdb) run yourscript.rb
(gdb) backtrace

Cheers,
Dave

One other question for you. What version of gcc do you have?

First a testall run on OS X (gcc version 4.0.0 20041026 (Apple Computer,
Inc. build 4061)):
http://andreas-s.net/gdb-testall-segfault-osx.txt

My crashed search on Linux (gcc version 3.3.5 (Debian 1:3.3.5-13)):
http://andreas-s.net/gdb-mysearch-segfault.txt