[sword-devel] Solved for me - was : osis2mod bug
dmsmith at crosswire.org
Wed Jan 27 11:04:49 MST 2010
On 01/27/2010 12:54 PM, Peter von Kaehne wrote:
>> I have a module which appears to segfault at every single versification
>> I throw at it. While it might well require its own versififcation
>> eventually I am at the moment not even able to test it.
> I have identified (and solved) the problem insofar as my module is concerned. The reason was a spurious quotation tag with a wrong type of ID inside my text, caused by usfm2osis.pl, transforming an equally spurious ^ in the original text.
> The way I solved my problem was as follows:
> 1) I did not transform my whole module osis file in one go, but created an osis file for every single book.
> 2) I used osis2mod in augment mode (whereby I highlighted another bug - but coming to that later) and added each osisfile until the crash stopped me.
> I then used the most explicit debug setting:
> osis2mod myprojectdir myosisfile.xml -a -d 1023
> With this I managed to get close to the crash point and then looked simply through my text at taht point until i found the problem and what had caused it.
> Deleting this one spurious tag made my problem go away.
> Which leaves me with two concerns:
> 1) The augmentation mode is advertised as creating any necessary non existing files. It does not. Everything works if you simply touch create the necessary files. In my case, doing a not compressed module this was
> touch ot nt ot.vss nt.vss
> I guess this should be straight forward to fix. The error message is one of missing permissions.
I, too, think this should create the files if they do not exist. I don't
think it ever worked that way.
The typical pattern is to not use -a on the first input and use -a on
the subsequent ones.
I think you could have called osis2mod without the -a on each fragment,
if your purpose were to find the trouble spot.
-a has some other short-comings. For example it does not work well with
compression, if at all.
> 2) I think the crash on a spurious and inappropriate tag is probably not ok. A more graceful exit and pinpointing the problematic thing might be a better behaviour. But I know now my problem and am happy as such.
Can you send me an short fragment that causes the problem? I'll add it
to my test cases. (Which I have yet to publish to the wiki.)
More information about the sword-devel