[sword-devel] Infinite loop bug in BosworthToller
DM Smith
dmsmith at crosswire.org
Thu Jan 14 10:26:54 MST 2016
It was reported yesterday by Karl, that BosworthToller has an infinite loop bug. And that mod2imp hits this bug.
Here is where mod2imp starts to loop:
$$$-ǼWED
<entryFree n="-ǽwed"><p><form><orth>-ǽwed</orth></form>. v. ge-ǽ.</p></entryFree>
$$$-ǼWIRDLIAN
<entryFree n="-ǽwirdlian"><p><form><orth>-ǽwirdlian</orth></form>. v. ge-ǽ</p></entryFree>
$$$-ǼÞE
<entryFree n="-ǽþe"><p><form><orth>-ǽþe</orth></form>. v. cyning-ǽ.</p></entryFree>
$$$1
<entryFree n="-ǽþe"><p><form><orth>-ǽþe</orth></form>. v. cyning-ǽ.</p></entryFree>
$$$1
<entryFree n="-ǽþe"><p><form><orth>-ǽþe</orth></form>. v. cyning-ǽ.</p></entryFree>
This last entry is stuck in a loop.
From JSword, I’ve dumped the module just fine. Here is the section that is problematic:
Legend:
first column: index of the entry in the module
Second column: offset
Third column: size in bytes
Fourth column: the key
Fifth column: block number
Sixth column: block offset
(didn’t include columns for the index and offset in the uncompressed block.)
Last column: the first part of the entry, manually truncated for readability.
860 -ǼWED <entryFree n="-ǽwed"><p><form><orth>-ǽwed</orth></form>. ….
861 -ǼWIRDLIAN <entryFree n="-ǽwirdlian"><p><form><orth>-ǽwirdlian</orth></form>. ….
862 -ǼÞE <entryFree n="-ǽþe"><p><form><orth>-ǽþe</orth></form>. ….
863 1 <entryFree n="1"><p><form><orth>1</orth></form>. ….
864 3 <entryFree n="3"><p><form><orth>3</orth></form>. ….
865 A <entryFree n="a"><p><form><orth>a</orth></form>; ….
866 A <entryFree n="A"><p><form><orth>A</orth></form>. ….
867 A-BACAN <entryFree n="a-bacan"><p><form><orth>a-bacan</orth></form>, ….
868 A-BANNAN <entryFree n="a-bannan"><p><form><orth>a-bannan</orth></form>; ….
870 A-BEALH <entryFree n="a-bealh"><p><form><orth>a-bealh</orth></form> ….
Note: there are duplicate keys. This might be merely “a” problem, pun intended.
Just a wild guess, 1 is padded as if it were a Strong’s Number to become 00001 and that is used for a lookup. The standard behavior on lookup is to return the nearest match.
Padding to Strong’s Numbers should only happen if the module has Feature=GreekDef or Feature=HebrewDef. I don’t think it cares and pads the number anyway.
If I add StrongsPadding=false to the conf, the module works.
DM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20160114/67c2df39/attachment.html>
More information about the sword-devel
mailing list