Opened 21 months ago

Last modified 4 weeks ago

#804 in_merge defect

WebSearch: prevent infinite synonyms lookup

Reported by: jblayloc Owned by:
Priority: major Milestone:
Component: WebSearch Version:
Keywords: DEPLOYED Cc:

Description

The synonym getter in search_unit calls search_unit with the synonyms. This means that if you have a circumstance where getting the synonyms of a synonym transforms a synonym into the original term, you end up doing infinite recursion and blowing the stack.

So I added a flag to search_unit that lets calls to search_unit for synonyms not do synonym lookups.

Attachments (1)

0001-WebSearch-fix-infinite-recursion-in-search_unit.patch (2.5 KB) - added by jblayloc 21 months ago.
The patch that fixes this bug

Download all attachments as: .zip

Change History (3)

Changed 21 months ago by jblayloc

The patch that fixes this bug

comment:1 Changed 21 months ago by jblayloc

  • Status changed from new to in_merge
  • Summary changed from 500 Internal Server Errors on Journal Lookup to [PATCH] 500 Internal Server Errors on Journal Lookup

comment:2 Changed 4 weeks ago by jcaffaro

  • Summary changed from [PATCH] 500 Internal Server Errors on Journal Lookup to WebSearch: prevent infinite synonyms lookup

An issue with the provided solution is that synonym expansion will stop after one lookup. For eg. with the following knowledge base:

A->B
B->C

a search for A will search for either A or B but not C.

A branch that solves the above limitation is available in jerome/804-master-websearch-fix-synonyms-infinite-recursion

Note: See TracTickets for help on using tickets.