[sword-devel] Import utilities
Greg Hellings
greg.hellings at gmail.com
Sat Jul 26 13:45:08 MST 2008
Troy,
On Sat, Jul 26, 2008 at 3:24 PM, Troy A. Griffitts <scribe at crosswire.org> wrote:
> Greg,
>
> The bad news: I haven't yet hooked heading logic back up in the new
> dynamic versification code. You can probably turn headings off in your
> key and it will work. I'll try to get the heading logic back into the
> new code soon for you.
Ah - unfortunately, I need the headings or things won't work out
properly. I wondered what major changes you were pushing in down
there. I'll just bide my time until you have that all hooked together
before I retest the mod2osis changes and send an updated patch. In
the meantime, there appears to be some issues with the render filters,
so I need to track down whether the proper render filters are just not
being used in mod2osis or if the bug lies with the filters themselves.
Is there a list of which scripture modules come from which import
format so I can test the different inputs? Currently I've just been
downloading and installing modules and then checking the .conf files
to see which ones are non-OSIS.
>
> The good news: the KJV versification scheme is now supplied dynamically
> to the engine and mostly works, thus other versification schemes should
> mostly work as well.
Excellent! Good to hear that this new feature is going being
introduced. I look forward to seeing the new freedom for modules.
--Greg
>
> Greg Hellings wrote:
>> With the latest round of updates to SVN, the patch for mod2osis that I
>> included was broken, so I've set about fixing that. However, it also
>> broke the osis2mod utility, thus making my testing quite difficult.
>> GDB says that the seg fault happens on line 969 of osis2mod.cpp which
>> is the first line below:
>>
>> else if (RawText::createModule(path)) {
>> fprintf(stderr, "error: %s: couldn't create
>> module at path: %s \n", program, path);
>> exit(-3);
>> }
>>
>> However, I'm at a loss as to what is going on here. The program
>> segfaults somewhere in that function call to
>> RawText::createModule(path) and here is the GDB backtrace of it:
>>
>> (gdb) r . kjv.xml
>> Starting program: /home/hellings1/Public/sword-svn/utilities/osis2mod . kjv.xml
>> warning: Lowest section in /usr/lib/libicudata.so.38 is .hash at
>> 0000000000000120
>> [Thread debugging using libthread_db enabled]
>> You are running osis2mod: $Rev: 2183 $
>> [New Thread 0x7f6b5b186710 (LWP 7192)]
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 0x7f6b5b186710 (LWP 7192)]
>> 0x0000000000417c12 in __normal_iterator (this=0x7fff631aadf0, __i=@0x20)
>> at /usr/include/c++/4.2/bits/stl_iterator.h:653
>> 653 __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
>> (gdb) bt
>> #0 0x0000000000417c12 in __normal_iterator (this=0x7fff631aadf0, __i=@0x20)
>> at /usr/include/c++/4.2/bits/stl_iterator.h:653
>> #1 0x0000000000417c3b in std::vector<long, std::allocator<long>
>>> ::end (this=0x18)
>> at /usr/include/c++/4.2/bits/stl_vector.h:346
>> #2 0x0000000000416347 in sword::VerseMgr::System::getVerseFromOffset
>> (this=0xc25868, offset=1,
>> book=0x7fff631aaeb4, chapter=0x7fff631ab00c, verse=0x7fff631ab010)
>> at ../src/mgr/versemgr.cpp:237
>> #3 0x000000000040ebd8 in sword::VerseKey::Index (this=0x7fff631aaf70, iindex=1)
>> at ../src/keys/versekey.cpp:1462
>> #4 0x000000000040c88e in sword::VerseKey::increment
>> (this=0x7fff631aaf70, step=1)
>> at ../src/keys/versekey.cpp:1072
>> #5 0x0000000000412566 in sword::VerseKey::operator+=
>> (this=0x7fff631aaf70, steps=1)
>> at ../include/versekey.h:436
>> #6 0x0000000000412589 in sword::VerseKey::operator++
>> (this=0x7fff631aaf70) at ../include/versekey.h:436
>> #7 0x00000000004222f9 in sword::RawVerse::createModule
>> (ipath=0x7fff631ac6ba ".")
>> at ../src/modules/common/rawverse.cpp:267
>> #8 0x00000000004099bb in sword::RawText::createModule (path=0x7fff631ac6ba ".")
>> at ../include/rawtext.h:47
>> #9 0x0000000000407c4a in main (argc=3, argv=0x7fff631ab5a8) at osis2mod.cpp:969
>>
>> This is almost identical to the seg fault that I had with mod2osis.
>> With that seg fault the error was happening when a call was made to
>> (*inModule) = TOP at the beginning of a for loop to iterate over the
>> entire module. I could skirt the issue in mod2osis by just assigning
>> the key to Gen.1.1, but this is less than ideal, if the module were,
>> say, only comprised of the new testament or some such thing. However,
>> the segmentation fault shouldn't be happening at all.
>>
>> For the meantime, I can check the results using the osis2mod program
>> from 1.5.11, but these should obviously be fixed up.
>>
>> --Greg
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>
More information about the sword-devel
mailing list