Skip to main content.
home | support | download

Back to List Archive

Merging seg fault

From: Daniel E. Weber <d-weber(at)>
Date: Mon Aug 26 2002 - 21:39:41 GMT
Greetings. I'm getting a segmentation fault on the merging phase while 
running the Aug 26th development release. The command is run as such:
     swish-e -v 0 -M avid.index /usr/tmp/avid.index tmp.index
(This same error occurs with the Aug 12/dev-25 release.)

The config files that created avid.index and /usr/tmp/avid.index are 
identical except for the IndexFile directive and the IndexDir directive. 
The index files produced are very small (14653 words and 25359 words, and 
1206 files and 2491 files, respectively).

While running swish-e says that it is "Writing index entries ..." and makes 
it up to the "Writing word data ..." stage before giving a segmentation 
fault. A partial .temp file seems to be produced. Running gdb on the 
binary, I get the following backtrace:

>#0  0x08061ea5 in compress3 (num=-3688,
>     buffer=0x81b0001 <Address 0x81b0001 out of bounds>) at compress.c:91
>#1  0x080620ad in compress_location_values (buf=0xbfffe860, flagp=0xbfffe868,
>     filenum=-3688, frequency=7, posdata=0xbfffe870) at compress.c:258
>#2  0x0804e6b5 in adjustWordPositions (worddata=0x8159908 "\212?\001",
>     sz_worddata=0xbffff8e8, n_files=3697, ilp=0x0) at index.c:1582
>#3  0x0806375f in build_worddata (sw=0x810dc48, ep=0x404a40fc,
>     indexf=0x8124b88) at db.c:327
>#4  0x0804f03b in write_index (sw=0x810dc48, indexf=0x8124b88) at index.c:1936
>#5  0x0804bbb2 in write_index_file (sw=0x810dc48, process_stopwords=0,
>     elapsedStart=1030395977.74409, cpuStart=0.02, merge=1, is_update=0)
>     at swish.c:1383
>#6  0x0804b6a6 in cmd_merge (sw_input=0x80e2a58, params=0x80fab00)
>     at swish.c:1192
>#7  0x08049c2e in main (argc=5, argv=0xbffffa54) at swish.c:174
>#8  0x42017589 in __libc_start_main () from /lib/i686/

I haven't debugged any further, figuring I'd better check here first to see 
if this is a known problem with a known solution.

Also, it appears that the -v option has no effect when used with -M. It 
prints the same quantity and quality of information no matter what, even 
when "-v 0 " is specified.

Thanks all!

ps. This is on a 4GB, dual-processor redhat 7.3 system, compiling under gcc 
2.96 with 46G of disc available.


]:o_ | Daniel E. Weber ( - Imaging Technology Group   | _o:{
  |O =| 4311 Beckman Institute, 405 N Mathews, Urbana, IL, 61801 MC-251 |= O|
  |_o=| 217-244-3191 (off) * 217-244-6219 (fax) * 217-244-3074 (lab)    |=o_|
   \  |               SUBMIT TO THE POWER OF KETCHUP                    |  /
Received on Mon Aug 26 21:43:14 2002