[sword-devel] osis2mod segfault

Troy A. Griffitts scribe at crosswire.org
Sun Jul 5 13:01:58 MST 2009


Manfred,

Is there a snippet of the input file that always causes the crash that 
you could send so I could try to debug?

Thanks for looking into this.

	-Troy.



Manfred Bergmann wrote:
> I've tried to debug it so here comes some more information.
> 
> The function stacktrace is like this:
> main()
> processOSIS()
> handleToken()
> sword::ListKey::increment()
> sword::SWKey::operator++
> sword::VerseKey::increment()
> sword::VerseKey::Index()
> [snip...]
> around 130000 of those recursive calls in:
> ----
> initBounds();
> if (i > upperBound) {
> =>    i = Index(upperBound);
>     error = KEYERR_OUTOFBOUNDS;
> ----
> looks like upperBound doesn't get initialized correctly so that another 
> call to Index() happens.
> [snap...]
> sword::VerseKey::initBounds()
> sword::SWKey::setLocale()
> sword::stdstr()
> 
> in stdstr() a EXC_BAD_ACCESS signal is raised here:
> delete [] *ipstr;
> 
> I believe this problem is because the stack is full due to the depth of 
> the recursion.
> The question is why is this recursion happening and why is upperBound 
> not initialized correctly.
> 
> The program runs fine until book Joel. Those are the last lines console 
> lines with debug flag 1|256:
> -----------
> DEBUG(WRITE): Joel.3.2:Joel.3.2: Sogar über die Sklaven und Sklavinnen 
> werde ich dann meinen Geist ausgießen.
> DEBUG(WRITE): Joel.3.3:Joel.3.3: Am Himmel und auf der Erde werde ich 
> wunderbare Zeichen wirken: Blut, Feuer und Rauchwolken.
> DEBUG(STACK): Joel.3.5: push (4) note
> DEBUG(STACK): Joel.3.5: pop(4) note
> DEBUG(WRITE): Joel.3.4:Joel.3.4: Die Sonne wird sich in Finsternis 
> verwandeln und der Mond in Blut, bevor der große und furchtbare Tag 
> Jahwes kommt.
> DEBUG(WRITE): Joel.3.5:Joel.3.5: Dann wird jeder, der den Namen Jahwes 
> anruft, gerettet werden <note n="1" osisID="Joel.3.5!1" 
> osisRef="Joel.3.5">Die Verse 1-5 werden von Petrus während seiner 
> Pfingstpredigt zitiert (). Vers 5 wird außerdem von 
> Pauluszitiert.</note>, denn auf dem Berg Zion und in Jerusalem wird es 
> Rettung geben, wie Jahwe angekündigt hat. Bewahrt wird jeder, den Jahwe 
> beruft.  <chapter eID="gen23315" osisID="Joel.3"/>
> -----------
> 
> Any ideas?
> 
> 
> Manfred
> 
> 
> Am 04.07.2009 um 19:52 schrieb Manfred Bergmann:
> 
>> Hi.
>>
>> While creating an update of a module I encountered a segmentation 
>> fault of osis2mod build of the latest svn HEAD.
>> What do I need to do to help fix it?
>>
>> That's the backtrace of gdb:
>> (gdb) bt
>> #0  0x946bb42c in szone_free ()
>> #1  0x946bb38d in free ()
>> #2  0x00206a0d in sword::stdstr ()
>> #3  0x001f9c4f in sword::SWKey::setLocale ()
>> #4  0x001ffd04 in sword::VerseKey::initBounds ()
>> #5  0x00203f25 in sword::VerseKey::Index ()
>>
>> sword::VerseKey::Index() is repeated until you press CTRL-C.
>> The seg fault might be because of a recursion problem which makes the 
>> stack full?
>>
>>
>> Manfred
>>
>> _______________________________________________
>> 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