[sword-devel] Crash in Sword trunk (svn 3696) on Windows 10

Tobias Klein contact at tklein.info
Sat Feb 8 12:45:32 MST 2020


Hi Troy,

Thanks for looking into this!
I've been using the VS2015 compiler for building Sword on Windows, 
because it works well with the "node-addon-api" (for creating native 
node.js modules). The necessary build tools can even be installed in a 
scripted fashion quite easily with npm (the node package manager) for 
use in a CI scenario.

I am taking the sword.dll on Windows and am dynamically linking it to 
the node.js module I'm building for use in Ezra Project (Electron / 
node.js based). I've been doing that last year successfully for Sword 
1.8.1 (just had to change on thing in swbuf.h, the symbol "nullStr" was 
somehow removed from the DLL).

I haven't touched the Sword build for Windows since then, but now I'm 
integrating the latest unlock features, so therefore I need to rebuild 
Sword. I'll check whether I can debug the crash more and will provide 
you additional information soon!

Have you thought about implementing a Sword CI build for all platforms 
(Windows, Linux, Mac)? This is quite comfortable these days on GitHub 
and now also on GitLab.com. Both offer CI runners for both Windows, Mac 
and Linux. With a CI build for all platforms it would be easier to 
notice compiler errors at the time when they are introduced.

Best regards,
Tobias

On 2/8/20 8:18 PM, Troy A. Griffitts wrote:
>
> Hi Tobias,
>
> I've looked at the revisions you cite below.
>
> The first adds varargs to SWBuf and the second seems to simply fully 
> qualify the icu namespace in the RegEx code which is used if you 
> compile with ICU RegEx support.
>
> Can you give me a bit more information.  I think you might be the 
> first one to try to compile SWORD with MSVS in a really really long 
> time.  I personally still use Borland (now Embarcadero) tools for 
> Windows development and I believe the other projects use some kind of 
> GCC cross-compile or cygwin environment to build.
>
> I would be curious to hear which .conf file is being loaded when the 
> failure below happens.  I'd be happy to valgrind the code if I can 
> reproduce the problem here on Linux.
>
> If you have any more info, I would love to hear.  Thank you for 
> reporting the issue and for your contribution of your time and talents 
> with us at CrossWire the past year or so.
>
> Troy
>
>
> On 2/6/20 11:14 PM, Tobias Klein wrote:
>>
>> Hi,
>>
>> the latest Sword trunk crashes on Windows 10 during initialization of 
>> SWMgr. I built the library using Visual Studio 2015.
>>
>>
>>           EXCEPTION_ACCESS_VIOLATION_READ
>>
>> Fatal Error: EXCEPTION_ACCESS_VIOLATION_READ
>>
>>  *
>>
>>
>>  *
>>     VCRUNTIME140+0x000332d|memcpy|memcpy.asm:668
>>  *
>>     libsword+0x000ce4c|sword::SWBuf::set|swbuf.h:205
>>  *
>>     libsword+0x001a879|sword::SWBuf::{ctor}|swbuf.h:112
>>  *
>>     libsword+0x001a855|std::pair<T>::{ctor}|utility:171
>>  *
>>     libsword+0x001a82e|sword::multimapwithdefault<T>::operator[]|multimapwdef.h:45
>>  *
>>     libsword+0x008d6ff|sword::SWConfig::augment|swconfig.cpp:172
>>  *
>>     libsword+0x00a09f4|sword::SWMgr::loadConfigDir|swmgr.cpp:764
>>  *
>>     libsword+0x00a038c|sword::SWMgr::load|swmgr.cpp:856
>>  *
>>     libsword+0x0092829|sword::SWMgr::Load|swmgr.h:407
>>  *
>>     libsword+0x0092823|sword::SWMgr::SWMgr|swmgr.cpp:412
>>  *
>>
>>     The crash happens in sword::SWBuf::set (see stacktrace above).
>>
>>     After performing the following reverts it does not crash anymore:
>>  *
>>
>>     swbuf.cpp, swbuf.h => svn 3590
>>   * swmodule.cpp => svn 3618
>>  *
>>
>>   * Best regards,
>>     Tobias
>>
>>
>> _______________________________________________
>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20200208/59a622b7/attachment-0001.html>


More information about the sword-devel mailing list